Jazyk popisu hardwaru - Hardware description language

V počítačovém inženýrství je hardwarový popisový jazyk ( HDL ) specializovaný počítačový jazyk používaný k popisu struktury a chování elektronických obvodů a nejčastěji digitálních logických obvodů.

Jazyk popisu hardwaru umožňuje přesný a formální popis elektronického obvodu, který umožňuje automatizovanou analýzu a simulaci elektronického obvodu. Umožňuje také syntézu popisu HDL do seznamu netlistů (specifikace fyzických elektronických součástek a jejich vzájemného propojení), které lze poté umístit a směrovat za vzniku sady masek použitých k vytvoření integrovaného obvodu .

Jazyk popisu hardwaru vypadá hodně jako programovací jazyk, jako je C nebo ALGOL ; je to textový popis skládající se z výrazů, příkazů a kontrolních struktur. Jedním důležitým rozdílem mezi většinou programovacích jazyků a HDL je, že HDL explicitně obsahují pojem o čase.

HDL tvoří nedílnou součást systémů pro automatizaci elektronického návrhu (EDA), zejména pro složité obvody, jako jsou integrované obvody specifické pro aplikaci , mikroprocesory a programovatelná logická zařízení .

Motivace

Vzhledem k explozivní složitosti digitálních elektronických obvodů od 70. let (viz Moorův zákon ) návrháři obvodů potřebovali, aby byly popisy digitální logiky prováděny na vysoké úrovni, aniž by byly vázány na konkrétní elektronickou technologii, jako je ECL , TTL nebo CMOS . HDL byly vytvořeny za účelem implementace abstrakce úrovně přenosu registru , modelu toku dat a načasování obvodu.

Existují dva hlavní jazyky popisu hardwaru: VHDL a Verilog . Jsou v nich různé druhy popisu: „tok dat, chování a strukturální“. Příklad toku dat VHDL:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY not1 IS
    PORT(
        a : IN  STD_LOGIC;
        b : OUT STD_LOGIC;
    );
END not1;

ARCHITECTURE behavioral OF not1 IS
BEGIN
    b <= NOT a;
END behavioral;

Struktura HDL

HDL jsou standardní textové výrazy struktury elektronických systémů a jejich chování v průběhu času. Stejně jako souběžné programovací jazyky, syntaxe a sémantika HDL obsahuje explicitní zápisy pro vyjádření souběžnosti . Na rozdíl od většiny softwarových programovacích jazyků však HDL obsahují také explicitní pojem času, což je primární atribut hardwaru. Jazyky, jejichž jedinou charakteristikou je vyjádřit propojení obvodů mezi hierarchií bloků, jsou řádně klasifikovány jako netlistové jazyky používané v elektrickém počítačem podporovaném návrhu . HDL lze použít k vyjádření návrhů ve strukturálních, behaviorálních nebo registrových úrovních architektur pro stejnou funkčnost obvodu; v posledních dvou případech rozhoduje o architektuře a rozložení logické brány syntezátor .

HDL se používají k zápisu spustitelných specifikací hardwaru. Program navržený k implementaci základní sémantiky jazykových příkazů a simulaci průběhu času poskytuje návrháři hardwaru možnost modelovat kus hardwaru před jeho fyzickým vytvořením. Právě tato spustitelnost dává HDL iluzi programovacích jazyků , když jsou přesněji klasifikovány jako specifikační jazyky nebo modelovací jazyky . Existují simulátory schopné podporovat modelování s diskrétními událostmi (digitální) a kontinuální (analogové) modelování a jsou k dispozici HDL cílené pro každý z nich.

Porovnání s jazyky řízení toku

Je určitě možné reprezentovat hardwarovou sémantiku pomocí tradičních programovacích jazyků, jako je C ++ , které fungují na sémantice řídicího toku na rozdíl od toku dat , přestože aby fungovaly jako takové, musí být programy rozšířeny o rozsáhlé a nepraktické knihovny tříd . Obecně však softwarové programovací jazyky neobsahují žádnou možnost pro explicitní vyjádření času, a proto nemohou fungovat jako jazyky popisu hardwaru. Před zavedením systému Verilog v roce 2002 byla integrace C ++ s logickým simulátorem jedním z mála způsobů, jak používat objektově orientované programování při ověřování hardwaru. System Verilog je první hlavní HDL, která nabízí objektovou orientaci a sběr odpadků.

