!
!
"
# $%
"
&#' ( ) &#' "!
*+(%&,-+%*
" #$ $ %&
% # $ $ ' $"!$
$ ($ )(*
%#%%&
# ' + ' "
$ # % #! & %# % % ' $$"
,&%#$'%
, &%%"
# $#$ ' -# %!
--#, %!
# !%%$ #$
"# '#$ %!
(. ."
"'!.-/ 0$% 1&
'$2"/(%$%
0$ %34/52"/
'! # -/ # .-/ ! # +$!#-/&
! !#-/ 6 # -/
'."-"5
#-/#+7 . '!%!5 # .-/ . 0 #
"% ,
! % "
'% $ ,!% "&
' 6 1 % 8%! !8
" %!',
#!% % %!%6 &%
# '% $ '%!!"
% 1 ' )
$#*
9 ## #
#:9%9#";3)
!%"*" # # % <
3=>=? 23 ' # % ' %%#
@, &#$(&##%
':3A== "&
:;4A4B "& ;3;;BB " # # # %:>? "
%$%
'&% '"
B44;?" '$?=%
%#$'%
<5(##
&% 0
/ #$%$ %$
#$%'$#%
2011 24th Annual Conference on VLSI Design
& #!& &
$0 $ ) %
$* % )C9*& % )9*&!)*&)D*
! "#
!' #%
"2/ ! ' %'
$!#%"2/
#, "2/
#$
*/01**&(%&.*.(02(."%(3 & % % % $0 "
$ ' ' %!
!$"%"
96!&/!."-"
#"" ,9 $ "
%!& " 7 ' . ).
*9%'6!
"
."-" %.E
F! %'."-"
.E
" &%'F!
F!."-" #.E&
."-" F!%.#&
."-" F!%.#
E' F!
"$ % F! .-/
6 ."-"#$' #$ % # +G4H%% # ' . # ."-"
9 C 3????
=?
# %.
"5D "@@E/"2-B?(2
"
)#* "
)%&*%
"
)%&*% ' >4= B4=4 =I3 D A:? ;4?IB 4=3 D >:> III> I=;
>BA B3:B II;
@ 3:I =;A? 43?
/ >?> AA>I =;:
A=: 3B;? =I4
"5D
"
-2"+E2+J(E1/ (E2
"" )%
* ")#
* C'$ ;I=% ;I:%
F!'$ ;I3% ;IB%
/!'B?
'$ ;I4% ;I:%
"5D
("DE2+J(E1/ (E" )%
* ")#
*
C$ 3A;34% =?34I>%
F!$ ;?=3% B;?I%
/!'B?
$ A=;A% A3:B%
#'9/!
'B?# !# !#'! # .-//!$% # ."-",&7
$ $$
!'
@;C
!"#
!"#
$% &'
#'
'%
"'!-/%#
.# #.-/" )
@;B*.E#6!"
" 5.# #.-/
#"7'!-/#
)@;B*1#-/
# # ' #& " ;4A4 ' ' #.-/)%.
#*/!# !)#*
&"# % # .-/%.#%&"
%#%''%
#),*@:)*&@
:)#*&#%&" $ ."-"F!
C5/!&.#.-/
7 &
$"" ,)#*
("%(#
& $%" # $#$ ' + . ' "
' 5!G:H
%%$ 0 % 6
$ %6, ' , $GBH ' $ %! $
#%0& $
" #6
$%$ #
#$ , #,
$'$# '#$')%$7 6,$*5##"2/
$ ' !
#%6,&%
%%% ' $$
"."-"
%!
'(//./-%',++%*2(."%(3 "#
9 7!;3;?B'
% '##"
D % % "."-""
! $ $ $
%;/5 $#%"2/
;/5 $ +."-"
$ $ ; /5 & % $ 'B?/5 $ $ #% "2/ 9
@:)*$ "
@:)#*$ "
@BF!
(
( )
*
!$"+ ' % !$"
% !"#
% !"#
$ ,
$ % &-
#'
0 " , ! 7 ' $
" $ ."-" % & %
"2/."-"
"2/."-" %!
0 ! ' ."-"
' $ $#%0 "2/
$ $#
."-" #K $."-"
,# ,
% '!-/
."-" #K ."-"
$%7"2/
$ 9 ' ' % ."-"
'."-"#K% (
$."-" '$)."-"
$&."-"#K&."-"$*
."-" "2/ $ "
$."-"#K "2/
$ 5 ' ' ' # K$ 6 $0 #% "2/
$%!#"2/ &"2/
."-" : ."-"
( 0
!$0%
6 " ."-" "2/
%!#K5 $0 % 8."-"
$08 $0
#%;"2/."-"
##$ "2/."-"%
#$ ."-"L/+FL)*
7#! #$ /+FL)*
$&"2/."-"
#!' #$
."-"L/+FL)*
# 9 ' %'$'
" $
5EC/"2E+C. "2"DDD@2"/9(2 & % # % % # ! %!9 M."-"
# ! %! M
% $ ' 9
6 # ! G;H
# ! & M !% 1 '
)*+%(,- . Create input image matrix (imageWdith x
imageHeight) and filter matrix (filterWidth x filterHeight).
2. Initialize input image matrix and filter matrix.
/ 2each pixel in input image matrix 0 2each element in filter matrix 1 calculate result image pixel
value by reading input image and filter values.
2 Store calculated value in result image matrix
; : # 6 ' % ,
$ B 3 , 0
%("
( ."-" " 0 ! #."-"&##$
% ( ."-" %$ "2/
)N 8."-" "2/ 8* 0 M , , " 0 ! % , )% #$
"2/*N8."-" 8C&
#!%% , M , ,9
%0M ,' M ;3,;3 B:,B: @ M 0 OP;3,;3&B=% , $ ,M , $ % % ,
"2/ $ B = %
# '$%"2/) M , 06;3,;3*#%#
2#&."-"
#$# %
M , ."-"$
."-""2/ $
%$&"2/ #%!
B=6 , 3 ,$, ' &
'& ,#$
"2/ $
$ , "2/
$."-"
",
"$ ' M."-"
"2/."-"0 ,#
0!'
% ,&M ,& , "2/
."-"
,
, "2/ ."-"
"2/ ."-" " "2/ ."-"# ! % )@4* ."-"
"2/ ,%
."-"
0' ! )% * , ."-" ,#
, 4 ,# ;= ."-"
6#$!%"2/
6 )=* 6 "2/
6'
% 6&
."-" ' ."-" );3*."-"
# &M "2/ $ )3A* M
"2/ $ B );?;;*
#$
! ,);;;I*"
,&
."-" );:;>*."-"
."-""2/#
);B:4*&."-" M
#"2/ $
@4 ( @)*
@4 ( @
(.#,/+#
9' 0 34,34,=;:,=;:
, $ M)@=3*9%
M0;3,;3,B:,B:,
% #%6 @M0;3,;3, 034,34,)@3*&%;?>A
%'$##&!
0 )!%
0 *!'!
)!% * " # 6N& 1 ' &%%! , 0
!' % %'#"%
0M0& M 0 ! '@ 0)=;:,=;:,*M 0 )B:,B:* & % );=A3 *
@39 0M0&
M%#$$
6 )@=* 5$
@3 % @=& % M%#$$%
', ", M0B:,B:, 0=;:,=;:,&
:BQ$%#"2/
) ;4?A;4%"2/;?A=44
%#"2/ * -%*-/,#%*
E!#
% ' /'& "2/ ! 0($% " ! # ' %!"
# 1'##' %$ % & % % ' $ $
"& %!
% '$ "
(.2.(.*-.#
G;H "&D&R "
$ 8 &B==>S3I&:??:
G:H 5! R/
8/2(BI BI<"/
$ /&BSB&9&
&1"&:??4 $
GBH 2+/ R($0&
&$ 8 #
$&:;)B*B4:SB=B&:?;?
G4H +&/ &E-K$!&/%R #
# ! # K'8 9! 0&
:??:99=:??:9!&I;SA?&
:=:??:
@=$ @
@3 @
( * . ( * *
/0# &1 2 3(4(
/056#
&1 2 3(4(
/0# &1 2 34 /056#
&1 2 34
" 2
# '
( * . ( * *
(
*
- 7,
/0&1 2 3(4(
- 7,/056&
1 2 3(4(
- 7,/0&1 2 34- 7, /056&
1 2 34
" 2
-789 '