Výukové programy VHDL: 13 důležitých pojmů

V tomto výukovém programu VHDL probereme některé základní pojmy související s technologií VHDL a několik příkladů s kódováním. Výukový program VHDL je segmentován takto:

TÉMATA DISKUSE

A. Co je VHDL?

B. Historie a standardizace

C. Konstrukční postupy VHDL

D. Některá pravidla a základní informace o VHDL

E. Syntaxe a několik důležitých konceptů pro psaní kódů VHDL

F. Simulátory VHDL pro výuku VHDL

VHDL || Co je VHDL?

Plná forma VHDL znamená Very High Speed ​​Integrated Circuit Hardware Description Language (VHSIC-HDL).

Jak název napovídá, VHDL je jazyk popisu hardwaru nebo speciální typ programovacího jazyka, který popisuje hardwarové implementace digitálního systému a obvodů. Jedná se o silně psaný jazyk a je třeba si uvědomit, že nejde o programovací jazyk.  

Historie a standardizace

Americké ministerstvo obrany významně přispívá k moderní technologické oblasti. Zrodila příliš mnoho skvělých nápadů a inovací. Americká obrana vyvinula VHDL také v roce 1983. Byl vyvinut pro dokumentaci chování aplikačně specifických integrovaných obvodů.

Později byly některé nápady implementovány z programovacích jazyků Ada. VHDL se poprvé standardizovalo v roce 1987. Bylo přidáno několik datových typů několika typů, včetně řetězců a číselných a logických.

Standardizace

VHDL nebo VHSIC-HDL (Very High Speed ​​Integrated Circuit Hardware Description Language) je standardizován standardem IEEE 1076. Aktualizuje se od narození a prošel mnoha revizemi. Podívejme se na některé standardní revize a hlavní aktualizace.

RevizeZprávy
IEEE 1076-1987Revize a standardizace z obrany USA.
IEEE 1076-1993Přišel s největším vydáním a je to nejpoužívanější verze.
IEC 61691-1 - 1- 1: 2004IEC přijala verzi IEEE 1076-2002
IEEE 1076-2008Aktualizováno několika zásadními změnami, jako je - Představení generik na balíčcích a použití externích jmen
IEC 61691-1 - 1- 1: 2011IEC přijala verzi IEEE 1076-2008
Zkontrolujte standardizaci zde, Výuková tabulka VHDL - 1

Návrh VHDL

Návrh VHDL má některé konstrukční jednotky. Jsou známé jako - Entity, Architecture, Configuration a Package.

Subjekt: Entita definuje externí pohledy na model, který je symbolem.

Architektura: Architektura definuje funkčnost modelu, který je schematický.

Konfigurace: Konfigurace se používá pro přidružení architektury k entitě.

Balík: Balíček je soubor informací, na které lze odkazovat moduly VHDL. Balíček VHDL se skládá ze dvou částí. Jsou - prohlášení o balíčku a tělo balíčku.

1200px Vhdl podepsaný doplněk source.svg
Základní kód navržený ve výukovém programu VHDL, Image Credit - Vhdl_signed_adder.pngRevRagnarok odvozená práce: Bernard LadenthinZdroj zmije podepsaný VHDLCC BY-SA 3.0

Prohlášení subjektu

Obecná struktura deklarace entity je uvedena níže -

ENTITY < název_jednotky > IS

          Obecná prohlášení

          Prohlášení o přístavu

KONEC ENTITY <název_jednotky>;

  • může být abecední / numerický nebo alfanumerický.
  • Obecná prohlášení slouží k předávání informací do modelu.
  • Deklarace portů slouží k popisu pinů vstupů a výstupů.
  • Entitu lze uzavřít několika způsoby.
    • KONEC ENTITY <název_jednotky>;
    • KONEC ENTITY;
    • KONEC;

Prohlášení o přístavu

Obecná struktura deklarací portů je uvedena níže -

ENTITY < název_jednotky > IS

          Obecná prohlášení

          - Prohlášení o přístavu:

PORT (

          SIGNÁL CLK, CLR: V BITU;

          q: OUT BIT

          - všimněte si, že v posledním řádku deklarací není středník.

          );

KONEC ENTITY <název_jednotky>;

Struktura prohlášení o přístavu: Název_objektu : ;

  • Třída: Třída je to, co lze s objektem udělat. Tady je třída signál. Nezapomeňte, že SIGNÁL není zapsán během psaní programu; spíše se předpokládá a nevyžaduje.
  • Název_objektu: Je to identifikátor.
  • Mode: Určuje směr.