Pomocí správné podmnožiny jazyka popisu hardwaru může program nazvaný syntetizátor nebo nástroj logické syntézy odvodit operace logiky hardwaru z jazykových příkazů a vytvořit ekvivalentní netlist generických hardwarových primitiv k implementaci zadaného chování. Syntezátory obecně ignorují vyjádření jakýchkoli časovacích konstrukcí v textu. Například digitální logické syntezátory obecně používají jako způsob načasování obvodu hrany hodin , přičemž ignorují jakékoli časovací konstrukce. Schopnost mít syntetizovatelnou podmnožinu jazyka sama o sobě nevytváří jazyk popisu hardwaru.

Dějiny

První jazyky popisu hardwaru se objevily na konci šedesátých let minulého století a vypadaly jako tradičnější jazyky. První, který měl trvalý účinek, byl popsán v roce 1971 v textu C. Gordona Bella a Allena Newella v textu Počítačové struktury . Tento text představil koncept úrovně přenosu registru , který byl poprvé použit v jazyce ISP k popisu chování PDP-8 společnosti Digital Equipment Corporation (DEC) .

Jazyk se rozšířil zavedením modulů DEC PDP-16 RT-Level (RTM) a knihy popisující jejich použití. Následovaly alespoň dvě implementace základního jazyka ISP (ISPL a ISPS). ISPS byl vhodný k popisu vztahů mezi vstupy a výstupy návrhu a rychle ho přijaly komerční týmy v DEC i řada výzkumných týmů jak v USA, tak mezi jejími spojenci v NATO.

Produkty RTM se nikdy komerčně nerozjely a DEC je v polovině osmdesátých let přestala uvádět na trh, protože stále více se prosazovaly nové techniky a zejména velmi rozsáhlá integrace (VLSI).

Samostatnou prací provedenou kolem roku 1979 na univerzitě v Kaiserslauternu byl vytvořen jazyk KARL („KAiserslautern Register Transfer Language“), který zahrnoval funkce jazyka pro návrhový kalkulátor podporující plánování VLSI čipů a strukturovaný hardwarový design. Tato práce byla také základem interaktivního grafického sesterského jazyka KARL ABL, jehož jméno bylo initialism pro "A Block diagram Language". ABL byl implementován na počátku 80. let Centro Studi e Laboratori Telecomunicazioni ( CSELT ) v italském Torinu a produkoval editor designu ABLED Graphic VLSI. V polovině 80. let byl implementován návrhový rámec VLSI kolem KARL a ABL mezinárodním konsorciem financovaným Komisí Evropské unie.

Koncem sedmdesátých let se stal populární návrh pomocí programovatelných logických zařízení (PLD), ačkoli tyto návrhy byly primárně omezeny na navrhování strojů s konečným stavem . Práce ve společnosti Data General v roce 1980 použila stejná zařízení k návrhu Data General Eclipse MV/8000 a začala růst komerční potřeba jazyka, který by se na ně dobře mapoval. V roce 1983 společnost Data I/O představila společnost ABEL, aby tuto potřebu naplnila.

V roce 1985, když se návrh přesunul na VLSI, Gateway Design Automation představil Verilog a Intermetrics vydal první dokončenou verzi VHDIC Hardware Description Language (VHDL). VHDL byl vyvinut na příkaz programu VHSIC amerického ministerstva obrany a byl založen na programovacím jazyce Ada a také na zkušenostech získaných s dřívějším vývojem ISPS. Verilog a VHDL byly původně použity k dokumentaci a simulaci návrhů obvodů, které již byly zachyceny a popsány v jiné formě (například schematické soubory). Simulace HDL umožnila technikům pracovat na vyšší úrovni abstrakce než simulace na schematické úrovni, a tím se zvýšila konstrukční kapacita ze stovek tranzistorů na tisíce. V roce 1986, s podporou amerického ministerstva obrany, byl VHDL sponzorován jako standard IEEE (IEEE Std 1076) a první IEEE standardizovaná verze VHDL, IEEE Std 1076-1987 byla schválena v prosinci 1987. Cadence Design Systems později získal Gateway Design Automation za práva na Verilog-XL, HDL simulátor, který se stane de facto standardem Verilog simulátorů pro příští desetiletí.

