You are on page 1of 19

A GAJSKI-KUHN DIAGRAM

Alapelv:
Rendezzk a digitlisrendszerek lersait clok s szintek szerint
2013.01.04. Keresztes Pter 1

A VHDL nyelv

Vltozk s jelek Prhuzamossg s szekvencialits Entits s architektrk

2013.01.04.

Keresztes Pter

Vltozk s jelek
Vltoz : szerepe azonos a VHDL-ben is, mint a legtbb magas szint programozsi nyelvben. v := F(x1, x2); Jel : sajtos VHDL rtkhordoz s <= F(x3, x4) after 1 ns; Specialitsok: idksleltets, jslatlista

2013.01.04.

Keresztes Pter

Szekvencialits s konkurencia
A VHDL-ben vannak :

egyszer s sszetett szekvencilis, valamint Egyszer s sszetett konkurrens utastsok

2013.01.04.

Keresztes Pter

Entits s architektri

Entits BLACK BOX a portokkal, azaz amit lerunk, hogyan kapcsoldik a klvilghoz Architektrk

hogyan mkdik az, ami az entitsban van (viselkedsi architektra) mibl ll, s hogyan kell sszerakni, ami az entitsban van (strukturlis architektra) vegyes
Keresztes Pter 5

2013.01.04.

Egy entits s architektrja


entity NAND2 is port ( A : in bit; B : in bit; Z : out bit := 1); end; architecture BEH of NAND2 is begin Z <= not( A and B) after 1 ns; end BEH;
2013.01.04. Keresztes Pter 6

Standard tpusok
1.
2. 3.

4.
5. 6.

7.

Bit Boolean Natural Integer Real Character Text


deklarci(standard package) : type bit is (0, 1)
2013.01.04. Keresztes Pter 7

A VHDL szemantikjnak f jellemzje


A szemantika alanya nem a szmtgp hanem

A SZIMULTOR

2013.01.04.

Keresztes Pter

Egyszer szekvencilis utastsok 1.


1. v := a + b; (v : vltoz) 2. if b < 0 then v := a + b; else v := a b; end if; 3. for i in 1 to 4 loop v := i * v; end loop; 4. while x > 1.0 then . . . . end loop;

2013.01.04.

Keresztes Pter

Egyszer szekvencilis utastsok 2.


1. . S <= F(x1, x2) after 4 ns; (s : jel) . 2 wait for 12 ns; 3 4 wait on s1, s2, s3; wait until START = 1

2013.01.04.

Keresztes Pter

10

Egyszer konkurrens utastsok


1. Z <= not(A and B) after 2 ns;

2. Y <= x1 when S1 = 1 else x2 when S2 = 1 else anyvalue;

2013.01.04.

Keresztes Pter

11

A konkurrens utasts fogalma a VHDL-ben


A konkurrens utastsokat elszr a szimultor indtsakor vgrehajtja. Az, hogy az els vgrahajts utn mikor hajtja jra vgre a szimultor a konkurrens utastst, ez az utaststl fgg.

2013.01.04.

Keresztes Pter

12

sszetett szekvencilis utastsok


1. Eljrsok procedure P1 (a : in real; b : in real; c : out real) is begin . . . . . . .end P1; 2. Fggvnyek function SUM(a: bit; b : bit; c : bit) return bit; variable v : bit; begin v := (a xor b) xor c; return v; end SUM;
2013.01.04. Keresztes Pter 13

sszetett konkurrens utastsok 1.


1. PROCESSZUS rzkenysgi lista nlkl process begin CLOCK <= 1; wait for 12 ns; CLOCK <= 0; wait for 4 ns; end process;
2013.01.04. Keresztes Pter 14

sszetett konkurrens utastsok 2


2. PROCESSZUS, rzkenysgi listval process(A, B) begin Z <= not ( A and B ) after 1 ns; end process;

2013.01.04.

Keresztes Pter

15

sszetett konkurens utastsok 3


3. BLOKK, vdetlen block begin y1 <= x1 + x2; y2 <= y1 x2; end block;

2013.01.04.

Keresztes Pter

16

sszetett konkurrens utastsok 4.


4. BLOKK (vdett)

block(STRB = 1) begin Q <= guarded D after 1 ns ; end block;

2013.01.04.

Keresztes Pter

17

sszetett konkurrens utastsok 5.


Komponens beltetsek: architecture STRUCTURE of UNIT is ........... GATE1 : NAND2 port map ( INPUT1, INPUT2, S1); GATE2 : NAND2 port map ( S1, INPUT3, OUTPUT); ............ end UNIT;
2013.01.04. Keresztes Pter 18

A REZOLCIS FGGVNY
Egynl tbb konkurens egysg csak akkor hajthatja meg ugyanazt a jelet, ha egy fggvny, a rezolcis fggvny igaztja el a szimultort arrl, hogy melyiket rszestse elnyben, vagy mit tegyen ebben az esetben!!! A rezolcis fggvny, ha van, akkor a jelhez tartozik, s minden alkalommal kirtkeldik, ha a jelet hajtjuk. Egy jel rezolcis fggvnynek a neve a jel deklarcijval egytt, vagy a jel tpusnak defincijban adhat meg.

2013.01.04.

Keresztes Pter

19

You might also like