VLSI Design-VHDL Introduction

advertises

VHDL tulee sanoista very high-speed integrated circuit hardware description language. Se on ohjelmointikieli, jota käytetään digitaalisen järjestelmän mallintamiseen dataflow, behavioral and structural style of modeling. Tämä kieli otettiin käyttöön vuonna 1981 puolustusministeriön (DoD) vhsic-ohjelmassa.

kuvaa suunnittelua

VHDL: ssä kokonaisuutta käytetään kuvaamaan laitteistomoduulia. Yhteisö voidaan kuvata käyttämällä,

  • Yhteisöilmoitus
  • Arkkitehtuuri
  • kokoonpano
  • Pakettiilmoitus
  • Pakettirunko

katsotaanpa mitä nämä ovat?

Yhteisöilmoitus

siinä määritellään laitteistomoduulin nimet, lähtösignaalit ja moodit.

syntaksi−

entity entity_name is Port declaration;end entity_name;

yhteisöilmoituksen olisi alettava sanoilla ”yhteisö” ja päätyttävä avainsanoilla ”loppu”. Suunta on input, output tai inout.

portin voi lukea
Out portti voidaan kirjoittaa
Inout portti voidaan lukea ja kirjoittaa
Puskuri portti voidaan lukea ja kirjoittaa, sillä voi olla vain yksi lähde.

Arkkitehtuuri –

arkkitehtuuria voidaan kuvata rakenteellisella, dataflow -, behavioral-tai sekatyylillä.

syntaksi−

architecture architecture_name of entity_name architecture_declarative_part;begin Statements;end architecture_name;

Tässä, Meidän pitäisi määrittää yksikön nimi, jolle kirjoitamme arkkitehtuurin elin. Arkkitehtuurilauseiden tulisi olla avainsanan ”begin” ja ” énd ” sisällä. Arkkitehtuurin deklaratiivinen osa voi sisältää muuttujia, vakioita tai komponenttiilmoituksia.

Datavirtamallinnus

tässä mallinnustyylissä datavirta olion läpi ilmaistaan käyttäen samanaikaista (rinnakkaista) signaalia. Samanaikaiset lausekkeet VHDL: ssä ovat milloin ja tuottaa.

niiden lisäksi ainoastaan operaattoreita käyttävät toimeksiannot (ja, ei, +,*, sll jne.) voidaan käyttää myös koodin muodostamiseen.

tämänkaltaisessa koodissa voidaan lopuksi käyttää myös erikoistehtävää, jota kutsutaan lohkoksi.

samanaikaisessa koodissa voidaan käyttää seuraavia−

  • operaattorit
  • The WHEN statement (WHEN/ELSE tai WITH/SELECT / WHEN);
  • the GENERATE statement;
  • the BLOCK statement

Behavioral Modeling

tässä mallinnustyylissä olion käyttäytyminen lausekkeiden joukkona suoritetaan peräkkäin määrätyssä järjestyksessä. Vain prosessin, funktion tai menettelyn sisään sijoitetut lauseet ovat peräkkäisiä.

prosessit, funktiot ja menettelyt ovat ainoat koodin osat, jotka suoritetaan peräkkäin.

kuitenkin kokonaisuutena jokin näistä lohkoista on edelleen yhtäaikainen sen ulkopuolelle sijoitettujen muiden lausekkeiden kanssa.

eräs käyttäytymiskoodin tärkeä näkökohta on se, että se ei rajoitu jaksottaiseen logiikkaan. Sen avulla voimme rakentaa peräkkäisiä piirejä sekä kombinaatiopiirejä.

käyttäytymislauseet ovat IF, WAIT, CASE ja LOOP. Muuttujia on myös rajoitettu, ja niitä on tarkoitus käyttää vain peräkkäisinä koodeina. Muuttuja ei voi koskaan olla globaali, joten sen arvoa ei voi jakaa suoraan.

Rakennemallinnus

tässä mallinnuksessa kokonaisuutta kuvataan yhteenliitettyjen komponenttien joukkona. Komponentti instantiaatiolauseke on samanaikainen lausuma. Siksi näiden lausumien järjestys ei ole tärkeä. Mallintamisen rakenteellinen tyyli kuvaa vain komponenttien yhteenliittämistä (joita pidetään mustina laatikkoina), vihjaamatta itse komponenttien tai niiden kollektiivisesti edustaman kokonaisuuden käyttäytymisestä.

rakennemallinnuksessa arkkitehtuurin runko koostuu kahdesta osasta: deklaratiivisesta osasta (ennen avainsanan alkua) ja statement-osasta (avainsanan jälkeen alkaa).

Logiikkaoperaatio – ja portti

X Y Z
0 0 0
0 1 0
1 0 0
1 1 1

aaltomuodot

Logiikkaoperaatio – tai portti

X Y Z
0 0 0
0 1 1
1 0 1
1 1 1

aaltomuodot

Logiikkaoperaatio – Ei portti

X Y
0 1
1 0

aaltomuodot

Logiikkaoperaatio-NAND-portti

X Y z
0 0 1
0 1 1
1 0 1
1 1 0

aaltomuodot

Logiikkaoperaatio – nor Gate

X Y z
0 0 1
0 1 0
1 0 0
1 1 0

aaltomuodot

Logiikkaoperaatio-XOR-portti

X Y Z
0 0 1
0 1 1
1 0 1
1 1 0

aaltomuodot

Logiikkaoperaatio-X-NOR Gate

Vastaa

Sähköpostiosoitettasi ei julkaista.

Previous post All About Burning Leafs
Next post Joseph Abboud