Zavedení logické syntézy pro HDL posunulo HDL z pozadí do popředí digitálního designu. Syntetické nástroje zkompilovaly zdrojové soubory HDL (zapsané v omezeném formátu zvaném RTL) do vyrobitelného popisu netlistu, pokud jde o brány a tranzistory . Psaní syntetizovatelných souborů RTL vyžadovalo od designéra praxi a disciplínu; ve srovnání s tradičním schematickým uspořádáním byly syntetizované seznamy RTL téměř vždy větší v oblasti a pomalejší ve výkonu. Návrh obvodu od zkušeného inženýra, využívající pracné schematické snímání/ruční rozvržení, by téměř vždy překonal svůj logicky syntetizovaný ekvivalent, ale výhoda produktivity držená syntézou brzy posunula digitální schematické zachycení přesně do těch oblastí, které byly problematické pro RTL syntéza: extrémně vysokorychlostní, nízkoenergetické nebo asynchronní obvody.

Během několika let se VHDL a Verilog staly dominantními HDL v elektronickém průmyslu, zatímco starší a méně schopné HDL postupně vymizely z používání. VHDL a Verilog však sdílejí mnoho stejných omezení, například jsou nevhodné pro simulaci analogového nebo smíšeného signálu . Byly zavedeny specializované HDL (například Confluence) s výslovným cílem opravit konkrétní omezení Verilog a VHDL, ačkoli nikdo nikdy neměl v úmyslu je nahradit.

V průběhu let bylo do zlepšování HDL investováno mnoho úsilí. Nejnovější iterace Verilogu, formálně známá jako IEEE 1800-2005 SystemVerilog, zavádí mnoho nových funkcí (třídy, náhodné proměnné a vlastnosti/tvrzení), které řeší rostoucí potřebu lepší randomizace testů , hierarchie návrhů a opětovného použití. Budoucí revize VHDL je také ve vývoji a očekává se, že bude odpovídat vylepšením SystemVerilog.

Návrh pomocí HDL

V důsledku zvýšení účinnosti realizovaného pomocí HDL se většina moderního designu digitálních obvodů točí kolem něj. Většina návrhů začíná jako sada požadavků nebo architektonický diagram na vysoké úrovni. Řídicí a rozhodovací struktury jsou často prototypovány v aplikacích vývojového diagramu nebo zadávány v editoru stavového diagramu . Proces psaní popisu HDL velmi závisí na povaze obvodu a preferenci návrháře pro styl kódování. HDL je pouze „zachytávací jazyk“, často začíná algoritmickým popisem na vysoké úrovni, jako je matematický model C ++. Designéři často používají skriptovací jazyky, jako je Perl, k automatickému generování struktur opakujících se obvodů v jazyce HDL. Speciální textové editory nabízejí funkce pro automatické odsazení, zbarvení závislé na syntaxi a rozšíření deklarace entity/architektury/signálu na bázi makra .

Kód HDL poté projde kontrolou kódu nebo auditem. Při přípravě na syntézu podléhá popis HDL řadě automatizovaných kontrol. Dáma hlásí odchylky od standardizovaných pokynů k kódu, identifikuje potenciální nejednoznačné konstrukce kódu, než mohou způsobit nesprávnou interpretaci, a kontroluje běžné chyby logického kódování, jako jsou plovoucí porty nebo zkratované výstupy. Tento proces pomáhá při řešení chyb před syntetizací kódu.

V průmyslovém jazyce design HDL obecně končí ve fázi syntézy. Jakmile nástroj pro syntézu mapuje popis HDL do netlistu brány, je netlist předán do fáze back-end. V závislosti na fyzikální technologie ( FPGA , ASIC hradlové pole , ASIC standardní buňka ), HDL může nebo nemusí hrát významnou roli v back-end toku. Obecně platí, že jak tok návrhu postupuje směrem k fyzicky realizovatelné formě, databáze návrhů se postupně více zatěžuje technologicky specifickými informacemi, které nelze uložit do obecného popisu HDL. Nakonec je integrovaný obvod vyroben nebo naprogramován pro použití.

Simulace a ladění HDL kódu

Pro návrh HDL je nezbytná schopnost simulovat HDL programy. Simulace umožňuje, aby popis návrhu HDL (nazývaný model) prošel ověřením návrhu , což je důležitý milník, který ověřuje zamýšlenou funkci (specifikaci) návrhu proti implementaci kódu v popisu HDL. Umožňuje také architektonický průzkum. Inženýr může experimentovat s návrhovými volbami tak, že napíše několik variant základního návrhu a poté porovná jejich chování v simulaci. Simulace je tedy pro úspěšný návrh HDL zásadní.

