Мо́ва о́пису апарату́ри (англ. hardware description language) — це спеціалізована формальна комп'ютерна мова, що використовується для проєктування структури, дизайну та роботи електронної мікросхеми та її моделювання. Вона дає можливість автоматично аналізувати, імітувати та тестувати створюваний пристрій. Компілятор мусить забезпечувати переведення програми, написаної на будь-якій з мов опису апаратури на низькорівневу специфікацію фізичних електронних компонентів з ціллю створити мікросхему.
До переваг використання мови проєктування апаратури над схемним проєктуванням можна віднести наступні:
- можливість проєктування пристроїв, для яких створення схем неможливе через надмірну складність продукту, наприклад при розробці сучасних процесорів;
- такий опис зазвичай об'єднує як структурну, так і функціональну складову;
- проєкт на мові проєктування апаратури портативний та універсальний, тобто легко переноситьтся на іншу елементну базу і може використовуватися в іншому проєкті. Як результат, він стає довгоживучим, оскільки не залежить від «старіння» конкретних мікросхем;
- мови опису апаратури гарантують високу надійність розроблюваного пристрою та забезпечують самодокументування.
Мови проєктування апаратури дають можливість інженерам працювати на вищому рівні абстракції, що дозволяє збільшити кількість елементів розроблюваного пристрою.
Структура
Мова опису апаратури виглядає дуже схоже на мову програмування, наприклад C, оскільки її структура складається з таких самих текстових виразів. Також мови проєктування апаратури дають можливість описувати специфікації для апаратного забезпечення, що можуть виконуватися. Це дає ілюзію наявності мови програмування, хоча насправді їх відносять до мов проєктування чи моделювання.
Першою причиною цього є те, що, на відміну від мов програмування, що не завжди мають в собі ознаки паралелізму, інструкції мов проєктування апаратури завжди виконуються паралельно. Іншою важливою їх складовою є опис синхросигналу, що є особливістю проєктування апаратного забезпечення. Мови опису апаратури можуть використовуватися для створення пристрою у структурній, поведінковій формах чи на рівні регістрових передач з такою ж функціональністю.
Історія розвитку
Перші мови опису апаратури з'явилися в кінці 1960-х років. Завдяки Digital Equipment Corporation та їх PDP-8 та вони набули поширення, оскільки для розробок було застосовано ISP, мову, що вперше ввела концепцію рівня регістрових передач (англ. Register Transfer Level - RTL).
Її наступниками стали та . Остання гарно описувала відношення між вхідними та вихідними портами і стала об'єктом досліджень DEC та інших компаній в США.
В кінці 1970-х років набули популярності ПЛІС, що дало новий поштовх в розробці мов опису апаратури.
В 1985 році компанією було створено першу сучасну мову проєктування апаратури — Verilog. Вона лаконічна, проста в реалізації, має C-подібний синтаксис та швидкий компілятор, що дозволяє зменшити об'єм опису схем в півтора рази, порівняно з VHDL.
Створений в 1980-х роках на замовлення Міністерства оборони США VHDL (англ. VHSIC Hardware Description Language, де VHSIC — англ. Very High Speed Integrated Circuit) був стандартизований інститутом електроінженерів в 1987 році. VHDL зазнав значного впливу мов програмування Ada та Pascal, також було використано досвід, отриманий при створенні ISPS. Вдосконалення мови веде група VASG (англ. VHDL Analysis and Standartisation Group), що переглядає стандарт раз в п'ять років.
Спочатку Verilog та VHDL використовувались для моделювання пристроїв, описаних іншими способами (наприклад у вигляді схемних файлів). З часом, VHDL та Verilog стали домінувати серед мов опису апаратури, в той час як багато старіших виходили з вжитку. Проте всі вони мають однакові недоліки:
- неможливість моделювання аналогових чи гібридних мікросхем;
- неможливість опису рекурсивних сутностей.
Для подолання цих мінусів було створено спеціальні мови, такі як , проте й вони не змогли замінити VHDL та Verilog.
Представники
Мови опису апаратури класифікують за їх цільовим призначенням. До першої категорії відносять ті, що дозволяють виконувати моделювання аналогових та гібридних мікросхем. До другої — ті, що моделюють цифрові мікросхеми.
Для аналогових схем
Назва | Опис |
---|---|
Мова опису для | |
Мова проєктування аналогової апаратури | |
(англ. Verilog for Analog and Mixed-Signal) | Стандартизоване розширення Verilog для аналогового та гібридного моделювання |
(англ. VHDL with Analog/Mixed-Signal extension) | Стандартизована мова для гібридного моделювання |
Мова опису аналогового апаратного забезпечення |
Для цифрових схем
Назва | Опис |
---|---|
ABEL (англ. Advanced Boolean Expression Language) | |
AHDL (англ. Altera Hardware Description Language) | Мова опису апаратури компанії Altera |
(англ. A Hardware Programing Language) | |
Високорівнева мова проєктування апаратури, заснована на мові програмування Haskell | |
(англ. Bluespec SystemVerilog) | Мова опису апаратури, заснована на Bluespec з синтаксисом, подібним до Verilog |
(англ. Constructing Hardware in a Scala Embedded Language) | Мова проєктування апаратури, заснована на мові програмування Scala |
Мова опису апаратури в функціональному стилі, що більше не використовується | |
Мова проєктування апаратури, заснована на мові програмування C і розроблена компанією , замінена SystemC | |
(англ. Compiler for Universal Programmable Logic) | Мова опису апаратури, розроблена компанією |
Більше не використовується | |
Мова проєктування апаратури, подібна до мови програмування C | |
Мова опису апаратури, заснована на OCaml | |
Мова проєктування апаратури, заснована на Haskell | |
(англ. Hardware Join Java) | Мова опису апаратури, заснована на |
(англ. Hardware ML) | Мова проєктування апаратури, заснована на SML |
Мова опису апаратури, заснована на Haskell | |
Мова проєктування апаратури, подібна до мови програмування C | |
Мова опису апаратури, більше не використовується | |
Мова проєктування апаратури, заснована на Java | |
Lava | Мова опису апаратури, заснована на Haskell |
Lola | Проста мова проєктування апаратури для навчання |
Мова опису апаратури, розроблена компанією Mentor Graphics | |
Мова проєктування апаратури, заснована на Python | |
Мова опису апаратури | |
(англ. Parallel C++) | , оптимізований для задач проєктування апаратури |
(англ. Printed Circuit Board Hardware Description Language) | Мова опису апаратури з відкритим сирцевим кодом для поєднання друкованих плат |
Мова проєктування апаратури, заснована на Ruby | |
SystemC | Стандартизовані класи бібліотеки C++ для поведінкового моделювання апаратури на вищому рівні абстракції |
SystemVerilog | Надбудова над Verilog |
Мова опису апаратури, заснована на Tcl | |
(англ. Templated Hardware Description Language та C++) | Розширення VHDL |
Verilog | Одна з найбільш поширених мов проєктування апаратури |
VHDL (англ. Very High Speed Integrated Circuit Hardware Language) | Одна з найчастіше використованих мов опису апаратури |
Примітки
- Barbacci, M. "A comparison of register transfer languages for describing computers and digital systems, " Carnegie-Mellon Univ., Dept. of Computer Science, March 1973
- ISP: a language to describe instruction dets and other register transfer systems / M. Barbacci, C. G. Bell, A. Newell.
- Поляков А. К. Языки VHDL и Verilog в проектировании цифровой аппаратуры. — М.: СОЛОН-Пресс, 2003. — 320 с.: ил. — (Серия «Системы проектирования»). — . (рос.)
- Barbacci, M., Grout S., Lindstrom, G., Maloney, M.P. "Ada as a hardware description language : an initial report, " Carnegie-Mellon Univ., Dept. of Computer Science, 1984
- Проєкти на Confluence [ 22 серпня 2019 у Wayback Machine.] (англ.)
- Li, Yanbing; Miriam Leeser (1995). HML: An Innovative Hardware Description Language and Its Translation to VHDL. Proceedings of CHDL’95: 691--696.
- Hydra [ 18 липня 2011 у Wayback Machine.] (англ.)
- Chalmers Lava [ 11 грудня 2013 у Wayback Machine.] (англ.)
- Xilinx Lava [ 11 грудня 2013 у Wayback Machine.] (англ.)
- Kansas Lava [ 25 травня 2013 у Wayback Machine.] (англ.)
- York Lava [ 11 грудня 2013 у Wayback Machine.] (англ.)
- Lava [ 27 липня 2011 у Wayback Machine.] (англ.)
- RHDL [ 14 травня 2016 у Wayback Machine.] (англ.)
Література
- HDL на Open Directory Project [ 26 серпня 2013 у Wayback Machine.] (англ.)
- Транслятор з C на Verilog [ 24 серпня 2019 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Mo va o pisu aparatu ri angl hardware description language ce specializovana formalna komp yuterna mova sho vikoristovuyetsya dlya proyektuvannya strukturi dizajnu ta roboti elektronnoyi mikroshemi ta yiyi modelyuvannya Vona daye mozhlivist avtomatichno analizuvati imituvati ta testuvati stvoryuvanij pristrij Kompilyator musit zabezpechuvati perevedennya programi napisanoyi na bud yakij z mov opisu aparaturi na nizkorivnevu specifikaciyu fizichnih elektronnih komponentiv z cillyu stvoriti mikroshemu Do perevag vikoristannya movi proyektuvannya aparaturi nad shemnim proyektuvannyam mozhna vidnesti nastupni mozhlivist proyektuvannya pristroyiv dlya yakih stvorennya shem nemozhlive cherez nadmirnu skladnist produktu napriklad pri rozrobci suchasnih procesoriv takij opis zazvichaj ob yednuye yak strukturnu tak i funkcionalnu skladovu proyekt na movi proyektuvannya aparaturi portativnij ta universalnij tobto legko perenosittsya na inshu elementnu bazu i mozhe vikoristovuvatisya v inshomu proyekti Yak rezultat vin staye dovgozhivuchim oskilki ne zalezhit vid starinnya konkretnih mikroshem movi opisu aparaturi garantuyut visoku nadijnist rozroblyuvanogo pristroyu ta zabezpechuyut samodokumentuvannya Movi proyektuvannya aparaturi dayut mozhlivist inzheneram pracyuvati na vishomu rivni abstrakciyi sho dozvolyaye zbilshiti kilkist elementiv rozroblyuvanogo pristroyu StrukturaMova opisu aparaturi viglyadaye duzhe shozhe na movu programuvannya napriklad C oskilki yiyi struktura skladayetsya z takih samih tekstovih viraziv Takozh movi proyektuvannya aparaturi dayut mozhlivist opisuvati specifikaciyi dlya aparatnogo zabezpechennya sho mozhut vikonuvatisya Ce daye ilyuziyu nayavnosti movi programuvannya hocha naspravdi yih vidnosyat do mov proyektuvannya chi modelyuvannya Pershoyu prichinoyu cogo ye te sho na vidminu vid mov programuvannya sho ne zavzhdi mayut v sobi oznaki paralelizmu instrukciyi mov proyektuvannya aparaturi zavzhdi vikonuyutsya paralelno Inshoyu vazhlivoyu yih skladovoyu ye opis sinhrosignalu sho ye osoblivistyu proyektuvannya aparatnogo zabezpechennya Movi opisu aparaturi mozhut vikoristovuvatisya dlya stvorennya pristroyu u strukturnij povedinkovij formah chi na rivni registrovih peredach z takoyu zh funkcionalnistyu Istoriya rozvitkuPershi movi opisu aparaturi z yavilisya v kinci 1960 h rokiv Zavdyaki Digital Equipment Corporation ta yih PDP 8 ta voni nabuli poshirennya oskilki dlya rozrobok bulo zastosovano ISP movu sho vpershe vvela koncepciyu rivnya registrovih peredach angl Register Transfer Level RTL Yiyi nastupnikami stali ta Ostannya garno opisuvala vidnoshennya mizh vhidnimi ta vihidnimi portami i stala ob yektom doslidzhen DEC ta inshih kompanij v SShA V kinci 1970 h rokiv nabuli populyarnosti PLIS sho dalo novij poshtovh v rozrobci mov opisu aparaturi V 1985 roci kompaniyeyu bulo stvoreno pershu suchasnu movu proyektuvannya aparaturi Verilog Vona lakonichna prosta v realizaciyi maye C podibnij sintaksis ta shvidkij kompilyator sho dozvolyaye zmenshiti ob yem opisu shem v pivtora razi porivnyano z VHDL Stvorenij v 1980 h rokah na zamovlennya Ministerstva oboroni SShA VHDL angl VHSIC Hardware Description Language de VHSIC angl Very High Speed Integrated Circuit buv standartizovanij institutom elektroinzheneriv v 1987 roci VHDL zaznav znachnogo vplivu mov programuvannya Ada ta Pascal takozh bulo vikoristano dosvid otrimanij pri stvorenni ISPS Vdoskonalennya movi vede grupa VASG angl VHDL Analysis and Standartisation Group sho pereglyadaye standart raz v p yat rokiv Spochatku Verilog ta VHDL vikoristovuvalis dlya modelyuvannya pristroyiv opisanih inshimi sposobami napriklad u viglyadi shemnih fajliv Z chasom VHDL ta Verilog stali dominuvati sered mov opisu aparaturi v toj chas yak bagato starishih vihodili z vzhitku Prote vsi voni mayut odnakovi nedoliki nemozhlivist modelyuvannya analogovih chi gibridnih mikroshem nemozhlivist opisu rekursivnih sutnostej Dlya podolannya cih minusiv bulo stvoreno specialni movi taki yak prote j voni ne zmogli zaminiti VHDL ta Verilog PredstavnikiMovi opisu aparaturi klasifikuyut za yih cilovim priznachennyam Do pershoyi kategoriyi vidnosyat ti sho dozvolyayut vikonuvati modelyuvannya analogovih ta gibridnih mikroshem Do drugoyi ti sho modelyuyut cifrovi mikroshemi Dlya analogovih shem Nazva Opis Mova opisu dlya Mova proyektuvannya analogovoyi aparaturi angl Verilog for Analog and Mixed Signal Standartizovane rozshirennya Verilog dlya analogovogo ta gibridnogo modelyuvannya angl VHDL with Analog Mixed Signal extension Standartizovana mova dlya gibridnogo modelyuvannya Mova opisu analogovogo aparatnogo zabezpechennya Dlya cifrovih shem Nazva Opis ABEL angl Advanced Boolean Expression Language AHDL angl Altera Hardware Description Language Mova opisu aparaturi kompaniyi Altera angl A Hardware Programing Language Visokorivneva mova proyektuvannya aparaturi zasnovana na movi programuvannya Haskell angl Bluespec SystemVerilog Mova opisu aparaturi zasnovana na Bluespec z sintaksisom podibnim do Verilog angl Constructing Hardware in a Scala Embedded Language Mova proyektuvannya aparaturi zasnovana na movi programuvannya Scala Mova opisu aparaturi v funkcionalnomu stili sho bilshe ne vikoristovuyetsya Mova proyektuvannya aparaturi zasnovana na movi programuvannya C i rozroblena kompaniyeyu zaminena SystemC angl Compiler for Universal Programmable Logic Mova opisu aparaturi rozroblena kompaniyeyu Bilshe ne vikoristovuyetsya Mova proyektuvannya aparaturi podibna do movi programuvannya C Mova opisu aparaturi zasnovana na OCaml Mova proyektuvannya aparaturi zasnovana na Haskell angl Hardware Join Java Mova opisu aparaturi zasnovana na angl Hardware ML Mova proyektuvannya aparaturi zasnovana na SML Mova opisu aparaturi zasnovana na Haskell Mova proyektuvannya aparaturi podibna do movi programuvannya C Mova opisu aparaturi bilshe ne vikoristovuyetsya Mova proyektuvannya aparaturi zasnovana na Java Lava Mova opisu aparaturi zasnovana na Haskell Lola Prosta mova proyektuvannya aparaturi dlya navchannya Mova opisu aparaturi rozroblena kompaniyeyu Mentor Graphics Mova proyektuvannya aparaturi zasnovana na Python Mova opisu aparaturi angl Parallel C C optimizovanij dlya zadach proyektuvannya aparaturi angl Printed Circuit Board Hardware Description Language Mova opisu aparaturi z vidkritim sircevim kodom dlya poyednannya drukovanih plat Mova proyektuvannya aparaturi zasnovana na Ruby SystemC Standartizovani klasi biblioteki C dlya povedinkovogo modelyuvannya aparaturi na vishomu rivni abstrakciyi SystemVerilog Nadbudova nad Verilog Mova opisu aparaturi zasnovana na Tcl angl Templated Hardware Description Language ta C Rozshirennya VHDL Verilog Odna z najbilsh poshirenih mov proyektuvannya aparaturi VHDL angl Very High Speed Integrated Circuit Hardware Language Odna z najchastishe vikoristovanih mov opisu aparaturiPrimitkiBarbacci M A comparison of register transfer languages for describing computers and digital systems Carnegie Mellon Univ Dept of Computer Science March 1973 ISP a language to describe instruction dets and other register transfer systems M Barbacci C G Bell A Newell Polyakov A K Yazyki VHDL i Verilog v proektirovanii cifrovoj apparatury M SOLON Press 2003 320 s il Seriya Sistemy proektirovaniya ISBN 5 98003 016 6 ros Barbacci M Grout S Lindstrom G Maloney M P Ada as a hardware description language an initial report Carnegie Mellon Univ Dept of Computer Science 1984 Proyekti na Confluence 22 serpnya 2019 u Wayback Machine angl Li Yanbing Miriam Leeser 1995 HML An Innovative Hardware Description Language and Its Translation to VHDL Proceedings of CHDL 95 691 696 Hydra 18 lipnya 2011 u Wayback Machine angl Chalmers Lava 11 grudnya 2013 u Wayback Machine angl Xilinx Lava 11 grudnya 2013 u Wayback Machine angl Kansas Lava 25 travnya 2013 u Wayback Machine angl York Lava 11 grudnya 2013 u Wayback Machine angl Lava 27 lipnya 2011 u Wayback Machine angl RHDL 14 travnya 2016 u Wayback Machine angl LiteraturaHDL na Open Directory Project 26 serpnya 2013 u Wayback Machine angl Translyator z C na Verilog 24 serpnya 2019 u Wayback Machine angl