Florida State University Libraries
|
|
- Hector Palmer
- 5 years ago
- Views:
Transcription
1 Florida State University Libraries Electronic Theses, Treatises and Dissertations The Graduate School 2010 FPGA Implementation of Digital Filters Using MCM Abhijit Patil Follow this and additional works at the FSU Digital Library. For more information, please contact
2 ! "#$%!&'($(#'#%!"$%)%$%) %"#$#'&'&''%!& $*$%&!$ )$!& #$!&(%( )$+#$, $$-./0/
3 $!&(!#""$!1!&2#' &%!%#3-./0/ % #5$%%$ $!&!$$(%) (!$$%%$!$ %)!$ ""$!1, (!$$%%$-#$-"#$%!&'($(#'#%!"$%)%$%) %)6%%-#%-6!'')!&%)%$%) $# #(!!'#1$& #% #""$!1 #!16%# (!$5
4 +!' '7!8"$ "#""$(#!%!# 1$$5% #5$%%$- +!) #%(- ""!$#% %(!$#)%&$! 1$ #$' #)!& $#$(! &%#''1''"!#((!"'+!$75!1#''#%!"!$#%!+ &#% +% +#%!)%)$'5!%$#! &&$%+#!#""$!#(#$#$( "$!' #% %! "$%! #((!"' #% )!#'5 9! $ ) #%( #% "$%'"+!' #1%!"!'5 #%!$!$#%7%!+5 )$#&''#%7(!$$5(!$$%%$#% $-%)-+! )#1%)&'(!%#% $1+ +!$7!%#1$!$%!(5$($(#'(!% '"!#7!$1#'#'5 +!' '7!#%7'##(7!%#% $(#"$!%&!$"$!1 %)##%(+!(%#!%#% #'''""(#''#%!&#$5 +!' #'!'7!#%7 &$% #% $#$()$!"&!$$!$#'""!$5 #'-!&&$$)#$ #% '%)!#''!&!+!""!$ %#%$"( $%)(!"'!%!&"$!2(5
5 '#6)#!%1$$ )#''$ : 05:'"'!%#%'"'(#!%;< ' $!)$##'#$$#;< = 05>$)#%?#!%& @ A.50$!'#%!$ A.5.&&$%')!$&!$!'1%)$!' ''6#$$!(7! & ')!$;< %6%!%#' ( # $)$#";6%< :.5.5: >.5:&&$%( $$#" =.53!"#$!% A : :50$($#% )% :5."!%!&'$ :5:!&'"'!%#%'"'(#!%! "'%!!"'$ > A 350 "'%#!%!&+#$ A 1
6 35.#$)1(,B'%8$ :/ 35: "'%#!%(%* :3 35:50'$+)"$&!$#%( :C 35:5.'"'$# )% :C 353'#!%#% )%!&'$% :C 35350)% :C 3535.'#!% / 3535:%#'!&"'%#!% >&&(!&!%'$ "'%#!% A >5 9D >3 B >> B = CC D @0 1
7 )$050)#'#$(($&!$ '#6)#E.F )$05.'$"$!( : )$05:$!&'"'(!%#%'"'(#!% = )$053$(($!&E:/F C )$05> % #$(($!&(!%&)$#''!)('!(7E:/F @ )$.50'"'$'!( / )$.5.$#%"! &!$!&#% &'$%)'"'$'!( )$.5:#'?#!%!&(!&&(%G0-C-@-.:-3:H%) : )$.53#'?#!%!&(!&&(%G0-C-@-.:-3:H%)6% )$.5>$#"#&$$#'?#!%!&> @ )$.5=&$$)%)%! >#% C> A )$.5C$#"!+%)# $I&(!&!$ &&$%#')!$ / )$:50$#%"! &!$+0AA(!&&(% )$:5.'"'$'!(7 )%E:>F : )$:5:$*%($"!%!&'!!"&'$ )$3503@'(!%#%%)+!3@'(E0CF :0 )$35."'& 3@'(! 'E0@F :: )$35:$$#%)%!&'(%E0CF :3 1
8 )$353!%1%!%#'"$!(!$;$#'<E:.F := )$35># ;#$#'''<E:.F := )$35C $$ ($"!%'!)(#!% :A / )$35A' %)'!(7%'#!%"$!( )$350/'#!%$'&!$0AA(!&&(%&'$ )$3500$#'?#!%;%J<$#)6&!$+#$ )%#% "#$ )% : )$350.$#'?#!%;%J<&!$0AA(!&&(%&'$%)#% )$350:% > )$3503#'$)$$"!$ = )$350>''#) C )$350=%)(!%$#% )$350C1('?#!%#$ &'$ A )$350A(#(!&&'$ >/ )$35./$#'?#!%;%J<&!$00(!&&(%&'$ >0 )$35.0$#'?#!%;%J<&!$.>(!&&(%&'$ >. )$35..$#'?#!%;%J<&!$>0(!&&(%&'$ >. )$35.:$#'?#!%;%J<&!$0/0(!&&(%&'$ >: 1
9 1 #'.500/%!%6?$!(!&&(%!&'!!"&'$#% %)$$"$%#!% A #':50!&&(%#% *#%? (!&&(% #':5.! #% $$"(1 &&$%(I$"$%#!%!&)$#" = #'350$!&'("$&#'$E0CF :. #'35.)%#$&!$00(!&&(%)"#&'$ >0
10 "'%#!%!& )#'&'$ % ' $!)$##' # $$#;< $*$ #%'"'$-+( $('$'#!"'%#!%(!5$#$( 1!!+#$ &&(% "'%#!%!& )#' &'$ % %) '"'!%#% '"'(#!%;<5$+!$7$'%$ (%)#$#$*$!"'% )#'&'$ $ ( %$!&!%&)$#'!)('!(7;<#)5'"'(!%#%'"'(#!%! $#'? # %$!& (!%#% '"'(#!% %) % %$!& # $I $#(!$#% &5'"'$'!(7(#% )% %) &&$%#')!$5 $#$( %1!'1 %) 1#$! #')!$ #% $ &&(!% )#' &'$ "'%#!%%5$#((#'"'%#!%!&&&$%( $$#"; < #')!$8"'!$ %+!$75#$(#'!%(' &&(%"'%#!%!&'!!" &'$&!$ '#6)#(!%1$$&!$%! #"%) % ("5 '!#% % +!$7!+## &+$%$!&# $! )%#'"'$'!(7&!$!$'!!" &'$ #%!$ #')!$5 B'%8 $863 # #$) 1( &!$ "'%#!%!& '!!" &'$5 $863 1( "$!1 # )!! "'#&!$ &!$ #""'(#!%5 "'%#!%!& 1#$!!$ $ )"# &'$#$#'!#%#'? % +!$75 )"# &'$#$ )% % %) #')!$#% #$ %? %) $863 ("5 ' #(1 $!) $#$(!+ # "'%#!%!& )#'&'$%)$'%)%&(#%#$##1%)5 8
11 ! "! #! $ %!! &'( "&'( #! &'(! &'( ) ) * + ),+ --. ) ) ). + +/ $ ) ( 012 +/ +/ +/ /
12 +/ +/ "#)5 +/"#) "# $ +/ 6 +/ +/ +/ + + "# 789 1
13 +/ ( 1 13 * "# "# ) + :
14 "1# "# )4"# "# ) << )-/ +/ = +/ "# +/ /!"!"#$ % ( $& 4! + + / ) /!! % = % ) ( %! ) ) 4 ) ) >!?. 0<2) (' 0@2).> 0A2 ;
15 ('0:2C (' D (' (' (') ) / ( / / / / /- (' = + 4 ) ) /! )4/ E:A)1)<)-F: 4 :A4)14)<4-4$G)$G1)$G:$G; ; :A4)4 ; H4 14:A4/:A4)14)<4)-4 + :A4I;JJ4K":JJ4K""1JJ4K4#K:JJ4##":# 14I:JJ4K""1JJ4K4#K:JJ4#";# <4I"1JJ4K4#K1JJ4"B# -4IJJ"1JJ4K4#"H# 7JJ9 B
16 :3 &'()*$)% "&'( # ">G#) L>G &'( ($! &'( ($! 4 &'( M4L4; &'( "!G. #) %=!G. &'( )!G. "G?$# ( &'( & &'(!G. ; &'(%= H
17 ;3(&'(0:-2 B (!G. ))?M B ;) H ( B ) 4 4 A
18 B3 0:2 $ &'( $&M4 &'($& L4M4$6 0H201H201A2 +,-. /!1 + +! 4) >!?.(' (4 * ('!: ('C (G(.!; &'(
19 //0 // "! # + $ 4! "! # 4 +! D + ) 4 ) 4.> )(')>!?.('* >!?.(' 4 ('. ('* / ) + ) " # /! "! # (! 1 L 4!)!1)!:N!!4)!14)!:4N!4 <
20 13? ) + ) ) + 0<23 # 1#! 4 :# ( ;# 3 + +! $ "!$#.9 ( ). 0<2 -
21 !$6 ) ) 4 4!$!$ / ) $)9 4, ( + 0H2( 4 0@2 4!$6 / / + / >! (0: ( 1!#2 '-'.$1 %. > ".>(# 0H2! $ "!$#. > (0H2 3) ( ( (%
22 (% (% % 4 ) % % 0A2 ) $! "$! # 11 1: / E)A)@)1:);:F.> 113 1
23 1:3/ 0A23 & 4.> )!$ 1 &.> :!.> '!#''')".$)% ('"('#! 3 ) / / :
24 ('.>(.> ('.>(.> G ;-<H (' )? ( /( ( ) 1; / E)A)@)1:);:F : 1;3/ E)A)@)1:);:F (' ( 4 / ;
25 > / 1 + / / ) / ) ) 1 >!?.0<2 >!?. (' =.> (' < >!?. ('< < 0<2(' < >!?. 3 ('D (' ) 4 >!?. >!?.) (') = /) ) + C ) ( * G(' >!?. B
26 ) 4/+ "$! # 34 )> (M. ) >!? ) ( ( + ) ) + 4 )> (M. 4/ + ) >!?.) + 4O/ + >!?. (' :1-- ( 1-P ('0:A2 --#'')". ( (' (' "('# 0:2 (' (' + (' (' 4(' >!?. 0:2('>!?. (' (' 3 ( 1) 3 / + / / H
27 +/C+. + ) / / ) 1 L L1 + / + / / )+1+ / ) + ) + ) + + /4 ( + = / ( ( +1L L1 + + ( ) / / * / /) /4 (/ / ) +! "!$# / + + (+ ) +1! 4 EB) AB) -BF ) ) B/1QKIB+ A
28 1 B) AB) -H)BAB)B-B C ( / + =+ $B / ) + / ( 1B 1B3'/B,4BAB $B / AB/ ) ( ) /)
29 1H3( BAB &" 1A / B 1 13-/ ---- :1B -@AA -1B: -1B< --B1H --1H --B ---; ---;: :1AH@ ;:--@ HB- A-BB ;1B ;<B :; ;- (' A 1: 1; >!?. : 1 (' H <
30 1A3' % 1-
31 // = "# << = / /C! 4(' ( 4 = (' % H 0!#!' %( (% ) 02012= = 02! (, G",G# << -/ $ / : -/!$" # - 3 1
32 :3!!$+/ ; :@ A1 - <@ = ---- :1B -@AA -1B: -1B< --B1H --1H --B ---; ---;:!$ +/ ;:--@ HB1 A-BB ;1A ;<H :; ;- : << 4"# "# -<@ :3 << (' ) 3 R S - R S ( <A ) / 11
33 /<<, ) :1 (G(.,G /! C 4 (' :13 0:B2 1:
34 "-. C (G(. C + ) :: +! ::3+ 1;
35 -!"!"#"./" C ('! ( ) 3/ + / + ) / C +/ ( & 3E::B;1A<::;1BAAH<@BB;:B<A-BBF ( + 1 $) C /) /) :1,, ) :1 (G(.0:H2 1B
36 '2 : : : : : : : : : :B :B :B :B :B :B :B :B ;1A :13, % ' --#(3'2'' : )B)1:)1A)1< :B :)<)A):)::)<)1A)1< ;1A :)1<);-<B)1-H:)1-A<);-H:);-HB);):-:):HB):@A):<<<);<);1:);1B <: 1:)1<):B);A)H)AA)@B)@<)< 1BA )1<)1BB)<:)11B)1;)1;<)1B: AH< -A)H<):;:);1A)B<<)A1A)A<)@1:)@:<)@;A)@B)@B: ;: 1A)@)AB)1B):-:):HA):<<);B);1:);1A);1< A-BB ;;):A)A-:<)1<B<):B1A)B--A)H-:)H<1A)A-1:)A-;A)HB;:)HA<<)H<<)A-B)A-B: :B )::)1A ;1A )B<)1-A<);-HB)1;:)::B):@-<):H:):@A<);--: <: : :; <:)BB)1A)1A< 1BA <):)::)1:<)<B AH< :A)-:);;:)H-A):B<)A:)A<: ;: HB)1B)@:)1:):H<):-A A-BB ;:<)@@):-@A):B;:)B-A)H-H:)HBB<)H<:)H<<:)H@-A ;1A -1:)1-@):B:)@@A):--A):BHA):@;A);-BA):<@A <: )1:)1<);A :; ;A)H)1A)B:)1-)1< 1BA 1:)A:))A)@A AH< 1HB)BAB)1<B);;B)A@B)1-B)AB ;: 1<)<<)B)1::)1<):H A-BB <-B)1BAB)ABB):B;B)H<B);@B)B<:B)H;<B)HAAB)H<@B <: -BB)B)1-A)@1B)1H:<):<;)::@:):ABB 1H
37 '2 ;1A ;1A ;1A ;1A ;1A ;1A <: <: <: <: <: <: :; :; :; :; :; 1BA 1BA 1BA 1BA AH< ;: :1 ' --#(3'2'' :; 1BA B);-<A):A)<:B)1-A):-<<):H: ;-<)A-A)1;A)1;<)1A: ;: 1:)HA<)11A<):1HB)1;-:)1AH< :; :)BB)1A 1BA ;)A)B)AB ;: B<):)H<)1;B):: A-BB 1BA 1BA)B-<)A:)1<< ;: <:)1B);B A-BB AH< :<)A:)1<<):; ;: A-BB ;: AB)<:)H< A-BB ;: A)B:)H;: A-BB 1B)AAB):<BB)B:;B)HH1B):H:B A-BB B<)1-A):H-A):A;:)H<:)HA:A)B:: 1A
38 = :1 4) : E)B)1:)1A)1<F :B E:)<)A):)::)<)1A)1<F $:B/) :B / ( + /, 3E::B<:1BA:;;:AH<@BB;1AF ( + / )/ + H 1; )(' A 1 >!?. : 1 / / 3E::B;1A<::;1BAAH<@BB;:B<A-BBF 1@
39 & ) / &'( "&'( # $& 4) M4L4;&'(! "! # L4; $& $&;@ C! *! $&;@ / % )$&;@! (! $&;@ ) /! &'(! / $&;@ 4 -)1;)B--- & "0-3 M4$6- $ $6 M4) $ M4$6 )G ) ) CL>G M4$6 C %= & %= ) 1<
40 ) *( C ) C ( ) /) ))( ) ( )%= ) ) G? ) ( ) &'(? M4 O('0<2 뉬& C M4L4;, G L4; ($! 4 4 L4; GM)$MML4;GM ) $M )M 0@2. $& L4;$M L4; ) ) ( 0H2 $&;@ &'( + 6 $& % 4 9 ;@ 4 4 D 9 :H)9 ( ;@9 ;@! $& &'( L4; ) :-
41 L4; $& & $& $& / L4; $&;@ / $& 4$& ;0A2; $& M4L4; ;3$&;@$&;@ 0A2 :
42 ;3,$& 0A2 M!;LGMB :1 M!;LGM1B M!;LGM;- H; M!;LGMH- M!;LGM-- <H M!;LGMH- <H M!;LGM1-- <H M!;!$M1B ; ; M!;!$M:B ; M!;LM1 :1 M!;LM1- :1 M!;LM;- ;@ M!;LMH- 1@ 1 M!;LM-- H- 1 M!;LM;- <1 1 ;1 $&;@ =& =6 ;@ 4 : % :H4 4 ;@. 1 =& =6)$?.(!)!(U,$6G)!,;1)(.@! ;@ $&;@ & ;@$&;@ :1
43 L4; L41$:.( ) + C :1VT ( * ( 4 ( ) 44( + )!G. "!G. # 6!G. $G!6G )$G!6 ) 4) ) =$G!6 6!G. 4 ;:!G.0H2 ::
44 ;:3(!G.0A2 ;"G? #L4;&'( (;. ; L4; &'( 4 ) 4)!G.!G.!GV) % 0A2 0@2 &)"#.8! ) ) "($!#) &'( LG$ &'( :;
45 ) &'( $& )($! 401H201A2 $& " (!#) (! >) (! &'(. &'( + ) &'( (! 4 ( / &'( ;;;B $& &'( C << 4! $& $&) << << (&'( << :B
46 ;;3!$& " #0:12 ;B3&'( $&"& #0:12 :H
47 & 3..."-# > +. ) > &'( + 01H2 &!"('' ( $ ) &'( ) ) ( G? G? +!G. "!G. # ) ) % 01H2 &&0!'-7/ && *C! L4;! 789 L>G M4$6! )! % L>G (G(. L>G) + +/ :A
48 ) L>G) 19! C (G(. L>G (G(. 3 3 ) )!"#"3 4 ) $3. $3.4 (G(., G (' ) ) ) ) ) ) ) (4( ;H L>G 4 ;H36 % ;A L>G ('! :@
49 7$M9 4 $ :W 1HW D (! ) ;A ;A3( (' ;A ( ;@) :<
50 / &&0! $ ) )4 ;-
51 ?, G $ ;<( ) C $ ;<3. ) C (G(. = ) / (G(.64+ ) ;
52 + ;- $ $ M4$6 C ) ;-3$ << $ ( 4) + ) ' ) 40B2(!G. ;G?$ C! &'( ;! $ ;1
53 ;3(/"P#! ; /!! $&;@ ) ;! )! ('! ;1 >!?.(' (') >!?. ;:
54 ;13(/"P#<< >!?.(' &&*-" ;: >G % 111B H ;;
55 ;:3>G ;; ;-1 : = ;1 D G? ;B
56 ;;3 ;B M4$6 ".6G$# B:%=9 4 ( H ;H
57 ;B3! ;H :A<: :B1A -1HH ;A / + :1<)!G. $G!6 < ;A
58 ;H3 ;A3/
59 &+--#- "! &'($!, )$& ) 4 /! 4 C ) C >!?.0<2! ( >!?.0<2 <! L>G % ;@ ;<! ) ;@ );< ;@3G ;<
60 ;<3G! ;1 $ - ( )! //$&;@ ;1- /! ); -) 1;)B---&'(!! ;1 ;1:( ) ( )! B-
61 ;13! %P $ ( %P, $ ;B<%:P 1B1%1P 1)1@@, ; <;@%AP )1;-%-P 1)1@@ G?, H);; $, ;@%1-P ;@%1-P 1;- =., % % :1.?'%.?'!G ;1-3(?/"P# B
62 ;13(?/"P#1B ;113(?/"P#B B1
63 ;1:3(?/"P#- L>G &'( 4 6! 4 / B:
64 + /009: )! C +! (' + (' >!?. (' ('.> (' >!?.! &'( &'( $& &'( $& ) $& L4; $& )$&;@! &'(! $&;@ C! (! + /)! C )! &'(! ) $&;@ / ) B;
65 5 7/// library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity matlabfilter is Port ( clk : in STD_LOGIC; e : in STD_LOGIC_VECTOR (17 downto 0); x : in STD_LOGIC_VECTOR (15 downto 0); y : out STD_LOGIC_VECTOR (17 downto 0)); end matlabfilter; architecture Behavioral of matlabfilter is -- Add Signal Declarations signal t1_sig : std_logic_vector(15 downto 0); signal t2_sig : std_logic_vector(17 downto 0); signal t3_sig : std_logic_vector(13 downto 0); signal t4_sig : std_logic_vector(15 downto 0); signal t5_sig : std_logic_vector(13 downto 0); signal t6_sig : std_logic_vector(13 downto 0); signal t7_sig : std_logic_vector(13 downto 0); signal t8_sig : std_logic_vector(15 downto 0); signal t9_sig : std_logic_vector(11 downto 0); signal t10_sig : std_logic_vector(11 downto 0); signal t11_sig : std_logic_vector(15 downto 0); signal t12_sig : std_logic_vector(16 downto 0); signal t13_sig : std_logic_vector(15 downto 0); signal t14_sig : std_logic_vector(15 downto 0); signal t15_sig : std_logic_vector(11 downto 0); signal t16_sig : std_logic_vector(12 downto 0); signal t17_sig : std_logic_vector(13 downto 0); signal t18_sig : std_logic_vector(14 downto 0); signal t19_sig : std_logic_vector(15 downto 0); signal t20_sig : std_logic_vector(16 downto 0); signal t21_sig : std_logic_vector(17 downto 0); BB
66 signal t22_sig : std_logic_vector(17 downto 0); signal t23_sig : std_logic_vector(17 downto 0); signal t24_sig : std_logic_vector(17 downto 0); signal t25_sig : std_logic_vector(17 downto 0); signal t26_sig : std_logic_vector(17 downto 0); -- Shift Register Type Declarations type shiftreg_t3_2 is array (0 to 1) of std_logic_vector(12 downto 0); type shiftreg_t4_3 is array (0 to 2) of std_logic_vector(14 downto 0); type shiftreg_t9_18 is array (0 to 17) of std_logic_vector(10 downto 0); type shiftreg_t10_2 is array (0 to 1) of std_logic_vector(10 downto 0); type shiftreg_t11_2 is array (0 to 1) of std_logic_vector(15 downto 0); type shiftreg_t15_30 is array (0 to 29) of std_logic_vector(11 downto 0); type shiftreg_t16_43 is array (0 to 42) of std_logic_vector(12 downto 0); type shiftreg_t17_37 is array (0 to 36) of std_logic_vector(13 downto 0); type shiftreg_t18_33 is array (0 to 32) of std_logic_vector(14 downto 0); type shiftreg_t19_26 is array (0 to 25) of std_logic_vector(15 downto 0); type shiftreg_t21_6 is array (0 to 5) of std_logic_vector(17 downto 0); -- Register Signal Declarations signal t1 : std_logic_vector(15 downto 0) := " "; signal t2 : std_logic_vector(17 downto 0) := " "; signal t3 : shiftreg_t3_2 := ( " ", " "); signal t4 : shiftreg_t4_3 := ( " ", " ", " "); signal t5 : std_logic_vector(12 downto 0) := " "; signal t6 : std_logic_vector(12 downto 0) := " "; signal t7 : std_logic_vector(12 downto 0) := " "; signal t8 : std_logic_vector(15 downto 0) := " "; signal t9 : shiftreg_t9_18 := ( " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", BH
67 signal t10 : shiftreg_t10_2 := ( " ", " ", " ", " ", " ", " "); " ", " "); signal t11 : shiftreg_t11_2 := ( " ", " "); signal t12 : std_logic_vector(15 downto 0) := " "; signal t13 : std_logic_vector(15 downto 0) := " "; signal t14 : std_logic_vector(15 downto 0) := " "; signal t15 : shiftreg_t15_30 := ( " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "); BA
68 signal t16 : shiftreg_t16_43 := ( signal t17 : shiftreg_t17_37 := ( " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "); " ", B@
69 signal t18 : shiftreg_t18_33 := ( " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "); " ", " ", " ", " ", " ", " ", " ", " ", " ", B<
70 signal t19 : shiftreg_t19_26 := ( " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "); " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", H-
71 " ", " ", " ", " ", " "); signal t20 : std_logic_vector(16 downto 0) := " "; signal t21 : shiftreg_t21_6 := ( " ", " ", " ", " ", " ", " "); signal t22 : std_logic_vector(17 downto 0) := " "; signal t23 : std_logic_vector(17 downto 0) := " "; signal t24 : std_logic_vector(17 downto 0) := " "; begin -- Process to register adder outputs and implement shift registers reg_logic : process(clk) begin if (rising_edge(clk)) then t1 <= x; t3 <= t3_sig(t3_sig'length-1 downto 1) & t3(0 to 1-1); t4 <= t4_sig(t4_sig'length-1 downto 1) & t4(0 to 2-1); t5 <= t5_sig(t5_sig'length-1 downto 1); t6 <= t6_sig(t6_sig'length-1 downto 1); t7 <= t7_sig(t7_sig'length-1 downto 1); t8 <= t8_sig; t9 <= t9_sig(t9_sig'length-1 downto 1) & t9(0 to 17-1); t10 <= t10_sig(t10_sig'length-1 downto 1) & t10(0 to 1-1); t11 <= t11_sig & t11(0 to 1-1); t12 <= t12_sig(t12_sig'length-1 downto 1); t13 <= t13_sig; t14 <= t14_sig; t15 <= t15_sig & t15(0 to 29-1); t16 <= t16_sig & t16(0 to 42-1); t17 <= t17_sig & t17(0 to 36-1); t18 <= t18_sig & t18(0 to 32-1); t19 <= t19_sig & t19(0 to 25-1); t20 <= t20_sig; t21 <= t21_sig & t21(0 to 5-1); t22 <= t22_sig; t23 <= t23_sig; t24 <= t24_sig; H
72 end if; end process; y <= t25_sig; begin -- Process to register adder outputs and implement shift registers reg_logic : process(clk) begin if (rising_edge(clk)) then t1 <= x; t3 <= t3_sig(t3_sig'length-1 downto 1) & t3(0 to 1-1); t4 <= t4_sig(t4_sig'length-1 downto 1) & t4(0 to 2-1); t5 <= t5_sig(t5_sig'length-1 downto 1); t6 <= t6_sig(t6_sig'length-1 downto 1); t7 <= t7_sig(t7_sig'length-1 downto 1); t8 <= t8_sig; t9 <= t9_sig(t9_sig'length-1 downto 1) & t9(0 to 17-1); t10 <= t10_sig(t10_sig'length-1 downto 1) & t10(0 to 1-1); t11 <= t11_sig & t11(0 to 1-1); t12 <= t12_sig(t12_sig'length-1 downto 1); t13 <= t13_sig; t14 <= t14_sig; t15 <= t15_sig & t15(0 to 29-1); t16 <= t16_sig & t16(0 to 42-1); t17 <= t17_sig & t17(0 to 36-1); t18 <= t18_sig & t18(0 to 32-1); t19 <= t19_sig & t19(0 to 25-1); t20 <= t20_sig; t21 <= t21_sig & t21(0 to 5-1); t22 <= t22_sig; t23 <= t23_sig; t24 <= t24_sig; y <= t25_sig; end if; end process; -- Adder Tree Description Logic --e <= e1; t2 <= e; t3_sig <= sxt(t2(17 downto 4), 14) - sxt(t2(17 downto 9), 14); t4_sig <= sxt(t2(17 downto 3), 16) + sxt(t2(17 downto 11), 16); t5_sig <= sxt(t3(0)(12 downto 0), 14) + sxt(t3(0)(12 downto 1), 14); t6_sig <= sxt(t5(12 downto 1), 14) + sxt(t3(1)(12 downto 0), 14); t7_sig <= sxt(t6(12 downto 0), 14) + sxt(t4(2)(14 downto 1), 14); t8_sig <= sxt(t2(17 downto 2), 16); H1
73 t9_sig <= sxt(t3(0)(12 downto 2), 12) + sxt(t8(15 downto 8), 12); t10_sig <= sxt(t3(0)(12 downto 4), 12) + sxt(t8(15 downto 5), 12); t11_sig <= sxt(t4(0)(14 downto 0), 16) + sxt(t8(15 downto 1), 16); t12_sig <= sxt(t3(0)(12 downto 4), 17) + sxt(t8(15 downto 0), 17); t13_sig <= sxt(t5(12 downto 0), 16) + sxt(t11(0)(15 downto 0), 16); t14_sig <= sxt(t13(15 downto 0), 16) + sxt(t10(1)(10 downto 0), 16); t15_sig <= sxt(t9(17)(10 downto 0), 12) - sxt(t6(12 downto 1), 12); t16_sig <= sxt(t3(0)(12 downto 1), 13) + sxt(t15(29)(11 downto 0), 13); t17_sig <= sxt(t16(42)(12 downto 0), 14) - sxt(t7(12 downto 0), 14); t18_sig <= sxt(t17(36)(13 downto 0), 15) - sxt(t13(15 downto 2), 15); t19_sig <= sxt(t18(32)(14 downto 0), 16) - sxt(t12(15 downto 0), 16); t20_sig <= sxt(t14(15 downto 0), 17) + sxt(t19(25)(15 downto 0), 17); t21_sig <= sxt(t20(16 downto 0), 18) - sxt(t11(1)(15 downto 0), 18); t22_sig <= sxt(t2(17 downto 0), 18) + sxt(t2(17 downto 2), 18); t23_sig <= sxt(t1(15 downto 0), 18) + sxt(t21(5)(17 downto 0), 18); t24_sig <= sxt(t23(17 downto 0), 18) - sxt(t2(17 downto 4), 18); t25_sig <= sxt(t24(17 downto 0), 18) - sxt(t22(17 downto 0), 18); end Behavioral; H:
74 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; 51 7/ / entity HPFilter is port( xt: in std_logic_vector(15 downto 0); yt : out std_logic_vector(31 downto 0); clk, reset: in std_logic); end HPFilter; architecture Behavioral of HPFilter is constant L:integer:=198; constant o16:std_logic_vector(15 downto 0):=" "; constant o32:std_logic_vector(31 downto 0):=" "; type vec is array (0 to L) of std_logic_vector(15 downto 0); type vec1 is array (0 to L) of std_logic_vector(31 downto 0); type vect1 is array (0 to L-1) of std_logic_vector(31 downto 0); function lut2(data_in: std_logic_vector(15 downto 0)) return vec1 is VARIABLE Y: vec1; VARIABLE w1,w16,w17,w128,w111,w32,w31,w124,w141,w4512,w4653,w144384,w ,w2048,w2079,w16632,w16633,w7104, w151519,w28416,w123103,w37224,w160327,w32768,w118751,w66532, w52219,w14208,w288830: std_logic_vector(31 downto 0); begin w1 := SXT(data_in,32); w16 := (SHL(w1,"100")); H;
75 w17 := w1 + w16; w128 := (SHL(w1,"111")); w111 := w128 - w17; w32 := (SHL(w1,"101")); w31 := w32 - w1; w124 :=(SHL(w31,"010")); w141 := w17 + w124; w4512 := (SHL(w141,"101")); w4653 := w141 + w4512; w := (SHL(w1,"1010")); w := w31 + w144384; w2048 := (SHL(w1,"1011")); w2079 := w31 + w2048; w16632 := (SHL(w2079,"0011")); w16633 := w1 + w16632; w7104 := (SHL(w111,"0110")); w := w w7104; w28416 := (SHL(w111,"1000")); w := w w28416; w37224 := (SHL(w4653,"0011")); w := w w37224; w32768 := (SHL(w1,"1111")); w := w w32768; w66532 := (SHL(w16633,"0010")); w52219 := w w66532; w37224 := o32 - w37224; w14208 := (SHL(w111,"0111")); w14208 := o32 - w14208; w := o32 - w160327; w := (SHL(w144415,"0001")); Y :=(0=> w37224, 1 => w52219, 2 => w66532, 3 => w14208, 4 =>160327, 5 => w288830, 6 => w160327, 7 => w14208, 8 => w66532, 9 => w52219, 10 => w37224, others=>o32); return Y; END lut2; BEGIN process(clk) variable x : std_logic_vector(15 downto 0); variable ym:vec1; variable v:vect1; begin if reset='1' then x:=o16; ym:=(others=>o32); HB
76 v:=(others=>o22); yt<=o32; elsif clk'event and clk='1' then x:=xt; ym:=lut2(x); yt<=v(0)+ym(0); for k in 0 to L-2 loop v(k):=v(k+1)+ym(k+1); end loop; v(l-1):=ym(l); end if; end process; end Behavioral; HH
77 7/+/ library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity HP_filter_24 is port( xt: in std_logic_vector(15 downto 0); yt : out std_logic_vector(31 downto 0); clk, reset: in std_logic); end HP_filter_24; architecture Behavioral of HP_filter_24 is constant L:integer:=24; constant o16:std_logic_vector(15 downto 0):=" "; constant o32:std_logic_vector(31 downto0):=" "; type vec is array (0 to L) of std_logic_vector(15 downto 0); type vec1 is array (0 to L) of std_logic_vector(31 downto 0); type vect1 is array (0 to L-1) of std_logic_vector(31 downto 0); function lut2(data_in: std_logic_vector(15 downto 0)) return vec1 is VARIABLE Y: vec1; variable w1,w8,w7,w16,w23,w64,w41,w56,w79,w184,w177,w316,w275,w2048,w2089,w44 8,w449,w393,w46,w495,w1796,w1301,w47104,w47183,w45882,w22941,w7184, w9273,w9548,w2387,w164,w632,w1618,w1619,w708,w990,w4774,w8356: std_logic_vector(31 downto 0); begin -----Adder Logic w1:=sxt(data_in,32); w8:=(shl(w1,"011")); w7:= w8 - w1; w16:=(shl(w1,"100")); w23:= w7 + w16; HA
78 w64:=(shl(w1,"110")); w41:=w64 - w23; w56:=(shl(w7,"011")); w79:= w23+w56; w184:=(shl(w23,"011")); w177:=w184-w7; w316:=(shl(w79,"010")); w275:=w316-w41; w2048:=(shl(w1,"1011")); w2089:=w41+w2048; w448:=(shl(w7,"110")); w449:=w1+w448; w56:=(shl(w7,"011")); w393:=w449-w56; w46:=(shl(w23,"001")); w495:=w449+w46; w1796:=(shl(w449,"010")); w1301:=w1796-w495; w47104:=(shl(w23,"1011")); w47183:=w79+w47104; w45882:=w47183-w1301; w22941:=(shr(w45882,"001")); w7184:=(shl(w449,"100")); w9273:=w2089+w7184; w9548:=w275+w9273; w2387:=(shr(w9548,"010")); w164:=(shl(w41,"010")); w184:=(shl(w23,"011")); w7:=o32-w7; w393:=o32-w393; w632:=(shl(w79,"011")); w632:=o32-w632; w275:=o32-w275; w708:=(shl(w177,"010")); w990:=(shl(w495,"001")); w990:=o32-w990; w4774:=(shl(w2387,"001")); w4774:=o32-w4774; w8356:=(shl(w2089,"010")); w8356:=o32-w8356; Y:=(0=>w164, 1=>w184, 2=>w7, 3=>w393, 4=>w632, 5=>w275, 6=>w708, 7=>w1619, 8=>w1301, 9=>w990, 10=>w4774, 11=>w8356, 12=>w22941, 13=>w8356, 14=>w4774, 15=>w990, 16=>w1301, 17=>w1618, 18=>w708, H@
79 19=>w275, 20=>w632, 21=>w393, 22=>w7, 23=>w184, 24=>w164, others=>o32); return Y; END lut2; BEGIN process(clk) variable x : std_logic_vector(15 downto 0); variable ym:vec1; variable v:vect1; begin if reset='1' then x:=o16; ym:=(others=>o32); v:=(others=>o32); yt<=o32; elsif clk'event and clk='1' then x:=xt; ym:=lut2(x); yt<=v(0)+ym(0); for k in 0 to L-2 loop v(k):=v(k+1)+ym(k+1); end loop; v(l-1):=ym(l); end if; end process; end Behavioral; H<
80 7/+ / library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity HP_50_mcm is port( xt: in std_logic_vector(15 downto 0); yt : out std_logic_vector(31 downto 0); clk, reset: in std_logic); end HP_50_mcm; architecture Behavioral of HP_50_mcm is constant L:integer:=50; constant o15:std_logic_vector(15 downto 0):=" "; constant o32:std_logic_vector(31 downto 0):=" "; type vec is array (0 to L) of std_logic_vector(15 downto 0); type vec1 is array (0 to L) of std_logic_vector(31 downto 0); type vect1 is array (0 to L-1) of std_logic_vector(31 downto 0); function lut2(data_in: std_logic_vector(15 downto 0)) return vec1 is VARIABLE Y: vec1; variable w1,w4,w3,w5,w8,w9,w24,w23,w48,w43,w45,w80,w85,w144,w141,w384,w387,w1 72,w217,w344,w353,w360,w357,w368,w413,w564,w587,w868,w1009,w1815,w61 44,w5731,w4512,w4159,w1736,w2423,w40,w4199,w_3,w16,w72,w36,w79,w180, w10,w826,w1412,w4846,w8398,w22924:std_logic_vector(31 downto 0); begin ----adder graph logic w1:= SXT(data_in,32); w4 :=(SHL(w1,"010")); w3:=w4-w1; w4:=(shl(w1,"010")); w5:=w1+w4; w8:=(shl(w1,"011")); w9:=w1+w8; w24:=(shl(w3,"011")); w23:=w24-w1; A-
81 w48:=(shl(w3,"100")); w43:=w48-w5; w48:=(shl(w3,"100")); w45:=w48-w3; w80:=(shl(w5,"100")); w79:=w80-w1; w80:=(shl(w5,"100")); w85:=w80+w5; w144:=(shl(w9,"100")); w141:=w144-w3; w384:=(shl(w3,"111")); w387:=w3+w384; w172:=(shl(w43,"010")); w217:=w45+w172; w344:=(shl(w43,"011")); w353:=w9+344; w360:=(shl(w45,"011")); w357:=w360-w3; w368:=(shl(w23,"100")); w413:=w45+w368; w564:=(shl(w141,"010")); w587:=w23+w564; w868:=(shl(w217,"010")); w1009:=w141+w868; w1736:=(shl(w217,"011")); w1815:=w79+w1736; w6144:=(shl(w3,"1011")); w5731:=w6144-w413; w4512:=(shl(w141,"101")); w4159:=w4512-w353; w1736:=(shl(w217,"011")); w2423:=w4159-w1736; w40:=(shl(w5,"011")); w4199:=w4159+w40; w_3:=o32-w3; w16:=(shl(w1,"100")); w16:=o32-w16; w23:=o32-w23; w72:=(shl(w9,"011")); w36:=(shl(w9,"010")); w79:=o32-w79; w180:=(shl(w45,"010")); w180:=o32-w180; w141:=o32-w141; w10:=(shl(w5,"1010")); w587:=o32-w587; A
82 w868:=(shl(w217,"010")); w868:=o32-w868; w360:=(shl(w45,"011")); w360:=o32-w360; w826:=(shl(w413,"001")); w1412:=(shl(w353,"010")); w1009:=o32-w1009; w4846:=(shl(w2423,"001")); w4846:=o32-w4846; w8398:=(shl(w4199,"001")); w8398:=o32-w8398; w22924:=(shl(w5731,"010")); Y:=(0=>w3, 1=>w3, 2=>w_3, 3=>w16, 4=>w23, 5=>w_3, 6=>w43, 7=>w72, 8=>w36, 9=>w79, 10=>w180, 11=>w141, 12=>w85, 13=>w357, 14=>w387, 15=>w10, 16=>w587, 17=>w868, 18=>w360, 19=>w826, 20=>w1815, 21=>w1412, 22=>w1009, 23=>w4846, 24=>w8398, 25=>w22924, 26=>w8398, 27=>w4846, 28=>w1009, 29=>w1412, 30=>w1815, 31=>w826, 32=>w360, 33=>w868, 34=>w587, 35=>w10, 36=>w387, 37=>w357, 38=>w85, 39=>w141, 40=>w180, 41=>w79, 42=>w36, 43=>w72, 44=>w43, 45=>w_3, 46=>w23, 47=>w16, 48=>w_3, 49=>w3, 50=>w3); return Y; END lut2; begin process(clk) variable x : std_logic_vector(15 downto 0); variable ym:vec1; variable v:vect1; begin if reset='1' then x:=o16; ym:=(others=>o32); v:=(others=>o32); yt<=o32; elsif clk'event and clk='1' then x:=xt; ym:=lut2(x); yt<=v(0)+ym(0); for k in 0 to L-2 loop v(k):=v(k+1)+ym(k+1); end loop; v(l-1):=ym(l); end if; end process; end Behavioral; A1
83 & 7/ ; / library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity HP_FIL_MCM_100 is port( xt: in std_logic_vector(15 downto 0); yt : out std_logic_vector(31 downto 0); clk, reset: in std_logic); end HP_FIL_MCM_100; architecture Behavioral of HP_FIL_MCM_100 is constant L:integer:=100; constant o16:std_logic_vector(15 downto 0):=" "; constant o32:std_logic_vector(31 downto 0):=" "; type vec is array (0 to L) of std_logic_vector(15 downto 0); type vec1 is array (0 to L) of std_logic_vector(31 downto 0); type vect1 is array (0 to L-1) of std_logic_vector(31 downto 0); function lut2(data_in: std_logic_vector(15 downto 0)) return vec1 is VARIABLE Y: vec1; variable w1,w3,w4,w5,w8,w7,w16,w17,w512,w513,w13,w24,w23,w32,w29,w48,w43,w64, w59,w80,w75,w96,w93,w103,w112,w105,w160,w157,w256,w239,w272,w267,w2 8,w485,w128,w151,w357,w416,w393,w928,w927,w1536,w1051, w1068,w1055,w1472,w1455,w4800,w4905,w47616,w45894,w22947,w_3,w10,w2 0,w_29,w_10,w206,w184,w544,w534,w744,w1026,w1940,w8408, w46161: std_logic_vector(31 downto 0); begin w1:=sxt(data_in,32); w4:=(shl(w1,"010")); w3 :=w4-w1; w4 := (SHL(w1,"010")); w5 := w1+w4; w8 := (SHL(w1,"011")); w7 := w8-w1; A:
84 w16 := (SHL(w1,"100")); w17 := w1+w16; w512 :=(SHL(w1,"1001")); w513 := w1+w512; w16 := (SHL(w1,"100")); w13 := w16-w3; w24 := (SHL(w3,"011")); w23 := w24-w1; w32 := (SHL(w1,"101")); w29 := w32-w3; w48 := (SHL(w3,"100")); w43 := w48-w5; w64 := (SHL(w1,"110")); w59 := w64-w5; w80 := (SHL(w5,"100")); w75 := w80-w5; w96 := (SHL(w3,"101")); w93 := w96-w3; w96 := (SHL(w3,"101")); w103 := w7+w96; w112 := (SHL(w7,"100")); w105 := w112-w7; w160 := (SHL(w5,"101")); w157 := w160-w3; w256 := (SHL(w1,"1000")); w239 := w256-w17; w272 := (SHL(w17,"100")); w267 := w272-w5; w28 := (SHL(w7,"010")); w485 := w513-w28; w128 := (SHL(w1,"0111")); w151 := w23+w128; w128 := (SHL(w1,"0111")); w357 := w485-w128; w416 := (SHL(w13,"101")); w393 := w416-w23; w928 := (SHL(w29,"101")); w927 := w928-w1; w1536 := (SHL(w3,"1001")); w1051 := w1536-w485; w1068 := (SHL(w267,"010")); w1055 := w1068-w13; w1472 := (SHL(w23,"110")); w1455 := w1472-w17; w4800 := (SHL(w75,"110")); w4905 := w105+w4800; A;
85 w47616 := (SHL(w93,"1001")); w46161 := w47616-w1455; w45894 := w46161-w267; w22947 := (SHR(w45894,"001")); w_3 :=o32-w3; w7 := o32-w7; w_3 := w_3; w3 := w3; w10 := (SHL(w5,"001")); w20 := (SHL(w5,"010")); w20 := o32-w20; w_29 := o32-w29; w_10 := o32-w10; w_29 := w_29; w105 := o32-w105; w105 := w105; w3 := w3; w206 :=(SHL(w103,"001")); w184 :=(SHL(w23,"011")); w184 := o32-w184; w357 := o32-w357; w239 :=o32-w239; w544 :=(SHL(w17,"101")); w534 := (SHL(w267,"001")); w7 := w7; w744 := (SHL(w93,"011")); w744 := o32-w744; w1026 :=(SHL(w513,"001")); w1026 := o32-w1026; w393 := o32-w393; w1940 := (SHL(w485,"010")); w1055 :=o32-w1055; w4905 := o32-w4905; w8408 := (SHL(w1051,"011")); w8408 := o32-w8408; Y:=(13=>w3,15=>w_3,16=>w7,17=>w_3,18=>w3,19=>w10,20=>w13,22=>w20,23= >w_29,24=>w_10,25=>w29, 26=>w59,27=>w43,28=>w_29,29=>w105,30=>w105,31=>w3,32=>w151,33=>w20 6,34=>w75,35=>w184,36=>w357, 37=>w239,38=>w157,39=>w544,40=>w534,41=>w7,42=>w744,43=>w1026,44=> w393,45=>w927,46=>w1940, 47=>w1455,48=>w1055,49=>w4905,50=>w8408,51=>w22947,52=>w8408,53=>w 4905,54=>w1055,55=>w1455, AB
86 56=>w1940,57=>w927,58=>w393,59=>w1026,60=>w744,61=>w7,62=>w534,63= >w544,64=>w157,65=>w239, 66=>w357,67=>w184,68=>w75,69=>w206,70=>w151,71=>w3,72=>w105,73=>w1 05,74=>w_29,75=>w43,76=>w59, 77=>w29,78=>w_10,79=>w_29,80=>w20,82=>w13,83=>w10,84=>w3,85=>w_3,86 =>w7,87=>w_3,89=>w3, others=>o32); return Y; END lut2; BEGIN process(clk) variable x : std_logic_vector(15 downto 0); variable ym:vec1; variable v:vect1; begin if reset='1' then x:=o16; ym:=(others=>o32); v:=(others=>o32); yt<=o32; elsif clk'event and clk='1' then x:=xt; ym:=lut2(x); yt<=v(0)+ym(0); for k in 0 to L-2 loop v(k):=v(k+1)+ym(k+1); end loop; v(l-1):=ym(l); end if; end process; end Behavioral; AH
87 0 02 &$O=!)R$ S %% && %'((')1--1)A< A & $ R( * % &!$'(('):B1:BB+ 0:2= ' R( S % % & & %'((,) -<A-- 0;2 = ' )(' )G C)R S%% && %'((-) ;A:;AH 0B2 = ' )O=!)(' ) RG4 4 S%% && %'((' 0H2.)> >)R& S"C)<A<)<HB# :<;)1:1:-@ 0A2(' )S! S666! $ ;)B)=<<; 0@2 (' ) S? S)%.& %%.'/001) 2 L;1),<)$<<B 0<2 UL &X, R S.!'((,)L:),1 0-2U>)( >!? G6) R= 4 S %%.3 '((4)L6<(),1 02G( 6 =' ) R( 4 S & "%'((4)$;+ AA
88 012= ' )( )R= S)2+52 & 56%'((-)O<)1--; 0:2& $) *() R! 4 S) % % & & %'((,+;1--A)1;H1;< 0;2! >) R / &'( / /+ S) 9 )G=($(6?,L6$U) 6!6) ))(GG1--@ 0B2$& )7$ &'( S 9 ) G=($(6?,L6$U)6!6) ))(GG1--@ 0H2MG,M)RL4; S) 3%%444% %% % 1)OA)1--@ 0A2MG,M)S64$&4;&'( S) 3%%44% %% W %-A:) B)1--@ 0@2MG,M)SL4; S) 3%%44% %%W % 1)$1@) 1--A 0<2M4& $ )R$6C&(!V$S) -) 3%%44% %W W% 01-2 < AA S) 3%% % %% 012=' ) G $.) L.) > O ) R= S)3&3 )& '((,)-<@Y U C) G $.) O& >) Z) R 4@!$S) 3&3 )& '((,)<AAY<@ 01:2U C) G $.) L.) Z) R( $& S 2+ 3 )& 8(9)1--H);HBY ;H@ A@
89 01;2).V*()R6 &'( S%% & %'((,) 1--A+ 01B2UC)G$.)Z)L6.)R( S & 666! ( ) $ $ & "!($$&1--A#)1--A)1)YBAYYH-:: 01H2$ /)(> )V )R&'( S % % & %'((9+ 01A2!> C) >! > ) $C ) R&'( S%% & %'((1+ 01@2OL ) &)$ 6.)R &'( S)%%/004)% & + 01<2,4 )= 3%%%& %[,&I1);--)A<A\&I,6MU$ 0:-2V) )O R&'(3 S), (@ 1--@) ): 0:2>)R$4 S) %.+&+));:)HAAH@@=<<H 0:12$Z$)R$& &'(36 $& 1--;) 3%%44% %%W %11 0::2! >) G $. L.) R>! &'( S 3&3 )& '((,);11;1B 0:;2$& G$.)S$ &'( S 3& ) & '((4)&')!();A=1--@ 0:B2&?$, G ",G#) C )!)?$( A<
90 0:H2& & = ' ) 6 6) G]? )$ 0:A2 &X )O ^ )OO )&) L ). $) O4 M) / )(') U L) V!) C O ), //) R$&(G3!' $& S) 3%% %% =
91 1)/0: 1=)/ (*'& ; O<@B)&) $)> H),&! 6,? ) > $ G $. 6 6 $? 1-->?$ (( 1--A > * &'(
Florida State University Libraries
Florida State University Libraries Electronic Theses, Treatises and Dissertations The Graduate School 2007 Signifyin(g): A Semiotic Analysis of Symphonic Works by William Grant Still, William Levi Dawson,
More informationSequential Statement
Sequential Statement Sequential Logic Output depends not only on current input values but also on previous input values. Are building blocks of; Counters Shift registers Memories Flip flops are basic sequential
More information13/06/56 8 ก ก. 08-Case Study
8 ก ก ก 1 ก 2 1 3 VHDL DIVIDER200Hz use IEEE.std_logic_1164.all; entity DIVIDER200Hz is generic (fin: integer :=25000000; --Input frequency fout: integer :=200); --Output frequency end DIVIDER200Hz; architecture
More informationProgrammable Logic. Simple Programmable Logic Devices
Programmable Logic SM098 Computation Structures - Programmable Logic Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL architectures Implements
More informationEEE8076. Reconfigurable Hardware Design (coursework) Module Outline. Dr A. Bystrov Dr. E.G. Chester. Autumn
EEE8076 Reconfigurable Hardware Design (coursework) Module Outline Dr A. Bystrov Dr. E.G. Chester Autumn 2010 1 2 3 4 5 6 7 8 9 10 11 12 Altera UP2 development board, Flex EPF10K70 FPGA www.altera.com/literature/univ/upds.pdf
More informationChapter 4: Regular Expressions
CSI 3104 /Winter 2011: Introduction to Formal Languages What are the languages with a finite representation? We start with a simple and interesting class of such languages. Dr. Nejib Zaguia CSI3104-W11
More informationCSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014
CSE 260 Introduction to Digital Logic and Computer Design Jonathan Turner Exam 1 Your name 2/13/2014 1. (10 points) Draw a logic diagram that implements the expression A(B+C)(C +D)(B+D ) directly (do not
More informationFPGA.
CMOS TTL Verilog VHDL mshora@yahoo.com 7400. NAND CMOS TTL 1 0 source sink datasheet bounce bounce debunce RS Latch debounce Typical Characteristics NO NC Semiconductor Material Wavelength Colour V F @
More informationAutomata Theory TEST 1 Answers Max points: 156 Grade basis: 150 Median grade: 81%
Automata Theory TEST 1 Answers Max points: 156 Grade basis: 150 Median grade: 81% 1. (2 pts) See text. You can t be sloppy defining terms like this. You must show a bijection between the natural numbers
More informationCOVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)
EEL 4712 Midterm 2 Spring 2011 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read
More informationVHDL in 1h. Martin Schöberl
VHDL in 1h Martin Schöberl VHDL /= C, Java, Think in hardware All constructs run concurrent Different from software programming Forget the simulation explanation VHDL is complex We use only a small subset
More informationECE 545 Lecture 17 RAM. George Mason University
ECE 545 Lecture 17 RAM George Mason University Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques [ UG687 (v 14.5) March 20, 2013 ] Sections:
More informationVHDL Examples Mohamed Zaky
VHDL Examples By Mohamed Zaky (mz_rasmy@yahoo.co.uk) 1 Half Adder The Half Adder simply adds 2 input bits, to produce a sum & carry output. Here we want to add A + B to produce Sum (S) and carry (C). A
More informationVHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents
VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for
More informationITEC2620 Introduction to Data Structures
ITEC2620 Introduction to Data Structures Lecture 9b Grammars I Overview How can a computer do Natural Language Processing? Grammar checking? Artificial Intelligence Represent knowledge so that brute force
More informationDigital System Construction
Digital System Construction FYSIKUM Lecture 4: More VHDL, memory, PRNG Arithmetic Memories Pipelines and buffers Pseudorandom numbers IP core generation in Vivado Introduction to Lab 3 Digital Systemkonstruktion
More informationIn our case Dr. Johnson is setting the best practices
VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry
More informationCS 3100 Models of Computation Fall 2011 This assignment is worth 8% of the total points for assignments 100 points total.
CS 3100 Models of Computation Fall 2011 This assignment is worth 8% of the total points for assignments 100 points total September 7, 2011 Assignment 3, Posted on: 9/6 Due: 9/15 Thursday 11:59pm 1. (20
More informationExample 58: Traffic Lights
208 Chapter 8 Listing 8.7(cont.) doorlock2_top.vhd btn012
More information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
More informationSequential Logic - Module 5
Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the
More informationCOVER SHEET: Total: Regrade Info: 5 (14 points) 7 (15 points) Midterm 1 Spring 2012 VERSION 1 UFID:
EEL 4712 Midterm 1 Spring 2012 VERSION 1 Name: UFID: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. As always, the best answer
More informationQuartus Counter Example. Last updated 9/6/18
Quartus Counter Example Last updated 9/6/18 Create a logic design from start to a DE10 implementation This example uses best design practices This example is not about creating HDL The HDL code will be
More informationLecture 4: Modeling in VHDL (Continued ) EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 4: Modeling in VHDL (Continued ) Sequential Statements Use Process process (sensitivity list) variable/constant declarations Sequential Statements end process; 2 Sequential
More informationINTRODUCTION TO VHDL ADVANCED COMPUTER ARCHITECTURES. Slides by: Pedro Tomás. Additional reading: - ARQUITECTURAS AVANÇADAS DE COMPUTADORES (AAC)
INTRODUCTION TO VHDL Slides by: Pedro Tomás Additional reading: - ADVANCED COMPUTER ARCHITECTURES ARQUITECTURAS AVANÇADAS DE COMPUTADORES (AAC) Outline 2 Hardware Description Languages (HDL) VHDL Very
More informationDesign a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Output Sum(4 bits) Adder. Output carry(1 bit)
Csc 343 Lab 2 Sep 28. 07 Objective: Design a 4 bit-adder. Then design a 4-7 decoder to show the outputs. Structure: Input A (4 bits) Input B (4 bit) Adder Output Sum(4 bits) Output carry(1 bit) input cin
More informationVHDL And Synthesis Review
VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only
More informationGetting Started with VHDL
Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component Entities can be primitive objects or complex objects Architectures are associated
More informationProblem Set 5 Solutions
Problem Set 5 Solutions library ieee; use ieee.std_logic_1164.all; use work.std_arith.all; -- here is the declaration of entity entity la_rewarder is port (clk, go, SRAM_busy, SRAM_rdy: in std_logic; min:
More informationCPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic
CPE 626 Lecture 6: VHDL Synthesis Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and Computer Engineering
More informationCOE 405, Term 062. Design & Modeling of Digital Systems. HW# 1 Solution. Due date: Wednesday, March. 14
COE 405, Term 062 Design & Modeling of Digital Systems HW# 1 Solution Due date: Wednesday, March. 14 Q.1. Consider the 4-bit carry-look-ahead adder (CLA) block shown below: A 3 -A 0 B 3 -B 0 C 3 4-bit
More informationSchedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November
More informationECE 545 Lecture 11 Addendum
ECE 545 Lecture 11 Addendum Controllers for Keccak_F and AES George Mason University ECE 448 FPGA and ASIC Design with VHDL Keccak_F 1600 din start done Keccak_F rst 1600 dout ready Note: Bold line represents
More informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
More informationECE 448 Lecture 13. FPGA Memories. George Mason University
ECE 448 Lecture 13 FPGA Memories George Mason University Recommended reading Spartan-6 FPGA Block RAM Resources: User Guide Google search: UG383 Spartan-6 FPGA Configurable Logic Block: User Guide Google
More informationCSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions
CSE 6 Introduction to igital Logic and Computer esign Exam Solutions Jonathan Turner /3/4. ( points) raw a logic diagram that implements the expression (B+C)(C +)(B+ ) directly (do not simplify first),
More informationThe University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 2005 Homework #6 Solution
5.3(a)(2), 5.6(c)(2), 5.2(2), 8.2(2), 8.8(2) The University of Alabama in Huntsville Electrical and Computer Engineering CPE/EE 422/522 Spring 25 Homework #6 Solution 5.3 (a) For the following SM chart:
More informationEXP.NO FPGA IMPLEMENTATION OF SIMPLE ALARM SYSTEM 04
MODELING AND SIMULATION LABORATORY MANUAL SOURCE CODE: library IEEE; EXP.NO FPGA IMPLEMENTATION OF SIMPLE ALARM SYSTEM 04 use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
More informationThe block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:
Experiment-3: Write VHDL programs for the following circuits, check the wave forms and the hardware generated a. multiplexer b. De-Multiplexer Objective: i. To learn the VHDL coding for Multiplexer and
More informationThe Virtex FPGA and Introduction to design techniques
The Virtex FPGA and Introduction to design techniques SM098 Computation Structures Lecture 6 Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL
More informationCHAPTER TWO LANGUAGES. Dr Zalmiyah Zakaria
CHAPTER TWO LANGUAGES By Dr Zalmiyah Zakaria Languages Contents: 1. Strings and Languages 2. Finite Specification of Languages 3. Regular Sets and Expressions Sept2011 Theory of Computer Science 2 Strings
More informationDesign Examples. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning
Design Examples ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Cengage Learning BCD to 7-Segment Display 418_04 2 BCD to 7-Segment Display entity BCD_Seven is port(bcd: in std_logic_vector(3
More informationTiming in synchronous systems
BO 1 esign of sequential logic Outline Timing in synchronous networks Synchronous processes in VHL VHL-code that introduces latches andf flip-flops Initialization of registers Mealy- and Moore machines
More informationCounters. Counter Types. Variations. Modulo Gray Code BCD (Decimal) Decade Ring Johnson (twisted ring) LFSR
CE 1911 Counters Counter Types Modulo Gray Code BC (ecimal) ecade Ring Johnson (twisted ring) LFSR Variations Asynchronous / Synchronous Up/own Loadable 2 tj Modulo-n (n = a power of 2) Asynchronous Count
More informationField Programmable Gate Array
Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational
More informationentity priority is Port ( a,b,c,d : in STD_LOGIC; encoded : out STD_LOGIC_VECTOR(2 downto 0)); end priority;
Примери Приоритетен кодер library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity priority is Port ( a,b,c,d : in STD_LOGIC; encoded : out STD_LOGIC_VECTOR(2 downto 0)); end priority; architecture Behavioral
More informationToday. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses
Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single
More informationData Compression Fundamentals
1 Data Compression Fundamentals Touradj Ebrahimi Touradj.Ebrahimi@epfl.ch 2 Several classifications of compression methods are possible Based on data type :» Generic data compression» Audio compression»
More informationVHDL Simulation. Testbench Design
VHDL Simulation Testbench Design The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus of UUT inputs algorithmic
More informationVHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning
VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Cengage Learning Design Flow 418_02 2 VHDL Modules 418_02 3 VHDL Libraries library IEEE; use IEEE.std_logic_1164.all; std_logic Single-bit
More information8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.
8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN 0 1 Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box 0 1 START Register operation or output
More informationSEQUENTIAL STATEMENTS
SEQUENTIAL STATEMENTS Sequential Statements Allow to describe the behavior of a circuit as a sequence of related events Can be used to model, simulate and synthesize: Combinational logic circuits Sequential
More informationSign here to give permission to return your test in class, where other students might see your score:
EEL 4712 Midterm 1 Spring 2017 VERSION 1 Name: UFID: Sign here to give permission to return your test in class, where other students might see your score: IMPORTANT: Please be neat and write (or draw)
More informationCOVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points)
EEL 4712 Midterm 2 Spring 2010 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read
More informationFile: /home/young/mywork/5.cordic_vhdl/a.beh/print.cordic_beh Page 1 of 10
File: /home/young/mywork/5.cordic_vhdl/a.beh/print.cordic_beh Page 1 of 10.SUFFIXES :.o.vhdl.vhdl.o : ghdl -a $< cordic_tb : cordic_pkg.o cordic_beh.o cordic_tb.o ghdl -e cordic_tb anal : cordic_pkg.o
More informationEE261: Intro to Digital Design
2014 EE261: Intro to Digital Design Project 3: Four Bit Full Adder Abstract: This report serves to teach us, the students, about modeling logic and gives a chance to apply concepts from the course to a
More informationEEL 4712 Name: SOLUTION Midterm 1 Spring 2016 VERSION 1 UFID:
EEL 4712 Name: SOLUTION Midterm 1 Spring 2016 VERSION 1 UFID: Sign here to give permission to return your test in class, where other students might see your score: IMPORTANT: Please be neat and write (or
More informationECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles
ECE 448 Lecture 4 Sequential-Circuit Building Blocks Mixing Description Styles George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 4, Regular Sequential Circuit Recommended
More informationCprE 583 Reconfigurable Computing
Recap Moore FSM Example CprE / ComS 583 Reconfigurable Computing Moore FSM that recognizes sequence 10 0 1 0 1 S0 / 0 S1 / 0 1 S2 / 1 Prof. Joseph Zambreno Department of Electrical and Computer Engineering
More informationVHDL for FPGA Design. by : Mohamed Samy
VHDL for FPGA Design by : Mohamed Samy VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements
More informationPROJECT Report. Lecturer: Dr. Ronny Veljanovski FLOATING POINT ADDITION & SUBTRACTION. Student: IBRAHIM HAZMI REENA ASHANTI
PROJECT REPORT: FLOATING POINT ADDITION & SUBTRACTION DSD PROJECT Report Lecturer: Dr. Ronny Veljanovski PROJECT: FLOATING POINT ADDITION & SUBTRACTION Student: IBRAHIM HAZMI 3772584 REENA ASHANTI 3731182
More informationVHDL: Code Structure. 1
VHDL: Code Structure talarico@gonzaga.edu 1 Mo:va:on for HDL- based design Standard Technology/vendor independent Portable and Reusable talarico@gonzaga.edu 2 Altera s Design Flow (RTL) RTL Generic Boolean
More informationDesign Problem 3 Solutions
CSE 260 Digital Computers: Organization and Logical Design Jon Turner Design Problem 3 Solutions In this problem, you are to design, simulate and implement a sequential pattern spotter, using VHDL. This
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 2.2.2: VHDL-3 Liang Liu liang.liu@eit.lth.se 1 Outline Inference of Basic Storage Element Some Design Examples DFF with enable Counter Coding Style:
More informationCOE Design Process Tutorial
COE 758 - Design Process Tutorial I. Introduction This tutorial describes a formal design process for the creation of digital systems. The aim of this design process is to provide a systematic approach
More informationSPAREPARTSCATALOG: CONNECTORS SPARE CONNECTORS KTM ART.-NR.: 3CM EN
SPAREPARTSCATALOG: CONNECTORS ART.-NR.: 3CM3208201EN CONTENT SPARE CONNECTORS AA-AN SPARE CONNECTORS AO-BC SPARE CONNECTORS BD-BQ SPARE CONNECTORS BR-CD 3 4 5 6 SPARE CONNECTORS CE-CR SPARE CONNECTORS
More informationECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University
ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:
More informationECE 545: Lecture 11. Programmable Logic Memories
ECE 545: Lecture 11 Programmable Logic Memories Recommended reading Vivado Design Suite User Guide: Synthesis Chapter 4 RAM HDL Coding Techniques Initializing RAM Contents 7 Series FPGAs Memory Resources:
More informationECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs
ECE 545: Lecture 11 Programmable Logic Memories Recommended reading Vivado Design Suite User Guide: Synthesis Chapter 4 RAM HDL Coding Techniques Initializing RAM Contents 7 Series FPGAs Resources: User
More informationECE 545 Lecture 12. FPGA Resources. George Mason University
ECE 545 Lecture 2 FPGA Resources George Mason University Recommended reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional Details 2 What is an FPGA? Configurable Logic Blocks
More informationVHDL par Ahcène Bounceur VHDL
VHDL Ahcène Bounceur 2009 Plan de travail 1. Introduction au langage 2. Prise en main 3. Machine à état 4. Implémentation sur FPGA 1 VHDL Introduction au langage Ahcène Bounceur VHDL VHIC (Very High-speed
More informationECE 459/559 Secure & Trustworthy Computer Hardware Design
ECE 459/559 Secure & Trustworthy Computer Hardware Design VHDL Overview Garrett S. Rose Spring 2016 Recap Public Key Encryption (PKE) RSA (Rivest, Shamir and Adelman) Encryption Advanced Encryption Standard
More informationHDL. Hardware Description Languages extensively used for:
HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:
More informationcla library ieee; use ieee.std_logic_1164.all;
-- cla entity cla is generic( n_g: integer :=4 -- count of bits ); port( x_p : in std_logic_vector (n_g-1 downto 0); y_p : in std_logic_vector (n_g-1 downto 0); cin_p : in std_logic; cla_p :out std_logic_vector
More informationEEL 4712 Digital Design Test 1 Spring Semester 2007
IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. COVER SHEET: Problem: Points: 1 (15 pts) 2 (20 pts) Total 3 (15 pts) 4 (18 pts)
More informationLuleå University of Technology Kurskod SMD152 Datum Skrivtid
Luleå University of Technology Kurskod SMD152 Datum 2003-10-24 Skrivtid 9.00 13.00 1 Manual synthesis (10 p, 2 p each) Here you are given five different VHDL models. Your task is to draw the schematics
More informationSPARE CONNECTORS KTM 2014
SPAREPARTSCATALOG: // ENGINE ART.-NR.: 3208201EN CONTENT CONNECTORS FOR WIRING HARNESS AA-AN CONNECTORS FOR WIRING HARNESS AO-BC CONNECTORS FOR WIRING HARNESS BD-BQ CONNECTORS FOR WIRING HARNESS BR-CD
More informationECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University
ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential
More informationExample 15: Moving Sprites with Flash Background
Displaying an Image Read from Flash Memory 95 Listing 2.5 (cont.) vga_flash_n2_top.vhd clr
More informationLecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)
Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable
More informationConcurrent & Sequential Stmts. (Review)
VHDL Introduction, Part II Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer Academic Publishers, 2001, ISBN 0-7923-7439-
More informationVHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2
VHDL: Modeling RAM and Register Files Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 Memory Synthesis Approaches: Random logic using flip-flops or latches Register files in datapaths RAM standard components
More informationAccelerate FPGA Prototyping with
Accelerate FPGA Prototyping with MATLAB and Simulink September 21 st 2010 Stephan van Beek Senior Application Engineer 1 From Idea to Implementation DESIGN Algorithm Development MATLAB Simulink Stateflow
More informationDesign Problem 4 Solutions
CSE 260 Digital Computers: Organization and Logical Design Design Problem 4 Solutions Jon Turner The block diagram appears below. The controller includes a state machine with three states (normal, movecursor,
More informationECE 699: Lecture 9. Programmable Logic Memories
ECE 699: Lecture 9 Programmable Logic Memories Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques Sections: RAM HDL Coding Techniques ROM
More informationPart 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits
M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential
More informationHardware Description Languages. Modeling Complex Systems
Hardware Description Languages Modeling Complex Systems 1 Outline (Raising the Abstraction Level) The Process Statement if-then, if-then-else, if-then-elsif, case, while, for Sensitivity list Signals vs.
More informationFSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques
FSM Components XST features: Specific inference capabilities for synchronous Finite State Machine (FSM) components. Built-in FSM encoding strategies to accommodate your optimization goals. You may also
More informationThe University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004
The University of Alabama in Huntsville ECE Department CPE 526 01 Final Exam Solution Spring 2004 1. (15 points) An old Thunderbird car has three left and three right tail lights, which flash in unique
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level
More informationConstructing VHDL Models with CSA
Constructing VHDL Models with CSA List all components (e.g., gate) inclusive propagation delays. Identify input/output signals as input/output ports. All remaining signals are internal signals. Identify
More informationVHDL Testbench Design. Textbook chapters 2.19, , 9.5
VHDL Testbench Design Textbook chapters 2.19, 4.10-4.12, 9.5 The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus
More informationFile: /home/young/mywork/vlsi/c.ari etic/adder/rtl/adder.cla.print Page 1 of 6
File: /home/young/mywork/vlsi/c.ari etic/adder/rtl/adder.cla.print Page 1 of 6 c1.adder.vhdl Purpose: Bianary Adder Entity Discussion: Licensing: This code is distributed under the GNU LGPL license. Modified:
More informationTutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy
CS3: Hardware Lab Tutorial 4 HDL Outline VHDL basic language concepts basic design methodology Examples A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati i i i3 i4 Modeling Combinational
More informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs
IGITAL LOGIC SIGN VHL Coding for FPGAs SUNTIAL CIRCUITS Unit 5 Asynchronous sequential circuits: Latches Synchronous circuits: flip flops, counters, registers. Testbench: Generating stimulus COMBINATIONAL
More informationDesign Guidelines for Using DSP Blocks
Design Guidelines for Using DSP Blocks in the Synplify Software April 2002, ver. 1.0 Application Note 193 Introduction Altera R Stratix TM devices have dedicated digital signal processing (DSP) blocks
More informationDocument Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger
ATLAS ATL-DA-EN-0004 EDMS Id: 1100579 ATLAS TDAQ Level-1 Calorimeter Trigger VHLD guidelines Document Version: 0.6 Document Date: 15 April 2011 Prepared by: Y. Ermoline for ATLAS Level-1Calorimeter Trigger
More informationEECE 353: Digital Systems Design Lecture 10: Datapath Circuits
EECE 353: Digital Systems Design Lecture 10: Datapath Circuits Cristian Grecu grecuc@ece.ubc.ca Course web site: http://courses.ece.ubc.ca/353 Introduction to lecture 10 Large digital systems are more
More informationPALMiCE FPGA Probing Function User's Manual
PALMiCE FPGA Probing Function User's Manual This manual describes the probing function and presents the basic usage patterns. Chapter1 Introducing the Probing Function The probing function makes it easy
More information