Compoeti seueziali i VHDL Architetture e reti logiche Esercitazioi VHDL a.a. 2005/06 Compoeti seueziali i VHDL Stefao Ferrari Uiversità egli Stui i Milao Dipartimeto i Tecologie ell Iformazioe Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 1/17 Flip-flop i tipo D 0 0 1 1 etity FF_D is port (, : i bit; : out bit); e FF_D; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 2/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 1
Compoeti seueziali i VHDL Flip-flop D: moello comportametale architecture behav1 of FF_D is process () if ( evet a = 1 ) the <= ; e if; e process; e behav1; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 3/17 Flip-flop D: moello comportametale (2) architecture behav2 of FF_D is process -- o sesitivity list wait util evet a = 1 ; <= ; e process; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 4/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 2
Compoeti seueziali i VHDL Registro a bit [0.. 1] [0.. 1] etity REG4 is port ( : i bit_vector(0 to 3); : i bit; : out bit_vector(0 to 3)) e REG4; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 5/17 Registro a 4 bit: moello strutturale 0 1 2 3 0 1 2 3 Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 6/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 3
Compoeti seueziali i VHDL Registro a 4 bit: moello strutturale (2) architecture STRUCT of REG4 is compoet FF_D port (, : i bit; : out bit); e compoet; u1: FF_D port map ((0),,(0)); u2: FF_D port map ((1),,(1)); u3: FF_D port map ((2),,(2)); u4: FF_D port map ((3),,(3)); e STRUCT; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 7/17 Flip-flop i tipo SR s r s r 0 0 0 1 0 1 0 1 1 1 X - - 0 - - 1 etity FF_set_reset is port (s, r, : i st_logic; : out st_logic); e FF_set_reset; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 8/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 4
Compoeti seueziali i VHDL Flip-flop SR: moello comportametale architecture BEHAV of FF_set_reset is process () if ( evet a = 1 ) the if (s= 1 a r= 1 ) the <= X ; elsif (r= 1 ) the <= 0 ; elsif (s= 1 ) the <= 1 ; e if; e if; e process; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 9/17 Flip-flop SR co reset asicroo architecture BEHAV2 of FF_set_reset is process (, r) if (r= 1 ) the -- reset asicroo e prioritario <= 0 ; elsif ( evet a = 1 ) the if (s= 1 ) the <= 1 ; e if; e if; e process; e BEHAV2; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 10/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 5
Compoeti seueziali i VHDL Cotatore out # froti out 0 0000 1 0001 2 0010 3 0011 Cotatore a bit Cotatore moulo 2 Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 11/17 Cotatore (2) reset set loa ata i out up/ow eable Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 12/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 6
Compoeti seueziali i VHDL architecture behav of cot8 is sigal t: st_logic_vector(0 to 7); process(, reset) if (reset = 1 ) the t <= "00000000"; elsif ( evet a = 1 ) the t <= t + "00000001"; e if; e process; outa <= t; -- assegameto cocorrete e behav; Cotatore co reset Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 13/17 Cotatore completo + 1 1 0 + out up/ow eable ata i loa reset set Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 14/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 7
Compoeti seueziali i VHDL Shift register etity ShiftRegister is port (, : i st_logic; : out st_logic); e ShiftRegister; Il umero i bit el registro o compare ell iterfaccia. Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 15/17 Shift register (2) architecture behav of ShiftRegister is sigal t : st_logic_vector(0 to 3); process () if evet a = 1 the t <= & t(0 to 2); <= t(3); e if; e process; e behav; Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 16/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 8
Compoeti seueziali i VHDL Shift register: segali aizioali reset poe tutti i bit a "0" set poe tutti i bit a "1" right/lef t irezioe ello scorrimeto eable abilita/isabilita lo scorrimeto ata i/loa scrittura parallela ata out lettura parallela Stefao Ferrari Uiversità egli Stui i Milao Architetture e reti logiche VHDL Compoeti seueziali i VHDL a.a. 2005/06 - p. 17/17 Stefao Ferrari Architetture e reti logiche VHDL a.a. 2005/06 9