Professional Documents
Culture Documents
Dig Rendsz 1 2
Dig Rendsz 1 2
2013.01.04.
Keresztes Pter
A GAJSKI-KUHN DIAGRAM
Alapelv:
Rendezzk a digitlisrendszerek lersait clok s szintek szerint
2013.01.04. Keresztes Pter 2
A VHDL nyelv
Az IEEE ltal 1987-ben szabvny szintre emelt hardver-ler nyelv s szimulcis krnyezet
2013.01.04.
Keresztes Pter
szekvencilis s konkurrens
2013.01.04.
Keresztes Pter
Tpusok s csomagok
- szabvnyos (standard) s - felhasznl ltal definilt tpusok. A tpus-definils legjobb helye : a VHDL csomag (package) A szabvnyos tpusok a STANDARD nev csomagban vannak deklarlva. A STANDARD csomag szabvnyos tpusai : boole-tpus (boolean) bit karakter (character) egsz (integer) vals (real) id (time) !!!!!!!
2013.01.04. Keresztes Pter 5
2013.01.04.
Keresztes Pter
Objektumok (rtkhordozk)
- konstansok (constant)
- vltozk (variable) - jelek (signal) Az rtkhordozkat deklarljuk. Pldk : constant c : integer := -2345; variable v1 : boolean ; signal READY : bit := '1'; A jel (signal) sajtossgai : A VHDL szimultor minden egyes jelhez hozzrendel egy "hatrid-naplt". Minden egyes jelnek van regisztrlt mltja, jelene s jvje. A jelnek nemcsak aktulis rtke, hanem a mltbl szrmaz jvbeli jslatok is tartoznak hozz.
2013.01.04. Keresztes Pter 7
Vgrehajts: 1. A szimultor kirtkeli a a jobboldali kifejezs (x1 and x2) aktulis rtkt. 2. A szimultor elveszi az y jelhez rendelt naplt, s regisztrlja, hogy mostantl 3 ns mlva az y jel rtkt a kiszmtott rtkre kell megvltoztatni. 3. Ezutn a szimultor ttr a kvetkez utasts vgrehajtsra. Ezutn kt alapeset lehet : - 3 ns elteltig nincs az y rtkre vonatkoz jabb jslat. Az y jel teht felveszi a megjsolt rtket. - Mieltt a 3 ns eltelne, y-ra egy jabb utasts- vgrehajts jabb rtket jsol. Ilyenkor = trldik a rgi jslat (inercia-modell) = marad a rgi jslat is (transzport-modell)
2013.01.04. Keresztes Pter 8
Entits s architektrk
EGY SZIMULLHAT VHDL LERSNAK LEGALBB EGY ENTITST, S LEGALBB EGY HOZZ TARTOZ ARCHITEKTRT TARTALMAZNIA KELL.
2013.01.04.
Keresztes Pter
ENTITS
A krnyezetbl kiragadott hardware egysg, fekete doboznak tekintve. entity PROCESSOR is port( DATA_BUS :inout byte; ADDR_BUS : out double_byte; C_BUSI : in bit_vector (1 to 19); C_BUSO: out bit_vector(1 to 13); end PROCESSOR;
2013.01.04. Keresztes Pter 10
AZ ARCHITEKTRA FOGALMA
Az elbbi entitssal kapcsolatban felmerl krdsek: Hogyan mkdik a PROCESSOR? Mi van a PROCESSOR belsejben? Ezekre a krdsekre az ARCHITEKTRA vagy ARCHITEKTRK vlaszol(nak) (architecture) Ha az architektra csak az "A" krdsre vlaszol, akkor viselkedsi, ha csak a "B" krdsre, akkor strukturlis. Egy entitsnak tbb architektrja lehet.
2013.01.04. Keresztes Pter 11
ARCHITEKTRK
architecture BEHAVIOR of PROCESSOR is begin ........ . end BEHAVIOR; architecture STRUCTURE of PROCESSOR is. begin ........ end SRUCTURE;
2013.01.04. Keresztes Pter 12
Utastsok
-- SZEKVENCILIS
-- KONKURRENS
2013.01.04.
Keresztes Pter
13
2013.01.04.
Keresztes Pter
16
Vgrehajts : 1. az a*b rtk kiszmtsa 2. s1 h.i. napljba annak bejegyzse, hogy 10 ns mlva s1 felveszi ezt az rtket. 3. Ha 10 ns eltelte eltt ezt az utastst ismt vgrehajtja a SZIMULCI, s a jobboldal rtke addigra megvltozott, vagy egy msik utasts ezalatt ms rtket r el s1-re, ez a jslat trldik.
2013.01.04. Keresztes Pter 19
Transport ksleltets
s2 <= transport c + d after 20 ns; Vgrehajts: 1. az a*b rtk kiszmtsa 2. s2 h.i. napljba annak bejegyzse, hogy 10 ns mlva felveszi ezt az rtket. 3. Ha 10 ns eltelte eltt ezt az utastst ismt vgrehajtja a SZIMULCI, s a jobboldal rtke addigra megvltozott, vagy egy msik utasts ezalatt s2-re s egy ksbbi idpontra ms rtket jsol, ez a jslat is rvnyben marad.
2013.01.04. Keresztes Pter 20
y <=
x1 when SELECT1 = '1' after 1 ns else x2 when SELECT2 = '1' after 1 ns else y;
2013.01.04.
Keresztes Pter
23
architecture STRUCT of PROCESSZOR is .... component ALU port ( A : in byte; B : in byte; RESULT : out byte; CARRY_in in bit; CARRY_out out bit); end component; begin . . UNIT_12 : ALU port map( BUS1, BUS2, ACC_in, CY, FLAG3_in); . . end structure;
Keresztes Pter 24
2013.01.04.
UNIT_12 : ALU port map( A => BUS1, B => BUS2, CARRY_in => CY, CARRY_out => FLAG3_in, RESULT =>ACC_in ); .
2013.01.04. Keresztes Pter 25
CLOCKGEN : process begin clock <= '1' ; wait for 10 ns; clock <= '0'; wait for 10 ns; end process;
2013.01.04. Keresztes Pter 26
rzkenysgi lists
MLTPR : process (X1, X2) begin Y <= X1 * X2 after 100 ns; end process;
MLTPR : process begin Y <= X1 * X2 after 100 ns; wait on x1, x2; end process;
2013.01.04. Keresztes Pter 27
2013.01.04.
Keresztes Pter
28
B1 : block signal y : integer := 0; begin c <= a * b after 10 ns; d <= a + c after 1 ns; y <= a - d after 2 ns; out1 <= y; end block; B2 : block signal z : integer; begin e <= c * b after 10 ns; z <= d + e after 1 ns; out2 <= z; end block; end BEH;
Keresztes Pter 30
2013.01.04.
Alprogramok s csomagok
2013.01.04.
Keresztes Pter
31
Hibt jelezzen a szimultor, ha egyszerre kt processzus kvnja meghajtani ugyanazt a jelet. A fggvny gy oldja fel a konfliktust, hogy rtket definil a tbbszrs meghajts esetre is. Pldk : Ld. VHDL feladatok
Keresztes Pter 32
2013.01.04.
egyszer kombincis hlzatok szinkron sorrendi hlzatok Huffmann-fle aszinkron hlzatok ksleltets-rzketlen kombincis hlzatok ksleltets-rzketlen aszinkron hlzatok NCL hlzatok
2013.01.04.
Keresztes Pter
34
Uniszinkron rendszerek Azt egsz rendszert egyetlen rajel mkdteti,homogn fzist felttelezve. (globlis rajel) Aszinkron rendszerek Nem egyetlen rajel mkdteti az egsz rendszert
2013.01.04. Keresztes Pter 35
Uniszinkron rendszerek
Egyetlen globlis (az egsz rendszerre kiterjed) rajellel mkdnek, s a rendszer minden moduljra nzve az rajel fzisa is kttt Komponensek : szinkron trolk multiplexerek funkcis egysgek
2013.01.04. Keresztes Pter 36
Aszinkron rendszerek
Multiszinkron rendszerek egyetlen globlis rajel mkdteti a rendszert, de fzisa a klnbz egysgekben tetszleges, kzmbs Tbb rajeles (multi-clocked) rendszerek minden modulnak sajt, a tbbitl fggetlen rajele van rajel nlkli rendszerek
2013.01.04.
Keresztes Pter
37
NCL rendszerek
Mikro-futszalagok
2013.01.04.
Keresztes Pter
38
Egy hlzatra egy rajel temben az X bemenet rtkei rkeznek. Adjon a hlzat egyetlen Z kimenete 1-et, ha ktszer egyms utn X-re 1 rkezik!
2013.01.04.
Keresztes Pter
39
llapot-tmeneti grf
2013.01.04.
Keresztes Pter
40
2013.01.04.
Keresztes Pter
41
SZINKRON HLZAT-SPECIFIKCI 1.
entity A_SYNC1 is port ( X : in bit; Z : out bit; CLK : inout bit); end; architecture BEH of A_SYNC1 is type state_type is (a, b, c); signal nq, q : state_type; begin psample: process begin wait until CLK = '1'; if q = a and X = '0' then nq <= a after 1 ns; elsif q = a and X = '1' then nq <= b after 1 ns; elsif q = b and X = '0' then nq <= a after 1 ns; elsif q = b and X = '1' then nq <= c after 1 ns; elsif q = c and X = '0' then nq <= a after 1 ns; elsif q = c and X = '1' then nq <= c after 1 ns; end if; wait until CLK = '0';
2013.01.04. Keresztes Pter q <= nq after 1 ns; 42
end process;
2013.01.04.
end BEH;
Keresztes Pter
43
Tervezznk kt-bemenet (X1, X2) sorrendi S ramkrt. A Z kimenet akkor s csakis akkor 1, ha az X1 bemenet elbb ll 1-re, mint az X2. A tervezst vgezzk el a kvetkez llapotot elllt hlzat kzvetlen visszacsatolsval, s S-R trolkkal trtn visszacsatolssal is !
2013.01.04.
Keresztes Pter
44
Clarchitektra
2013.01.04.
Keresztes Pter
45
2013.01.04.
Keresztes Pter
46
2013.01.04.
Keresztes Pter
47
z <= '1' after 1 ns when y = c and x1 = '1' and x2 = '1' else '1' after 1 ns when y = e and x1 = '1' and x2 = '1' else '0'; end DF1;
2013.01.04. Keresztes Pter 48
SPECIFIKCI PROCESSZUSOKKAL
pr1: process(X1, X2, y) begin if (y = a and X1 = '0' and X2 = y <= a after 1 ns; elsif(y = a and X1 = '0' and X2 y <= b after 1 ns; elsif(y = a and X1 = '1' and X2 y <= c after 1 ns; elsif(y = a and X1 = '1' and X2 y <= x;
. .
'0')
then
else y <= x after 1 ns; end if; end process; pr2: process(X1, X2, y) begin if y = c and X1 = '1' and X2 = '1'then Z <= '1' after 1 ns; elsif y = c and X1 = '1' and X2 = '1'then Z <= '1' after 1 ns; elsif y = e and X1 = '1' and X2 = '1'then Z <= '0' after 1 ns; end if; end process; 2013.01.04. Keresztes Pter
49
2013.01.04.
Keresztes Pter
50
A HUFFMANN-fle hlzatok htrnyai A bemeneti kombincik szalagja kttt Az llapotkdok megvlasztsa a kritikus versenyhelyzetek miatt kttt Az fy hlzatnak statikus hazrdmentesnek kell lennie A lnyeges hazrdok logikai tervezssel nem szntethetk meg Valamennyi htrny a fizikai ksleltetsbl ered. Ezek miatt LSI-VLSI ramkrkben nem hasznlhatk!!!
2013.01.04. Keresztes Pter 51