Chcete-li simulovat model HDL, technik napíše simulační prostředí nejvyšší úrovně (nazývá se testovací lavice ). Minimálně testovací stůl obsahuje instanci modelu (nazývá se testované zařízení nebo DUT), deklarace pin/signál pro I/O modelu a časový průběh hodin. Kód testovacího stolu je řízen událostmi: technik zapisuje příkazy HDL, aby implementoval resetovací signál (generovaný testovacím stolem), modeloval transakce rozhraní (například čtení/zápis host-bus) a monitoroval výstup DUT. Simulátor HDL - program, který spouští testovací stůl - udržuje hodiny simulátoru, což je hlavní reference pro všechny události v simulaci testovacího stolu. Události se vyskytují pouze v okamžicích diktovaných testovacím stolem HDL (jako je resetovací přepínač kódovaný do testovacího stolu) nebo v reakci (podle modelu) na podněty a spouštěcí události. Moderní simulátory HDL mají plně vybavené grafické uživatelské rozhraní doplněné sadou nástrojů pro ladění. Ty umožňují uživateli kdykoli zastavit a restartovat simulaci, vložit zarážky simulátoru (nezávisle na kódu HDL) a sledovat nebo upravovat jakýkoli prvek v hierarchii modelu HDL. Moderní simulátory mohou také propojit prostředí HDL s uživatelsky kompilovanými knihovnami prostřednictvím definovaného rozhraní PLI / VHPI . Propojení je závislé na systému ( x86 , SPARC atd. Se systémem Windows / Linux / Solaris ), protože simulátor HDL a uživatelské knihovny jsou kompilovány a propojeny mimo prostředí HDL.

Ověření návrhu je často časově nejnáročnější částí procesu návrhu, kvůli odpojení mezi funkční specifikací zařízení , interpretací specifikace specifikace a nepřesností jazyka HDL. Většina počátečního cyklu testování/ladění se provádí v prostředí simulátoru HDL , protože raná fáze návrhu podléhá častým a velkým změnám obvodu. Popis HDL lze také prototypovat a testovat v hardwaru - často se k tomu používají programovatelná logická zařízení . Prototypování hardwaru je relativně dražší než simulace HDL, ale nabízí pohled na design v reálném světě. Prototypování je nejlepší způsob, jak zkontrolovat propojení s jinými hardwarovými zařízeními a hardwarovými prototypy. I ti, kteří běží na pomalých FPGA, nabízejí mnohem kratší simulační časy než čistá HDL simulace.

Ověření návrhu pomocí HDL

Historicky bylo ověření návrhu namáhavou, opakující se smyčkou psaní a spouštění testovacích případů simulace oproti testovanému návrhu. Jak se návrhy čipů zvětšovaly a stávaly se složitějšími, úkol ověření návrhu se rozrostl do bodu, kdy nyní dominuje plánu designérského týmu. Při hledání způsobů, jak zlepšit produktivitu návrhu, vyvinul průmysl automatizace elektronického designu jazyk specifikace vlastností .

Ve formálních podmínkách ověřování je vlastnost faktickým prohlášením o očekávaném nebo předpokládaném chování jiného objektu. V ideálním případě pro daný popis HDL lze vlastnost nebo vlastnosti prokázat jako pravdivé nebo nepravdivé pomocí formálních matematických metod. V praxi nelze mnoho vlastností prokázat, protože zabírají neomezený prostor řešení . Pokud však poskytuje sadu provozních předpokladů nebo omezení, může kontrola vlastností prokázat (nebo vyvrátit) určité vlastnosti zúžením prostoru řešení.

Tvrzení nemodelují aktivitu okruhu, ale zachycují a dokumentují záměr designéra v kódu HDL. V simulačním prostředí simulátor vyhodnotí všechna zadaná tvrzení a oznámí umístění a závažnost případných porušení. V prostředí syntézy nástroj syntézy obvykle pracuje s politikou zastavení syntézy při jakémkoli porušení. Ověřování založené na tvrzení je stále v plenkách, ale očekává se, že se stane nedílnou součástí sady nástrojů pro návrh HDL.

HDL a programovací jazyky

HDL je hrubě podobný softwarovému programovacímu jazyku , ale existují velké rozdíly. Většina programovacích jazyků je ze své podstaty procedurální (s jedním vláknem), s omezenou syntaktickou a sémantickou podporou pro zpracování souběžnosti . HDL, na druhé straně, připomínají souběžné programovací jazyky ve své schopnosti modelovat více paralelních procesů (jako jsou žabky a adery ), které se automaticky provádějí nezávisle na sobě. Jakákoli změna vstupu procesu automaticky spustí aktualizaci v zásobníku procesů simulátoru.