V - Vstup

VEN - Výstup

VSTUP - Obousměrný

Pufr - Výstup s interní zpětnou vazbou

  • Typ: Typ určuje, co může být obsaženo uvnitř objektu.

Obecná prohlášení

Obecná struktura obecných prohlášení je uvedena níže -

ENTITYnázev_jednotky> IS

          OBECNÝ (

                    KONSTANTNÍ tplh, tphl: čas := 5 ns;

                    tphz, tplz: ČAS := 3ns;

                    default_value: INTEGER: = 1;

                    cnt_dir: STRING := "NAHORU"

                    - všimněte si, že v posledním řádku deklarací není středník.

                    );

          Prohlášení o přístavu

          KONEC ENTITYnázev_jednotky>;

  • Obecné hodnoty lze během kompilace přepsat.
  • Generic musí mít během kompilace programu houževnatost na konstantu.  

Všimněte si, že klíčové slovo CONSTANT se předpokládá a není nutné jej zapisovat.

Architektura

  • Analogicko-schéma: Analogické schéma poskytuje popis funkčnosti modelu a načasování s ním spojeného.  
  • Architektura modelu by měla být přidružena k ENTITY.
  • S entitou může být spojeno mnoho architektur.
  • Příkazy architektury se spouštějí souběžně.
  • Některé styly architektury -
  • Behaviorální: Behaviorální model popisuje, jak fungují návrhy.

RTL: RTL popisuje, jak lze designy implementovat pomocí registrů.

Funkční: Nezahrnuje žádné načasování.

  • Strukturální: Implementace struktury na úrovni brány.
  • Datový tok: Implementace pravdivostní tabulky.
  • Architektura končí -
    • KONEC ARCHITEKTURY ;
    • KONEC ARCHITEKTURY
    • KONEC;

Obecná struktura psaní architektury:

ARCHITEKTURA <identifikátor> OF <identifikátor_entity> IS

          SIGNÁL signal_1: INTEGER: = 1;

          KONSTANTNÍ cnst: = BOOLEAN: = true;

          Proces TYP JE (W, X, Y, Z);

          - Deklarace atributů

          - Specifikace atributů

          - Deklarace podprogramu

          - Tělo podprogramu

ZAČÍT

          Zpracovat prohlášení

          Souběžná procedurální volání

          Přiřazení signálu

          Generovat příkazy

KONEC ARCHITEKTURY <identifikátor>;

IMG18 1024x576 1
Schéma RTL brány AND z výukového programu VHDL

Konfigurace     

Jak již bylo řečeno, dřívější configuration se používá pro přidružení architektury k entitě. Přidružení nebo kombinování je nutné, protože ENTITY nemůže fungovat, dokud k ní nebude přidružena architektura. Obecná struktura konfigurace je uvedena níže.

KONFIGURACE  < identifikátor > OF < název_jednotky > IS

          PRO < název_ architektury >

                    PRO < instance_name >: název_komponenty > POUŽITÍ < subjekty > ( architektura >)

                    KONEC PRO;

                    PRO < instance_name >: název_komponenty > POUŽITÍ < název_konfigurace >

                    Konec pro;

          Konec pro;

KONEC KONFIGURACE < identifikátor >;

Balíčky

Balíčky VHDL jsou jedna celá jednotka celého systému. Je to hlavní cíl implementace VHDL. Balíček má dvě části. Jak již bylo řečeno, deklarace balíčku a tělo balíčku tvoří kompletní balíček.

VHDL poskytuje dva vestavěné balíčky.

Některá pravidla a základní informace o výukovém programu VHDL

Pojďme si promluvit o tom, abychom se podívali na některé základní informace, než se ponoříme a prozkoumáme tutoriál VHDL.

1. Vyhrazená klíčová slova: VHDL má některá klíčová slova jako rezervovaná (která nelze použít pro deklaraci proměnné).

2. Díly: VHDL má dva kroky nebo části pro vytvoření modelu. Jedním z nich je simulace a druhým syntéza a simulace.

3. Jazyk citlivý na velká a malá písmena: VHDL není jazyk citlivý na velká a malá písmena (ve většině případů).

4. Komentování: Chcete-li komentovat příkaz v editoru kódu VHDL, začněte větu s -, například:

- Toto je komentář ve VHDL.

