ECE 545 Lecture 7. VHDL Description of Basic Combinational & Sequential Circuit Building Blocks. Required reading. Fixed Shifters & Rotators
|
|
- Garey Pierce
- 6 years ago
- Views:
Transcription
1 EE 55 Lecture 7 VHL escription o Basic ombinational & Sequential ircuit Building Blocks Required reading P. hu, RTL Hardare esign using VHL hapter 7, ombinational ircuit esign: Practice hapter 5., VHL Process hapter 8, Sequential ircuit esign: Principle (ecept subchapter 8.6) Slides or hapter 8, available at George Mason University 2 Fied Logical Shit Right in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); Fied Shiters & Rotators (3) (2) () () >> L (3) (2) () EE 8 FPG and SI esign ith VHL 3 Fied Logical Shit Right in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); Fied rithmetic Shit Right in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); (3) (2) () () (3) (2) () () >> L >> (3) (2) () (3) (3) (2) () <= '' & (3 donto ); 5 6
2 Fied rithmetic Shit Right in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); Fied Logical Shit Let in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); (3) (2) () () (3) (2) () () >> (3) (3) (2) () << L (2) () () <= (3) & (3 donto ); 7 8 Fied Logical Shit Let in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); Fied Rotation Let in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); (3) (2) () () (3) (2) () () << L (2) () () <<< (2) () () (3) <= (2 donto ) & ''; 9 Fied Rotation Let in VHL SIGNL : ST_LOGI_VETOR(3 OWNTO ); SIGNL : ST_LOGI_VETOR(3 OWNTO ); (3) (2) () () Variable Rotators <<< (2) () () (3) <= (2 donto ) & (3); EE 8 FPG and SI esign ith VHL 2 2
3 8bit Variable Rotator Let 8 3 B <<< B Multipleers 8 To be covered during the net class 3 EE 8 FPG and SI esign ith VHL 2to Multipleer 2to Multipleer s s s s (a) Graphical symbol (b) Truth table (a) Graphical symbol (b) Truth table VHL: VHL: <= WHEN s = '' ELSE ; or <= WHEN s = '' ELSE ; 5 6 ascade o to multipleers ascade o to multipleers 3 2 y 3 2 y VHL: s2 s VHL: s2 s <= WHEN s = '' ELSE 2 WHEN s2 = '' ELSE 3 ; 7 8 3
4 to Multipleer to Multipleer (a) Graphic symbol (b) Truth table (a) Graphic symbol (b) Truth table s s s s s s s s s s WITH s SELET <= WHEN "", WHEN "", 2 WHEN "", 3 WHEN OTHERS ; 9 2 2to ecoder (a) Truth table (b) Graphical symbol y 3 ecoders En y y y y 3 2 y 2 y En y y EE 8 FPG and SI esign ith VHL to ecoder 2to ecoder (a) Truth table (b) Graphical symbol y 3 (a) Truth table (b) Graphical symbol y 3 En y y y y 3 2 y 2 y y En y y y y 3 2 y 2 y y En y En y En <= En & ; WITH En SELET y <= "" WHEN "", "" WHEN "", "" WHEN "", "" WHEN "", "" WHEN OTHERS ; 23 2
5 VHL code or a 2to ecoder entity USE ieee.std_logic_6.all ; ENTITY dec2to IS PORT ( : IN ST_LOGI_VETOR( OWNTO ) ; En : IN ST_LOGI ; y : OUT ST_LOGI_VETOR(3 OWNTO ) ) ; EN dec2to ; RHITETURE datalo OF dec2to IS SIGNL En : ST_LOGI_VETOR(2 OWNTO ) ; En <= En & ; WITH En SELET y <= "" WHEN "", "" WHEN "", "" WHEN "", "" WHEN "", "" WHEN OTHERS ; EN datalo ; Encoders 25 EE 8 FPG and SI esign ith VHL 26 Priority Encoder Priority Encoder 2 3 y y z y 2 3 y y z y 3 2 y y z 3 2 y y d d z Priority Encoder VHL code or a Priority Encoder entity USE ieee.std_logic_6.all ; 3 y y 3 2 y y 2 z d d z y y <= "" WHEN (3) = '' ELSE "" WHEN (2) = '' ELSE "" WHEN () = '' ELSE "" ; z <= '' WHEN = "" ELSE '' ; ENTITY priority IS PORT ( : IN ST_LOGI_VETOR(3 OWNTO ) ; y : OUT ST_LOGI_VETOR( OWNTO ) ; z : OUT ST_LOGI ) ; EN priority ; RHITETURE datalo OF priority IS y <= "" WHEN (3) = '' ELSE "" WHEN (2) = '' ELSE "" WHEN () = '' ELSE "" ; z <= '' WHEN = "" ELSE '' ; EN datalo ;
6 dder mod dders X S Y 6 EE 8 FPG and SI esign ith VHL 3 32 VHL code or an dder mod 2 6 Signed and Unsigned Types USE ieee.std_logic_6.all ; USE ieee.numeric_std.all ; ENTITY adder6 IS PORT ( X : IN ST_LOGI_VETOR(5 OWNTO ) ; Y : IN ST_LOGI_VETOR(5 OWNTO ) ; S : OUT ST_LOGI_VETOR(5 OWNTO ) ) ; EN adder6 ; RHITETURE datalo OF adder6 IS S <= std_logic_vector(unsigned(x) + unsigned(y)); EN datalo ; Behave eactly like ST_LOGI_VETOR plus, they determine hether a given vector should be treated as a signed or unsigned number. Require USE ieee.numeric_std.all; bit Unsigned dder ddition o Unsigned Numbers () 6 6 USE ieee.std_logic_6.all ; USE ieee.numeric_std.all ; out X 6 + S Y in ENTITY adder6 IS PORT ( in : IN ST_LOGI ; X : IN ST_LOGI_VETOR(5 OWNTO ) ; Y : IN ST_LOGI_VETOR(5 OWNTO ) ; S : OUT ST_LOGI_VETOR(5 OWNTO ) ; out : OUT ST_LOGI ) ; EN adder6 ;
7 ddition o Unsigned Numbers (3) RHITETURE datalo OF adder6 IS signal Sum: unsigned(6 OWNTO ) ; Sum <= unsigned('' & X) + unsigned(y) + unsigned('' & in) ) ; S <= std_logic_vector(sum(5 donto )); out <= Sum(6) ; EN datalo ; Multipliers 37 EE 8 FPG and SI esign ith VHL 38 Unsigned vs. Signed Multiplication 88bit Unsigned Multiplier Unsigned Signed a * c b U bit Signed Multiplier 88bit Unsigned and Signed Multiplier a * c b S a cu b cs
8 Multiplication o signed and unsigned numbers LIBRRY ieee; USE ieee.std_logic_6.all; USE ieee.numeric_std.all ; entity multiply is port( a : in ST_LOGI_VETOR(7 donto ); b : in ST_LOGI_VETOR(7 donto ); cu : out ST_LOGI_VETOR(5 donto ); cs : out ST_LOGI_VETOR(5 donto ) ); end multiply; ROM architecture datalo o multiply is begin signed multiplication cs <= ST_LOGI_VETOR(SIGNE(a)*SIGNE(b)); unsigned multiplication cu <= ST_LOGI_VETOR(UNSIGNE(a)*UNSIGNE(b)); end datalo; 3 EE 8 FPG and SI esign ith VHL ROM 86 eample () ROM 86 eample (2) ddr 3 86 ROM out 6 LIBRRY ieee; USE ieee.std_logic_6.all; USE ieee.numeric_std.all; ENTITY rom IS EN rom; PORT ( ); ddr : IN ST_LOGI_VETOR(2 OWNTO ); out : OUT ST_LOGI_VETOR(5 OWNTO ) 5 6 ROM 86 eample (3) RHITETURE datalo OF rom IS SIGNL temp: INTEGER RNGE TO 7; TYPE vector_array IS RRY ( to 7) OF ST_LOGI_VETOR(5 OWNTO ); ONSTNT memory : vector_array := ( X"8", X"59", X"87", X"7853", X"65", X"62F", X"F72", X"F58"); temp <= to_integer(unsigned(ddr)); out <= memory(temp); ROM 86 eample () RHITETURE datalo OF rom IS TYPE vector_array IS RRY ( to 7) OF ST_LOGI_VETOR(5 OWNTO ); ONSTNT memory : vector_array := ( X"8", X"59", X"87", X"7853", X"65", X"62F", X"F72", X"F58"); out <= memory(to_integer(unsigned(ddr))); EN datalo; EN datalo; 7 8 8
9 Tristate Buer e e = Buers (a) tristate buer e e = (b) Equivalent circuit (c) Truth table EE 8 FPG and SI esign ith VHL 9 5 Tristate Buer Four types o Tristate Buers e e e (a) tristate buer e = <= WHEN (e(a) = '') ELSE 'Z'; <= not WHEN (b) (e = '') ELSE 'Z'; e Z Z e = (b) Equivalent circuit e e (c) Truth table <= WHEN (e(c) = '') ELSE 'Z'; <= not WHEN (d) (e = '') ELSE 'Z'; 5 52 Tristate Buer entity () Tristate Buer entity (2) LIBRRY ieee; USE ieee.std_logic_6.all; ENTITY tri_state IS PORT ( e: IN ST_LOGI; : IN ST_LOGI; : OUT ST_LOGI ); EN tri_state; RHITETURE datalo OF tri_state IS <= WHEN (e = ) ELSE Z ; EN datalo;
10 MLU Block iagram MUX_ MUX MLU Eample NEG_ MUX_ MUX_2 IN IN IN2 OUTPUT IN3 SEL SEL Y Y B B L L NEG_Y NEG_B MUX_ MLU: Entity eclaration MLU: rchitecture eclarative Section LIBRRY ieee; USE ieee.std_logic_6.all; ENTITY mlu IS PORT( NEG_ : IN ST_LOGI; NEG_B : IN ST_LOGI; NEG_Y : IN ST_LOGI; : IN ST_LOGI; B : IN ST_LOGI; L : IN ST_LOGI; L : IN ST_LOGI; Y : OUT ST_LOGI ); EN mlu; RHITETURE mlu_datalo OF mlu IS SIGNL : ST_LOGI; SIGNL B : ST_LOGI; SIGNL Y : ST_LOGI; SIGNL MUX_ : ST_LOGI; SIGNL MUX_ : ST_LOGI; SIGNL MUX_2 : ST_LOGI; SIGNL MUX_3 : ST_LOGI; SIGNL L: ST_LOGI_VETOR( OWNTO ); MLU rchitecture Body <= NOT WHEN (NEG_='') ELSE ; B<= NOT B WHEN (NEG_B='') ELSE B; Y <= NOT Y WHEN (NEG_Y='') ELSE Y; MUX_ <= N B; MUX_ <= OR B; MUX_2 <= XOR B; MUX_3 <= XNOR B; L <= L & L; ith (L) select Y <= MUX_ WHEN "", MUX_ WHEN "", MUX_2 WHEN "", MUX_3 WHEN OTHERS; ombinational Logic Synthesis or Beginners EN mlu_datalo; 59 EE 8 FPG and SI esign ith VHL 6
11 Simple rules or beginners Simple rules or beginners For combinational logic, use only concurrent statements concurrent signal assignment (Ü) conditional concurrent signal assignment (henelse) selected concurrent signal assignment (ithselecthen) For circuits composed o simple logic operations (logic gates) simple arithmetic operations (addition, subtraction, multiplication) shits/rotations by a constant use concurrent signal assignment (Ü) 6 62 Simple rules or beginners For circuits composed o multipleers decoders, encoders tristate buers use conditional concurrent signal assignment (henelse) (ending ith ELSE) selected concurrent signal assignment (ithselecthen) (ending ith WHEN OTHERS;) Eample: VHL code or a to MUX USE ieee.std_logic_6.all ; ENTITY muto IS PORT (,, 2, 3 : IN ST_LOGI ; s : IN ST_LOGI_VETOR( OWNTO ) ; : OUT ST_LOGI ) ; EN muto ; RHITETURE datalo OF muto IS WITH s SELET <= WHEN "", WHEN "", 2 WHEN "", 3 WHEN OTHERS ; EN datalo ; 63 6 henelse vs. ithselecthen () henelse vs. ithselecthen (2) "henelse" should be used hen: ) there is only one condition (and thus, only one else), as in the 2to MUX 2) conditions are independent o each other (e.g., they test values o dierent signals) 3) conditions relect priority (as in priority encoder); one ith the highest priority need to be tested irst. "ithselecthen" should be used hen there is ) more than one condition 2) conditions are closely related to each other (e.g., represent dierent ranges o values o the same signal) 3) all conditions have the same priority (as in the to MUX)
12 Let vs. right side o the assignment Let side Internal signals (deined in a given architecture) Ports o the mode out inout <= <= henelse ithselect <= Right side Epressions including: Internal signals (deined in a given architecture) Ports o the mode in inout Behavioral esign Style: Registers & ounters 67 EE 8 FPG and SI esign ith VHL 68 VHL escription Styles datalo oncurrent statements VHL escription Styles synthesizable structural behavioral omponents and Sequential statements interconnects Registers Shit registers ounters State machines and more i you are careul 69 Processes in VHL Processes escribe Sequential Behavior Processes in VHL re Very Poerul Statements llo to deine an arbitrary behavior that may be diicult to represent by a real circuit Not every process can be synthesized Use Processes ith aution in the ode to Be Synthesized Use Processes Freely in Testbenches 7 natomy o a Process PROESS ith a SENSITIVITY LIST OPTIONL [label:] PROESS [(sensitivity list)] [declaration part] statement part EN PROESS [label]; List o signals to hich the process is sensitive. Whenever there is an event on any o the signals in the sensitivity list, the process ires. Every time the process ires, it ill run in its entirety. WIT statements are NOT LLOWE in a processes ith SENSITIVITY LIST. label: process (sensitivity list) declaration part begin statement part end process;
13 omponent Equivalent o a Process priority: PROESS (clk) IF (3) = '' THEN y <= "" ; ELSIF (2) = '' THEN y <= "" ; ELSIF () = c THEN y <= a and b; ELSE z <= "" ; EN PROESS ; clk a b c priority ll signals hich appear on the let o signal assignment statement (<=) are outputs e.g. y, z ll signals hich appear on the sensitivity list are inputs e.g. clk ll signals hich appear on the right o signal assignment statement (<=) or in logic epressions are inputs e.g., a, b, c Note that not all inputs need to be included on the sensitivity list y z Registers 73 EE 8 FPG and SI esign ith VHL 7 latch liplop Graphical symbol Truth table Timing diagram (t+) (t) Graphical symbol Truth table (t+) (t) (t) Timing diagram t t 2 t 3 t t t 2 t 3 t Time Time latch liplop USE ieee.std_logic_6.all ; ENTITY latch IS PORT (, : IN ST_LOGI ; : OUT ST_LOGI) ; EN latch ; USE ieee.std_logic_6.all ; ENTITY liplop IS PORT (, : IN ST_LOGI ; : OUT ST_LOGI) ; EN liplop ; RHITETURE behavioral OF latch IS PROESS (, ) IF = '' THEN <= ; EN PROESS ; EN behavioral; RHITETURE behavioral2 OF liplop IS PROESS ( ) IF rising_edge() THEN <= ; EN PROESS ; EN behavioral2;
14 liplop liplop ith asynchronous reset USE ieee.std_logic_6.all ; USE ieee.std_logic_6.all ; ENTITY liplop IS PORT (, : IN ST_LOGI ; : OUT ST_LOGI) ; EN liplop ; ENTITY liplop_ar IS PORT (, Reset, : IN ST_LOGI ; : OUT ST_LOGI) ; EN liplop_ar ; Reset RHITETURE behavioral OF liplop IS PROESS ( ) IF 'EVENT N = '' THEN <= ; EN PROESS ; EN behavioral ; RHITETURE behavioral OF liplop_ar IS PROESS ( Reset, ) IF Reset = '' THEN <= '' ; ELSIF rising_edge() THEN <= ; EN PROESS ; EN behavioral ; 79 8 liplop ith synchronous reset USE ieee.std_logic_6.all ; ENTITY liplop_sr IS PORT (, Reset, : IN ST_LOGI ; : OUT ST_LOGI) ; EN liplop_sr ; RHITETURE behavioral OF liplop_sr IS PROESS() IF rising_edge() THEN IF Reset = '' THEN <= '' ; ELSE <= ; EN IF; EN PROESS ; EN behavioral ; Reset sychronous vs. Synchronous In the IF loop, asynchronous items are Beore the rising_edge() statement In the IF loop, synchronous items are ter the rising_edge() statement bit register ith asynchronous reset USE ieee.std_logic_6.all ; ENTITY reg8 IS PORT ( : IN ST_LOGI_VETOR(7 OWNTO ) ; Reset, : IN ST_LOGI ; : OUT ST_LOGI_VETOR(7 OWNTO ) ) ; EN reg8 ; RHITETURE behavioral OF reg8 IS PROESS ( Reset, ) IF Reset = '' THEN <= "" ; ELSIF rising_edge() THEN <= ; EN PROESS ; EN behavioral ;` EE 8 FPG and SI esign ith VHL 8 Reset 8 reg8 83 Nbit register ith asynchronous reset USE ieee.std_logic_6.all ; ENTITY regn IS GENERI ( N : INTEGER := 6 ) ; PORT ( : IN ST_LOGI_VETOR(N OWNTO ) ; Reset, : IN ST_LOGI ; : OUT ST_LOGI_VETOR(N OWNTO ) ) ; EN regn ; RHITETURE behavioral OF regn IS PROESS ( Reset, ) IF Reset = '' THEN <= (OTHERS => '') ; ELSIF rising_edge() THEN <= ; EN PROESS ; EN behavioral ; EE 8 FPG and SI esign ith VHL N Reset regn N 8
15 ord on generics Generics are typically integer values In this class, the entity inputs and outputs should be std_logic or std_logic_vector But the generics can be integer Generics are given a deault value GENERI ( N : INTEGER := 6 ) ; This value can be overritten hen entity is instantiated as a component Generics are very useul hen instantiating an otenused component Need a 6bit register in one place, and 6bit register in another an use the same generic code, just conigure them dierently Use o OTHERS OTHERS stand or any inde value that has not been previously mentioned. <= can be ritten as <= ( =>, OTHERS => ) <= can be ritten as <= (7 =>, =>, OTHERS => ) or <= (7 =>, OTHERS => ) <= can be ritten as <= ( donto =>, OTHERS => ) omponent Instantiation in VHL93 omponent Instantiation in VHL87 U: ENTITY ork.regn(behavioral) GENERI MP (N => ) PORT MP ( => z, Resetn => reset, => clk, => t ); U: regn GENERI MP (N => ) PORT MP ( => z, Resetn => reset, => clk, => t ); Nbit register ith enable Implementing to registers in a single process USE ieee.std_logic_6.all ; ENTITY regne IS GENERI ( N : INTEGER := 8 ) ; PORT ( : IN ST_LOGI_VETOR(N OWNTO ) ; Enable, : IN ST_LOGI ; : OUT ST_LOGI_VETOR(N OWNTO ) ) ; EN regne ; out_tmp En En out V_tmp En En V RHITETURE behavioral OF regne IS PROESS () IF rising_edge() THEN IF Enable = '' THEN <= ; EN IF; EN PROESS ; EN behavioral ; N Enable regn N lk Reset lk Reset
16 Implementing to registers in a single process Implementing to registers in a single process PROESS (lk, Reset) IF Reset= '' THEN out <= ''; V <= ''; ELSIF rising_edge(lk) THEN IF En = '' THEN out <= out_tmp ; V <= V_tmp; EN IF; EN PROESS ; out_tmp lk En En Reset out V_tmp lk EnV En Reset V 9 EE 8 FPG and SI esign ith VHL 92 Implementing to registers in a single process PROESS (lk, Reset) IF Reset = '' THEN out <= ; V <= ''; ELSIF rising_edge(lk) THEN IF En = '' THEN out <= out_tmp ; IF EnV = '' THEN V <= V_tmp; EN IF; EN PROESS ; ounters 93 EE 8 FPG and SI esign ith VHL 9 2bit upcounter ith synchronous reset bit upcounter ith asynchronous reset () USE ieee.std_logic_6.all ; USE ieee.numeric_std.all ; ENTITY upcount IS PORT ( lear, : IN ST_LOGI ; : OUT ST_LOGI_VETOR( OWNTO ) ) ; EN upcount ; RHITETURE behavioral OF upcount IS SIGNL ount : unsigned( OWNTO ); upcount: PROESS ( ) IF rising_edge() THEN IF lear = '' THEN ount <= "" ; ELSE ount <= ount + ; EN IF; EN PROESS; <= std_logic_vector(ount); EN behavioral; lear upcount 2 USE ieee.std_logic_6.all ; USE ieee.numeric_std.all ; ENTITY upcount_ar IS PORT (, Resetn, Enable : IN ST_LOGI ; : OUT ST_LOGI_VETOR (3 OWNTO )) ; EN upcount_ar ; Enable Resetn upcount
17 bit upcounter ith asynchronous reset (2) RHITETURE behavioral OF upcount _ar IS SIGNL ount : UNSIGNE (3 OWNTO ) ; PROESS (, Resetn ) IF Resetn = '' THEN ount <= "" ; ELSIF rising_edge() THEN IF Enable = '' THEN ount <= ount + ; EN PROESS ; <= std_logic_vector(ount) ; EN behavioral ; Enable Resetn upcount Shit Registers 97 EE 8 FPG and SI esign ith VHL 98 Shit register internal structure Shit Register With Parallel Load Load (3) (2) () () (3) Sin (2) () () Sin Enable Enable (3) (2) () () 99 bit shit register ith parallel load () USE ieee.std_logic_6.all ; ENTITY shit IS PORT ( : IN ST_LOGI_VETOR(3 OWNTO ) ; Enable : IN ST_LOGI ; Load : IN ST_LOGI ; Sin : IN ST_LOGI ; : IN ST_LOGI ; : OUT ST_LOGI_VETOR(3 OWNTO ) ) ; EN shit ; Enable Load Sin shit bit shit register ith parallel load (2) RHITETURE behavioral OF shit IS SIGNL t : ST_LOGI_VETOR(3 OWNTO ); PROESS () IF rising_edge() THEN IF Enable = THEN IF Load = '' THEN t <= ; ELSE EN IF; EN PROESS ; <= t; EN behavioral ; Enable Load Sin t <= Sin & t(3 donto ); shit 2 7
18 Nbit shit register ith parallel load () USE ieee.std_logic_6.all ; ENTITY shitn IS GENERI ( N : INTEGER := 8 ) ; PORT ( : IN ST_LOGI_VETOR(N OWNTO ) ; Enable : IN ST_LOGI ; Load : IN ST_LOGI ; Sin : IN ST_LOGI ; : IN ST_LOGI ; : OUT ST_LOGI_VETOR(N OWNTO ) ) ; EN shitn ; N Enable Load Sin N shitn Nbit shit register ith parallel load (2) RHITETURE behavioral OF shitn IS SIGNL t: ST_LOGI_VETOR(N OWNTO ); N PROESS () IF rising_edge() THEN IF Enable = THEN IF Load = '' THEN t <= ; ELSE EN IF; EN PROESS ; <= t; EN behavior al; Enable Load Sin t <= Sin & t(n donto ); N shitn 3 Nbit register ith enable USE ieee.std_logic_6.all ; Generic omponent Instantiation ENTITY regn IS GENERI ( N : INTEGER := 8 ) ; PORT ( : IN ST_LOGI_VETOR(N OWNTO ) ; Enable, : IN ST_LOGI ; : OUT ST_LOGI_VETOR(N OWNTO ) ) ; EN regn ; RHITETURE Behavior OF regn IS PROESS () IF ( rising_edge() ) THEN IF Enable = '' THEN <= ; EN IF; EN PROESS ; EN Behavior ; N Enable regn N EE 8 FPG and SI esign ith VHL 5 6 ircuit built o medium scale components s() Structural description eample () VHL93 USE ieee.std_logic_6.all ; r() r() r(2) r(3) r() r(5) s() p() p() p(2) p(3) 2 3 priority y y z q() q() ena En y Enable 3 z(3) t(3) y 2 z(2) t(2) y z() t() En y z() t() dec2to regne lk ENTITY priority_resolver IS PORT (r : IN ST_LOGI_VETOR(5 OWNTO ) ; s : IN ST_LOGI_VETOR( OWNTO ) ; clk : IN ST_LOGI; en : IN ST_LOGI; t : OUT ST_LOGI_VETOR(3 OWNTO ) ) ; EN priority_resolver; RHITETURE structural OF priority_resolver IS SIGNL p : ST_LOGI_VETOR (3 OWNTO ) ; SIGNL q : ST_LOGI_VETOR ( OWNTO ) ; SIGNL z : ST_LOGI_VETOR (3 OWNTO ) ; SIGNL ena : ST_LOGI ; 7 8 8
19 Structural description eample (2) VHL93 u: ENTITY ork.mu2to(datalo) PORT MP ( => r(), => r(), s => s(), => p()); p() <= r(2); p(2) <= r(3); u2: ENTITY ork.mu2to(datalo) PORT MP ( => r(), => r(5), s => s(), => p(3)); u3: ENTITY ork.priority(datalo) PORT MP ( => p, y => q, z => ena); Structural description eample (3) VHL93 u: ENTITY ork.dec2to (datalo) PORT MP ( => q, En => ena, y => z); u5: ENTITY ork.regne(behavioral) EN structural; GENERI MP (N => ) PORT MP ( => z, Enable => En, => lk, => t ); 9 Structural description eample () VHL87 USE ieee.std_logic_6.all ; ENTITY priority_resolver IS PORT (r : IN ST_LOGI_VETOR(5 OWNTO ) ; s : IN ST_LOGI_VETOR( OWNTO ) ; clk : IN ST_LOGI; en : IN ST_LOGI; t : OUT ST_LOGI_VETOR(3 OWNTO ) ) ; EN priority_resolver; RHITETURE structural OF priority_resolver IS SIGNL p : ST_LOGI_VETOR (3 OWNTO ) ; SIGNL q : ST_LOGI_VETOR ( OWNTO ) ; SIGNL z : ST_LOGI_VETOR (3 OWNTO ) ; SIGNL ena : ST_LOGI ; Structural description eample (2) VHL87 OMPONENT mu2to PORT (,, s : IN ST_LOGI ; : OUT ST_LOGI ) ; EN OMPONENT ; OMPONENT priority PORT ( : IN ST_LOGI_VETOR(3 OWNTO ) ; y : OUT ST_LOGI_VETOR( OWNTO ) ; z : OUT ST_LOGI ) ; EN OMPONENT ; OMPONENT dec2to PORT ( : IN ST_LOGI_VETOR( OWNTO ) ; En : IN ST_LOGI ; y : OUT ST_LOGI_VETOR(3 OWNTO ) ) ; EN OMPONENT ; 2 Structural description eample (3) VHL87 OMPONENT regn GENERI ( N : INTEGER := 8 ) ; PORT ( : IN ST_LOGI_VETOR(N OWNTO ) ; Enable, : IN ST_LOGI ; : OUT ST_LOGI_VETOR(N OWNTO ) ) ; EN OMPONENT ; Structural description eample () VHL87 u: mu2to PORT MP ( => r(), => r(), s => s(), => p()); p() <= r(2); p(2) <= r(3); u2: mu2to PORT MP ( => r(), => r(5), s => s(), => p(3)); u3: priority PORT MP ( => p, y => q, z => ena); u: dec2to PORT MP ( => q, En => ena, y => z); 3 9
20 Structural description eample (5) VHL87 u5: regne GENERI MP (N => ) EN structural; PORT MP ( => z, Enable => En, => lk, => t ); onstants 5 EE 8 FPG and SI esign ith VHL 6 onstants Synta: ONSTNT name : type := value; Eamples: ONSTNT init_value : ST_LOGI_VETOR(3 donto ) := ""; ONSTNT N_EXT : ST_LOGI_VETOR(7 donto ) := X"B"; ONSTNT counter_idth : INTEGER := 6; ONSTNT buer_address : INTEGER := 6#FFFE#; ONSTNT clk_period : TIME := 2 ns; ONSTNT strobe_period : TIME := ms; onstants eatures onstants can be declared in a PKGE, RHITETURE, ENTITY When declared in a PKGE, the constant is truly global, or the package can be used in several entities. When declared in an RHITETURE, the constant is local, i.e., it is visible only ithin this architecture. When declared in an ENTITY declaration, the constant can be used in all architectures associated ith this entity. EE 8 FPG and SI esign ith VHL 7 8 Eample o package library ieee; use ieee.std_logic_6.all; package alu_pkg is constant OPOE_NOR : std_logic_vector(2 donto ) := ""; constant OPOE_NN : std_logic_vector(2 donto ) := ""; constant OPOE_XOR : std_logic_vector(2 donto ) := ""; constant OPOE_U : std_logic_vector(2 donto ) := ""; constant OPOE_S : std_logic_vector(2 donto ) := ""; constant OPOE_SSUB : std_logic_vector(2 donto ) := ""; constant OPOE_UMUL : std_logic_vector(2 donto ) := ""; constant OPOE_SMUL : std_logic_vector(2 donto ) := ""; Using objects rom a package library ieee; use ieee.std_logic_6.all; library ork; use ork.alu_pkg.all; entity alu_comb is.. end alu_pkg; 9 2 2
21 VHL escription Styles VHL escription Styles Miing escription Styles Inside o an rchitecture datalo oncurrent statements synthesizable structural behavioral omponents and Sequential statements interconnects Registers Shit registers ounters State machines EE 8 FPG and SI esign ith VHL 2 22 Mied Style Modeling architecture RHITETURE_NME o ENTITY_NME is Here you can declare signals, constants, unctions, procedures omponent declarations begin oncurrent statements: oncurrent simple signal assignment onditional signal assignment Selected signal assignment Generate statement omponent instantiation statement Process statement inside process you can use only sequential statements end RHITETURE_NME; oncurrent Statements PRNG Eample () library IEEE; use IEEE.ST_LOGI_6.all; use ork.prng_pkg.all; ENTITY PRNG IS PORT( oe : in std_logic_vector( donto ); Load_oe : in std_logic; Seed : in std_logic_vector( donto ); Init_Run : in std_logic; lk : in std_logic; urrent_state : out std_logic_vector( donto )); EN PRNG; RHITETURE mied OF PRNG is signal nds : std_logic_vector( donto ); signal Sin : std_logic; signal oe_ : std_logic_vector( donto ); signal Shit5_ : std_logic_vector( donto ); 23 2 PRNG Eample (2) ata Flo Sin <= nds() XOR nds() XOR nds(2) XOR nds(3) XOR nds(); urrent_state <= Shit5_; nds <= oe_ N Shit5_; Behavioral oe_reg: PROESS(lk) IF rising_edge(lk) THEN IF Load_oe = '' THEN oe_ <= oe; EN IF; EN IF; EN PROESS; Structural Shit5_Reg : ENTITY ork.shit5(behavioral) PORT MP ( => Seed, Load => Init_Run, Sin => Sin, => lk, => Shit5_); EN mied; Sequential Logic Synthesis or Beginners 25 EE 8 FPG and SI esign ith VHL 26 2
22 For Beginners Use processes ith very simple structure only to describe registers shit registers counters state machines. Use eamples discussed in class as a template. reate generic entities or registers, shit registers, and counters, and instantiate the corresponding components in a higher level circuit using GENERI MP PORT MP. Supplement sequential components ith combinational logic described using concurrent statements. Sequential Logic Synthesis or Intermediates 27 EE 8 FPG and SI esign ith VHL 28 For Intermmediates For Intermmediates (2). Use Processes ith IF and SE statements only. o not use LOOPS or VRIBLES. 2. Sensitivity list o the PROESS should include only signals that can by themsleves change the outputs o the sequential circuit (typically, clock and asynchronous set or reset) 3. o not use PROESSes ithout sensitivity list (they can be synthesizable, but make simulation ineicient) Given a single signal, the assignments to this signal should only be made ithin a single process block in order to avoid possible conlicts in assigning values to this signal. Process : PROESS (a, b) y <= a N b; EN PROESS; Process 2: PROESS (a, b) y <= a OR b; EN PROESS;
ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. Behavioral Design Style: Registers & Counters.
ECE 55 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks Required reading P. Chu, RTL Hardware esign using VHL Chapter 5.1, VHL Process Chapter 8, Sequential Circuit esign: Principle
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 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 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 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 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 informationECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule
EEU530 EE U530 igital Hardware Synthesis Lecture 11: Prof. Miriam Leeser mel@coe.neu.edu October 18, 2005 Sequential Logic in VHL Finite State Machines in VHL Project proposals due now HW 4 due Wednesday,
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 6 Combinational and sequential circuits
EE 459/5 HL Based igital esign with Programmable Logic Lecture 6 ombinational and sequential circuits Read before class: hapter 2 from textbook Overview ombinational circuits Multiplexer, decoders, encoders,
More informationELE432. ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY Designing with VHDL
ELE432 ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY Designing with VHDL Organization of the Week Quartus II and simple I/O Combinational Sequential References Required P. Chu, FPGA Prototyping by VHDL
More informationThe process. Sensitivity lists
The process process itself is a concurrent statement but the code inside the process is executed sequentially Process label (optional) Process declarative region Process body entity Test is, : in bit;
More informationECE 545 Lecture 7. Modeling of Circuits with a Regular Structure. Aliases, Attributes, Packages. Mixing Design Styles. George Mason University
ECE 545 Lecture 7 Modeling of Circuits with a Regular Structure Aliases, Attributes, Packages Mixing Design Styles George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapters
More information! Initially developed under DOD auspices, later standardized as IEEE standards , , & (standard logic data type)
VHDL Introduction, Part I Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer cademic Publishers, 2001, ISN 0-7923-7439-8
More informationLecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1
Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The
More informationECE 545 Lecture 9. Modeling of Circuits with a Regular Structure. Aliases, Attributes, Packages. George Mason University
ECE 545 Lecture 9 Modeling of Circuits with a Regular Structure Aliases, Attributes, Packages George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapters 14.5 For Generate
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 informationIntroduction to VHDL #3
ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)
More informationDigital Systems Design
Digital Systems Design Review of Combinatorial Circuit Building Blocks: VHDL for Combinational Circuits Dr. D. J. Jackson Lecture 2-1 Introduction to VHDL Designer writes a logic circuit description in
More informationECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University
ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description
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: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More informationVHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
More informationLattice VHDL Training
Lattice Part I February 2000 1 VHDL Basic Modeling Structure February 2000 2 VHDL Design Description VHDL language describes a digital system as a set of modular blocks. Each modular block is described
More information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
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 informationChapter 6 Combinational-Circuit Building Blocks
Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
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 informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
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 545 Lecture 4. Simple Testbenches. George Mason University
ECE 545 Lecture 4 Simple Testbenches George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 2.2.4, Testbenches 2 Testbenches ECE 448 FPGA and ASIC Design with VHDL 3 Testbench
More informationECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers
ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter
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 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 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 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 informationIntroduction to VHDL. Main language concepts
Introduction to VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Current standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab
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 informationComputer-Aided Digital System Design VHDL
بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles
More informationIT T35 Digital system desigm y - ii /s - iii
UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION
More informationAssignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture
Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification
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 informationMulti-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized
Multi-valued Logic Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized X, unknown 0, logic 0 1, logic 1 Z, high impedance W, unknown L, logic 0 weak H, logic 1 weak - ); don t care Standard
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 informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
More informationWriting VHDL for RTL Synthesis
Writing VHDL for RTL Synthesis Stephen A. Edwards, Columbia University December 21, 2009 The name VHDL is representative of the language itself: it is a two-level acronym that stands for VHSIC Hardware
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 informationThe University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003
The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam February 26, 2003 1. (20 points) Describe the following logic expression (A B D) + (A B C) + (B C ) with a structural VHDL
More informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationELCT 501: Digital System Design
ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description
More informationCprE 583 Reconfigurable Computing
Recap 4:1 Multiplexer CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #18 VHDL for Synthesis I LIBRARY ieee
More informationECE U530 Digital Hardware Synthesis. Course Accounts and Tools
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
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 informationLecture 4. VHDL Fundamentals. George Mason University
Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with
More informationCounters and Simple Design Example
ECE 322 Digital Design with VHDL Counters and Simple Design Example Lecture 2 extbook References n Sequential Logic Review Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design,
More informationSRI SUKHMANI INSTITUTE OF ENGINEERING AND TECHNOLOGY, DERA BASSI (MOHALI)
SRI SUKHMANI INSTITUTE OF ENGINEERING AND TECHNOLOGY, DERA BASSI (MOHALI) VLSI LAB MANUAL ECE DEPARTMENT Introduction to VHDL It is a hardware description language that can be used to model a digital system
More information!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"
!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"!!"#$%&'#()#*+"+#,-."/0110#230#4."50",+"+#)6# 6+-+#(.6+-0#)4475.8)60#0/#.65-0#230#9+**+"+# 2.48).-0#(.6+-0#! 2+"*5."5*:#,."/0110#;)**0! *),".6*:#-.99-0*0"5."+#2+660,.40"5)#;)*)2)#
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 informationIntroduction to VHDL. Main language concepts
Introduction to VHDL VHSI (Very High Speed Integrated ircuit) Hardware Description Language urrent standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab support
More informationMidterm Exam Thursday, October 24, :00--2:15PM (75 minutes)
Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm
More informationEENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering
EENG 2910 Project III: Digital System Design Due: 04/30/2014 Team Members: University of North Texas Department of Electrical Engineering Table of Content i Contents Abstract...3 Introduction...3 Report...4
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 informationDESCRIPTION OF DIGITAL CIRCUITS USING VHDL
DESCRIPTION OF DIGITAL CIRCUITS USING VHDL Combinatinal circuits Sequential circuits Design organization. Generic design Iterative operations Authors: Luis Entrena Arrontes, Celia López, Mario García,
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 informationDepartment of Electronics & Communication Engineering Lab Manual E-CAD Lab
Department of Electronics & Communication Engineering Lab Manual E-CAD Lab Prasad V. Potluri Siddhartha Institute of Technology (Sponsored by: Siddhartha Academy of General & Technical Education) Affiliated
More informationVHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2
VHDL 2 Combinational Logic Circuits Reference: Roth/John Text: Chapter 2 Combinational logic -- Behavior can be specified as concurrent signal assignments -- These model concurrent operation of hardware
More informationCMPT 250: Computer Architecture. Using LogicWorks 5. Tutorial Part 1. Somsubhra Sharangi
CMPT 250: Computer Architecture Using LogicWorks 5 Tutorial Part 1 Somsubhra Sharangi What is VHDL? A high level language to describe digital circuit Different that a programming language ( such as Java)
More informationIntroduction to VHDL #1
ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn
More informationEECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements
EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy
More information310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006
310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court
More informationDigital Design with SystemVerilog
Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?
More informationLecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity
Required reading Lecture 4 VHDL Fundamentals P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL George Mason University 2 Example: NAND Gate Design Entity a b z a b z 0
More informationECEU530. Project Presentations. ECE U530 Digital Hardware Synthesis. Rest of Semester. Memory Structures
ECEU53 ECE U53 igital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 5, 26 Lecture 8: Student project presentations Memories and FPGAs Tri-state buffers and busses Student project presentations:
More informationInthis lecture we will cover the following material:
Lecture #8 Inthis lecture we will cover the following material: The standard package, The std_logic_1164 Concordia Objects & data Types (Signals, Variables, Constants, Literals, Character) Types and Subtypes
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 informationChapter 2 Basic Logic Circuits and VHDL Description
Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.
More informationEEL 4712 Digital Design Test 1 Spring Semester 2008
IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. Also, as always, the best answer gets the most points. COVER SHEET: Problem:
More informationChapter 3 Part 1 Combinational Logic Design
Universit of Wisconsin - Madison EE/omp Sci 352 igital Sstems undamentals Kewal K. Saluja and Yu Hen Hu Spring 22 hapter 3 Part ombinational Logic esign Originals b: harles R. Kime and Tom Kamisnski Modified
More informationCS/EE Homework 7 Solutions
CS/EE 260 - Homework 7 Solutions 4/2/2001 1. (20 points) A 4 bit twisted ring counter is a sequential circuit which produces the following sequence of output values: 0000, 1000, 1100, 1110, 1111, 0111,
More informationSingle Cycle Datapath
Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.-4.4 Appendices B.7, B.8, B.,.2 Practice Problems:, 4, 6, 9 ing (2) Introduction We will examine two MIPS implementations
More informationCS Spring Combinational Examples - 1
S 5 - Spring 2 - ombinational Examples - ombinational Logic esign ase Studies General esign Procedure for ombinational Logic General design procedure Examples alendar subsstem to 7-segment displa controller
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 informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationVerilog Behavioral Modeling
Verilog Behavioral Modeling Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:
More informationEE434 ASIC & Digital Systems
EE434 ASIC & Digital Systems VHDL Sequential Processing Spring 2016 Dae Hyun Kim daehyun@eecs.wsu.edu 1 Sequential Statements Sequential statements are executed sequentially. Format ARCHITECTURE architecture_name
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 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 informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationAdvanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009
2065-15 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis 26 October - 20 November, 2009 FPGA Architectures & VHDL Introduction to Synthesis Nizar Abdallah ACTEL Corp.2061
More informationECE 448 Lecture 5. FPGA Devices
E 448 Lecture 5 FPGA evices E 448 FPGA and ASIC esign with VHL George Mason University Required reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional etails 2 What is an FPGA?
More informationINTRODUCTION TO VHDL. K. Siozios
INTRODUCTION TO VHDL K. Siozios Section of Electronics and Electronic Computers Department of Physics Aristotle University of Thessaloniki (AUTH), Greece Reconfigurable Architectures Today Moore s Law
More informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
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 informationLecture 5: State Machines, Arrays, Loops. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 5: State Machines, Arrays, Loops BCD to Excess-3 (XS 3 ) Code Converter Example: Fig. 2-53 2 Easier to use one type of code (e.g. XS 3 ) over the other type (e.g. BCD)
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 informationCSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\
CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,
More information