Programovací jazyky i HDL jsou zpracovány překladačem (v případě HDL často nazývaným syntetizátor), ale s různými cíli. U HDL znamená „kompilace“ logickou syntézu ; proces transformace seznamu kódů HDL na fyzicky realizovatelný netlist brány . Výstup netlistu může mít libovolnou z mnoha forem: „simulační“ netlist s informacemi o zpoždění brány, netlist „handoff“ pro umístění a směrování po syntéze na polovodičové kostce nebo generický průmyslový standard Electronic Design Interchange Format (EDIF) ) (pro následný převod do souboru formátu JEDEC ).

Na druhé straně softwarový kompilátor převádí výpis zdrojových kódů na objektový kód specifický pro mikroprocesor pro provedení na cílovém mikroprocesoru. Protože si HDL a programovací jazyky navzájem půjčují koncepty a funkce, hranice mezi nimi se stává méně výraznou. Čisté HDL však nejsou vhodné pro vývoj aplikačního softwaru pro obecné účely , stejně jako univerzální programovací jazyky jsou pro modelování hardwaru nežádoucí.

Přesto, jak jsou elektronické systémy stále komplexnější a rekonfigurovatelné systémy jsou stále běžnější, v oboru roste touha po jediném jazyce, který by mohl plnit některé úkoly jak při návrhu hardwaru, tak při programování softwaru. SystemC je příkladem takového- vestavěný systémový hardware lze modelovat jako detailní architektonické bloky ( černé skříňky s modelovanými vstupy signálu a výstupními ovladači). Cílová aplikace je napsána v jazyce C nebo C ++ a nativně kompilována pro systém host-development; na rozdíl od cílení na vestavěný procesor, který vyžaduje simulaci hostitele vloženého nebo emulovaného procesoru.

Vysoká úroveň abstrakce modelů SystemC se dobře hodí pro raný průzkum architektury , protože architektonické úpravy lze snadno vyhodnotit s malým zájmem o problémy s implementací na úrovni signálu. Model vláken používaný v SystemC však spoléhá na sdílenou paměť , což způsobuje, že jazyk nezpracovává dobře paralelní spouštění nebo modely na nízké úrovni.

Syntéza na vysoké úrovni

Ve své úrovni abstrakce byly HDL srovnávány s montážními jazyky . Existují pokusy zvýšit úroveň abstrakce hardwarového designu, aby se snížila složitost programování v HDL, čímž se vytvoří podoblast zvaná syntéza na vysoké úrovni .

Společnosti jako Cadence , Synopsys a Agility Design Solutions propagují SystemC jako způsob, jak kombinovat jazyky na vysoké úrovni se souběžnými modely a umožnit rychlejší návrhové cykly pro FPGA, než je možné pomocí tradičních HDL. Přístupy založené na standardním C nebo C ++ (s knihovnami nebo jinými rozšířeními umožňujícími paralelní programování) najdete v nástrojích Catapult C od Mentor Graphics a Impulse C tools od Impulse Accelerated Technologies.

Podobnou iniciativou společnosti Intel je použití Data Parallel C ++, související se SYCL , jako syntetického jazyka na vysoké úrovni.

Annapolis Micro Systems , Inc. CoreFire Design Suite a National Instruments LabVIEW FPGA poskytuje grafický dataflow přístup ke vstupu na vysoké úrovni designu a jazyky, jako SystemVerilog , SystemVHDL a Handel-C se snaží dosáhnout stejného cíle, ale jsou zaměřeny na učinit stávající hardwarové inženýry produktivnějšími, než zpřístupnit FPGA stávajícím softwarovým inženýrům .

Je také možné navrhnout hardwarové moduly pomocí MATLAB a Simulink pomocí nástroje MathWorks HDL Coder nebo DSP Builder pro Intel FPGA nebo Xilinx System Generator (XSG) od Xilinx .

Příklady HDL

HDL pro návrh analogových obvodů

název Popis
HDL-A Patentovaný analogový HDL
SpectreHDL Patentovaný analogový HDL od Cadence Design Systems pro jeho simulátor obvodu Spectre
Verilog-AMS (Verilog pro analogový a smíšený signál) Accellera standardní rozšíření IEEE Std 1364 Verilog pro analogové a smíšených signálů simulace
VHDL-AMS (VHDL s rozšířením analogového/smíšeného signálu) Rozšíření standardu IEEE (IEEE Std 1076.1) VHDL pro simulaci analogového a smíšeného signálu