5. Ukončení: Kódy VHDL a jednotlivé řádky kódů jsou ukončeny středníkem (kdykoli je potřeba). 

6. Citlivost na prostor: VHDL není citlivé na prázdné místo.

Syntaxe a některé důležité koncepty výuky VHDL pro psaní kódů VHDL

  1. Pole s příklady
  2. Postup s příklady
  3. IF - POTOM - implementace ELSIF s příklady.
  4. Prohlášení CASE
  5. PRO smyčku

A. Pole

Pole ukládá hodnotu. Jedná se o uživatelem definovaný datový typ pro ukládání hodnoty. Pole může obsahovat proměnné signálu, konstanty typu.

Obecná struktura pro deklaraci pole je uvedena níže:

TYP název_ pole IS ARRAY (rozsah) OF datový typ;

Například

TYP lambdageeks JE POLE (0 až 9) OF std_logic_vector (0 AŽ 9);

B. Procesní prohlášení

Proces je simultánní a synchronizovaný příkaz. Představuje chronologická prohlášení. Pokud je model potřeba, běží paralelně více procesů.

Proces se skládá ze dvou částí. Jedná se o provedení procesu a poté čekají na další podmínku.

SYNTAX:

proces seznam_citlivosti

          prohlášení

začít

          chronologické_výpisy;

konečný proces;

C. POKUD - POTOM - Implementace ELSIF

Tyto příkazy se používají pro implementaci podmínky a pro jejich výsledek.

Podmínka if může mít nekonečný počet větví podle požadavku. Je také možné značné množství podmínek elsif. Ale ve smyčce if, může existovat pouze jedna další podmínka. Smyčka if je ukončena příkazem end if. Pokud je podmínka dána true, pak vstoupí do smyčky a provede příkaz. Pokud selže, přejděte na příkaz else nebo elsif.

Syntaxe příkazů je uvedena níže.

SYNTAX

          if podmíněný_booleovský_výraz pak

                    prohlášení1

          elsif podmíněný_booleovský_výraz pak

                    prohlášení2

          . . .

          jiný

                    prohlášení3

          konec if;

D. Případ CASE

Příkaz Případ zjistí, který příkaz bude proveden. Příkaz case lze také větvit jako smyčky IF-ELSE.

SYNTAX

[označení]: případ < podmíněný výraz > is

          kdy < výběr> =>

                    prohlášení1

          kdy <výběr> =>

                    prohlášení2

          ...

          kdy <výběr> =>

                    prohlášení

konec případ [označení];

E. PRO smyčku

Smyčka for je nepřetržité provádění příkazů podle mezních podmínek.

Pro každou smyčku FOR potřebujeme iterátor, který bude provádět operace ve smyčce for. Je také známý jako identifikátor. Ve výchozím nastavení se jedná o celé číslo a není třeba deklarovat iterátor. Jedná se o jednu z nejčastěji používaných smyček pro výrobu složitých modelů. Je to známější než smyčky while.

SYNTAX

[označení]: for iterátor in rozsah smyčka

          Prohlášení1

          Prohlášení2

          ...

          Prohlášení č

koncová smyčka [označení];

VHDL simulátory pro výuku VHDL

Níže jsou uvedeny některé slavné simulátory VHDL používané k implementaci VHDL.

  1. Xilinx Vivado: Nejznámějším simulátorem pro VHDL je Xilinx Vivado. Xilinx poskytuje programovatelná logická zařízení. Tento simulátor použijeme pro další část výukového programu VHDL. 
  2. Cadence Incisive: Předchozí verze byla známá jako NC-VHDL.
  3. VHDL podobné: Symphony EDA to vyvíjí. Je to pro spotřebitele zdarma. 
  4. GHDL: Jeden ze slavných bezplatných simulátorů VHDL. 
  5. Bota: Organizace Freerangefactory vyvinula simulátor. 
  6. NVC: Nick Gasson vyvinul kompilátor opensource VHDL. 
  7. Hřiště EDA: Další bezplatná verze založená na webovém prohlížeči. 
  8. Synopse VCS-MX.
Simulátory pro VHDL, použijeme XILINX pro náš VHDL výukový obrazový kredit - ™ / ®Xilinx, Inc., Logo Xilinx, označeno jako public domain, více podrobností o Wikimedia Commons

Vytvořte svůj první projekt pomocí VHDL. Podívejte se na další část výukového programu VHDL.

Další článek o elektronice získáte kliknutím zde!

Zanechat komentář