VHDL
Z Wikipedie, otevřené encyklopedie
VHDL je zkratka z VHSIC Hardware Description Language (česky jazyk pro popis hardware), kde VHSIC je zkratka z Very-High-Speed Integrated Circuit (česky velmi rychlé integrované obvody). Jedná se o programovací jazyk pro popis hardware. Nejčastěji se používá k návrhu obvodů pro programovatelná hradlová pole (FPGA).
VHDL je standardem IEEE od r. 1987, byl revidován v roce 1997 a je použitelný i pro návrh analogových obvodů. Jedná se o typovaný programovací jazyk. VHDL má prostředky pro popis paralelismu, konektivity a explicitní vyjádření času. Jazyk VHDL se používá jak pro simulaci obvodů, tak i pro popis integrovaných obvodů, které se mají vyrábět.
Obsah |
[editovat] Základní konstrukce
- entity - definuje rozhraní (pouze vstupy a výstupy, ne funkci)
- architecture - určuje chování entit (má dvě části - deklarační a příkazovou)
Pro jednu entitu může existovat více architektur (implementací).
[editovat] Módy portů
- IN - data lze z portu pouze číst
- OUT - data vycházejí z portu
- BUFFER - výstup se zpětnou vazbou
- INOUT - obousměrný tok
- LINKAGE - neznámý směr datového toku (obousměrný)
[editovat] Styly popisu architektury
- strukturální popis
- popis na vysoké úrovni
- použití hlavně pro simulaci
- behaviorální popis
- vhodné pro syntézu
- návrhář si řídí architekturu svého návrhu
- dataflow popis
- vkládání komponent do netlistu
- omezení možností syntézy
- detailní časové simulace
[editovat] Příklad kódu
-- (tohle je komentář) -- import std_logic z knihovny IEEE library IEEE; use IEEE.std_logic_1164.all; -- definice entity... entity my_and is port (IN1, IN2 : in std_logic; OUT1: out std_logic); end entity; -- ...a architektury architecture example of my_and is begin OUT1 <= IN1 and IN2; end example;
[editovat] Externí odkazy
Programovací jazyky | |||
ABAP | Ada | AWK | Assembler | C | C++ | C# | COBOL | ColdFusion | Clean | D | Eiffel | Erlang | Flex | Fortran | JADE | Java | JavaScript | Lisp | Lua | Oberon | Object Pascal | Objective-C | Pascal | Perl | PHP | Python | REALbasic | REBOL | RPG | Ruby | SQL / PL/SQL | Tcl / Tcl/Tk | Visual Basic / VBScript | VB.NET | Visual FoxPro
|