HDL pro návrh digitálních obvodů

Dvě nejpoužívanější a nejlépe podporované HDL odrůdy používané v průmyslu jsou Verilog a VHDL .

název Popis
Advanced Boolean Expression Language (ABEL)
Altera Hardware Description Language (AHDL) proprietární jazyk od společnosti Altera
AHPL Hardwarový programovací jazyk
Bluespec HDL na vysoké úrovni založené na Haskell (není vestavěný DSL )
Bluespec SystemVerilog (BSV) založené na Bluespec, se syntaxí Verilog HDL, od Bluespec, Inc.
C-to-Verilog Převodník z C na Verilog
Dláto (konstrukce hardwaru ve vestavěném jazyce Scala) na základě Scala (vestavěný DSL )
Clash Clash Moderní, funkční, popisný jazyk hardwaru Clash je funkční hardwarový popisný jazyk, který si svou syntaxi i sémantiku půjčuje z funkčního programovacího jazyka Haskell
COLAMO (Common Oriented Language for Architecture of Multi Objects) proprietární jazyk od „Supercomputers and Neurocomputers Research Center“ Co Ltd.
Soutok funkční HDL; bylo přerušeno
CoWareC HDL na bázi C od společnosti CoWare . Nyní ukončeno ve prospěch SystemC
CUPL (kompilátor pro univerzální programovatelnou logiku) proprietární jazyk od Logical Devices, Inc.
ELLA již se běžně nepoužívá
ESys.net .NET framework napsaný v C#
Handel-C designový jazyk podobný C.
Hardcaml založené na OCaml (vestavěný DSL). Zkuste to online .
HHDL založené na Haskell (vestavěný DSL).
Hardware Join Java (HJJ) založené na připojení Java
HML (Hardware ML) na základě standardního ML
Hydra na základě Haskella
Impuls C další C-jako HDL
ISPS Originální HDL od CMU, již se běžně nepoužívá
ParC (paralelní C ++) kusu rozšířeno o vlákno ve stylu HDL a komunikaci pro paralelní programování úkolů
JHDL založené na Javě
KARL KAiserslautern Register Language (kapitola v), pascalský hardwarový popisný jazyk, již se běžně nepoužívá.
Láva založené na Haskell (vestavěný DSL).
Lola jednoduchý jazyk používaný pro výuku
M HDL od Mentor Graphics
MyHDL založené na Pythonu (vestavěný DSL )
nMigen založené na Pythonu
PALASM pro zařízení PAL ( Programmable Array Logic )
PotrubíC Jazyk popisu hardwaru podobného C, který přidává automatické pipelining na úrovni syntézy jako funkce konstrukce/kompilátoru jazyka.
PyMTL založené na Pythonu z Cornell University
PyRTL založené na Pythonu z Kalifornské univerzity v Santa Barbaře
ROCCC (Riverside Optimizing Compiler for Configurable Computing) Zdarma a open-source nástroj C až HDL
RHDL založené na programovacím jazyce Ruby
ROHD (Rapid Open Hardware Development Framework) rámec pro návrh a ověření hardwaru, napsaný v Dart
Ruby (jazyk popisu hardwaru)
SystemC standardizovaná třída knihoven C ++ pro behaviorální a transakční modelování digitálního hardwaru na vysoké úrovni na vysoké úrovni abstrakce, tj. na úrovni systému
SystemVerilog nadmnožina Verilogu s vylepšeními pro návrh a ověřování na úrovni systému
SpinalHDL Na základě Scala (vestavěný DSL)
SystemTCL SDL na základě Tcl.
THDL ++ (Templated HDL inspirovaný C ++) Rozšíření VHDL o dědičnost, pokročilé šablony a třídy zásad
TL-Verilog ( Verilog na úrovni transakce) Rozšíření Verilog/SystemVerilog o konstrukce pro potrubí a transakce .
Verilog Jeden z nejpoužívanějších a nejlépe podporovaných HDL
VHDL ( VHSIC HDL) Jeden z nejpoužívanějších a nejlépe podporovaných HDL

HDL pro návrh desek s plošnými spoji

Existuje několik projektů pro definování konektivity desek s tištěnými obvody pomocí jazykových metod zadávání textu.

název Popis
PHDL (PCB HDL) Volný a otevřený zdroj HDL pro definování připojení desek s plošnými spoji
EDAsolver HDL pro řešení schematických návrhů na základě omezení
SKiDL Open source python modul pro návrh elektronických obvodů

Viz také

Reference

externí odkazy