a VHDL a nagyon nagy sebességű integrált áramkör hardverleíró nyelvét jelenti. Ez egy programozási nyelv, amelyet egy digitális rendszer modellezésére használnak adatfolyam, viselkedési és strukturális modellezési stílus szerint. Ezt a nyelvet először 1981-ben vezették be a védelmi minisztérium (DoD) a VHSIC program keretében.
tervezés leírása
a VHDL-ben egy entitás egy hardvermodul leírására szolgál. Egy entitás leírható a következővel:,
- entitás nyilatkozat
- architektúra
- konfiguráció
- csomag nyilatkozat
- csomag test
lássuk, mik ezek?
entitás deklaráció
meghatározza a hardvermodul nevét, bemeneti kimeneti jeleit és módjait.
szintaxis−
entity entity_name is Port declaration;end entity_name;
a gazdálkodó egység nyilatkozatának ‘entity’ – vel kell kezdődnie, és ‘end’ kulcsszavakkal kell végződnie. Az irány input, output vagy inout lesz.
a | portban olvasható |
ki | Port írható |
Inout | a Port olvasható és írható |
puffer | Port olvasható és írható, csak egy forrása lehet. |
építészet –
az architektúra szerkezeti, adatfolyam, viselkedési vagy vegyes stílusban írható le.
szintaxis−
architecture architecture_name of entity_name architecture_declarative_part;begin Statements;end architecture_name;
itt meg kell adnunk az entitás nevét, amelyre az architektúra törzsét írjuk. Az architektúra utasításoknak a ‘begin’ és az ‘Enterprises’ kulcsszón belül kell lenniük. Az architektúra deklaratív része tartalmazhat változókat, állandókat vagy komponens deklarációt.
adatáramlás-modellezés
ebben a modellezési stílusban az entitáson keresztüli adatáramlást egyidejű (párhuzamos) jel segítségével fejezzük ki. A VHDL egyidejű utasításai a WHEN és a GENERATE.
Ezek mellett a hozzárendelések csak operátorokat használnak (és nem +,*, sll stb.) is fel lehet használni, hogy építsenek kódot.
végül egy speciális Hozzárendelés, az úgynevezett blokk is alkalmazható ebben a fajta kódban.
egyidejű kódban a következők használhatók−
- operátorok
- a WHEN utasítás (WHEN/ELSE vagy WITH/SELECT/WHEN);
- a GENERATE utasítás;
- a BLOCK utasítás
viselkedési modellezés
ebben a modellezési stílusban az entitás utasításkészletként való viselkedése a megadott sorrendben kerül végrehajtásra. Csak a folyamatba, függvénybe vagy eljárásba helyezett utasítások szekvenciálisak.
a folyamatok, függvények és eljárások a kód egyetlen szakaszai, amelyeket egymás után hajtanak végre.
összességében azonban ezen blokkok bármelyike még mindig párhuzamos a rajta kívül elhelyezett bármely más állítással.
a viselkedési kód egyik fontos szempontja, hogy nem korlátozódik a szekvenciális logikára. Valójában vele szekvenciális áramköröket, valamint kombinációs áramköröket építhetünk.
a viselkedési utasítások IF, WAIT, CASE és LOOP. A változók szintén korlátozottak, és állítólag csak szekvenciális kódban használhatók. A változó soha nem lehet Globális, így az értéke nem adható ki közvetlenül.
szerkezeti modellezés
ebben a modellezésben az entitást összekapcsolt komponensek halmazaként írják le. A komponens példányosítási utasítás egy egyidejű utasítás. Ezért ezeknek az állításoknak a sorrendje nem fontos. A modellezés szerkezeti stílusa csak az összetevők összekapcsolását írja le (fekete dobozként tekintve), anélkül, hogy maguk az összetevők, sem az általuk együttesen képviselt entitás viselkedését sugallná.
a szerkezeti modellezésben az építészeti test két részből áll: a deklaratív részből (a kulcsszó kezdete előtt) és az utasításrészből (a kulcsszó kezdete után).
logikai művelet-és kapu
X | Y | Z |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
hullámformák
logikai művelet – vagy kapu
X | Y | Z |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
hullámformák
logikai művelet – nem kapu
X | Y |
---|---|
0 | 1 |
1 | 0 |
hullámformák
logikai művelet-NAND kapu
X | Y | z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
hullámformák
logikai művelet-NOR kapu
X | Y | z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
hullámformák
logikai művelet-XOR kapu
X | Y | Z |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
hullámformák
logikai művelet-X-nor kapu