Loading AI tools
З Вікіпедії, вільної енциклопедії
Мо́ва о́пису апарату́ри (англ. hardware description language) — це спеціалізована формальна комп'ютерна мова, що використовується для проєктування структури, дизайну та роботи електронної мікросхеми та її моделювання. Вона дає можливість автоматично аналізувати, імітувати та тестувати створюваний пристрій. Компілятор мусить забезпечувати переведення програми, написаної на будь-якій з мов опису апаратури на низькорівневу специфікацію фізичних електронних компонентів з ціллю створити мікросхему.
До переваг використання мови проєктування апаратури над схемним проєктуванням можна віднести наступні:
Мови проєктування апаратури дають можливість інженерам працювати на вищому рівні абстракції, що дозволяє збільшити кількість елементів розроблюваного пристрою.
Мова опису апаратури виглядає дуже схоже на мову програмування, наприклад C, оскільки її структура складається з таких самих текстових виразів. Також мови проєктування апаратури дають можливість описувати специфікації для апаратного забезпечення, що можуть виконуватися. Це дає ілюзію наявності мови програмування, хоча насправді їх відносять до мов проєктування чи моделювання.
Першою причиною цього є те, що, на відміну від мов програмування, що не завжди мають в собі ознаки паралелізму, інструкції мов проєктування апаратури завжди виконуються паралельно. Іншою важливою їх складовою є опис синхросигналу, що є особливістю проєктування апаратного забезпечення. Мови опису апаратури можуть використовуватися для створення пристрою у структурній, поведінковій формах чи на рівні регістрових передач з такою ж функціональністю.
Перші мови опису апаратури з'явилися в кінці 1960-х років[1]. Завдяки Digital Equipment Corporation та їх PDP-8 та PDP-16 вони набули поширення, оскільки для розробок було застосовано ISP[2], мову, що вперше ввела концепцію рівня регістрових передач (англ. Register Transfer Level - RTL).
Її наступниками стали ISPL та ISPS. Остання гарно описувала відношення між вхідними та вихідними портами і стала об'єктом досліджень DEC та інших компаній в США.
В кінці 1970-х років набули популярності ПЛІС, що дало новий поштовх в розробці мов опису апаратури.
В 1985 році компанією Gateway Design Automation було створено першу сучасну мову проєктування апаратури — Verilog. Вона лаконічна, проста в реалізації, має C-подібний синтаксис та швидкий компілятор, що дозволяє зменшити об'єм опису схем в півтора рази, порівняно з VHDL[3].
Створений в 1980-х роках на замовлення Міністерства оборони США VHDL (англ. VHSIC Hardware Description Language, де VHSIC — англ. Very High Speed Integrated Circuit) був стандартизований інститутом електроінженерів в 1987 році. VHDL зазнав значного впливу мов програмування Ada та Pascal, також було використано досвід, отриманий при створенні ISPS[4]. Вдосконалення мови веде група VASG (англ. VHDL Analysis and Standartisation Group), що переглядає стандарт раз в п'ять років.
Спочатку Verilog та VHDL використовувались для моделювання пристроїв, описаних іншими способами (наприклад у вигляді схемних файлів). З часом, VHDL та Verilog стали домінувати серед мов опису апаратури, в той час як багато старіших виходили з вжитку. Проте всі вони мають однакові недоліки:
Для подолання цих мінусів було створено спеціальні мови, такі як Confluence, проте й вони не змогли замінити VHDL та Verilog.
Мови опису апаратури класифікують за їх цільовим призначенням. До першої категорії відносять ті, що дозволяють виконувати моделювання аналогових та гібридних мікросхем. До другої — ті, що моделюють цифрові мікросхеми.
Назва | Опис |
---|---|
Analog Hardware Descriptive Language | Мова опису для програмованих аналогових інтегральних схем |
SpectreHDL | Мова проєктування аналогової апаратури |
Verilog-AMS (англ. Verilog for Analog and Mixed-Signal) | Стандартизоване розширення Verilog для аналогового та гібридного моделювання |
VHDL-AMS (англ. VHDL with Analog/Mixed-Signal extension) | Стандартизована мова для гібридного моделювання |
HDL-A | Мова опису аналогового апаратного забезпечення |
Назва | Опис |
---|---|
ABEL (англ. Advanced Boolean Expression Language) | |
AHDL (англ. Altera Hardware Description Language) | Мова опису апаратури компанії Altera |
AHPL (англ. A Hardware Programing Language) | |
Bluespec | Високорівнева мова проєктування апаратури, заснована на мові програмування Haskell |
BSV (англ. Bluespec SystemVerilog) | Мова опису апаратури, заснована на Bluespec з синтаксисом, подібним до Verilog |
Chisel (англ. Constructing Hardware in a Scala Embedded Language) | Мова проєктування апаратури, заснована на мові програмування Scala |
Confluence | Мова опису апаратури в функціональному стилі, що більше не використовується[5] |
CoWareC | Мова проєктування апаратури, заснована на мові програмування C і розроблена компанією CoWare, замінена SystemC |
CUPL (англ. Compiler for Universal Programmable Logic) | Мова опису апаратури, розроблена компанією Logical Devices |
ELLA | Більше не використовується |
Handel-C | Мова проєктування апаратури, подібна до мови програмування C |
HDCaml | Мова опису апаратури, заснована на OCaml |
HHDL | Мова проєктування апаратури, заснована на Haskell |
HJJ (англ. Hardware Join Java) | Мова опису апаратури, заснована на Join Java |
HML (англ. Hardware ML) | Мова проєктування апаратури, заснована на SML[6] |
Hydra (мова опису апаратури) | Мова опису апаратури, заснована на Haskell[7] |
Impulse C | Мова проєктування апаратури, подібна до мови програмування C |
ISPS | Мова опису апаратури, більше не використовується |
JHDL | Мова проєктування апаратури, заснована на Java |
Lava | Мова опису апаратури, заснована на Haskell[8][9][10][11][12] |
Lola | Проста мова проєктування апаратури для навчання |
M (мова опису апаратури) | Мова опису апаратури, розроблена компанією Mentor Graphics |
MyHDL | Мова проєктування апаратури, заснована на Python |
PALASM | Мова опису апаратури |
ParC (англ. Parallel C++) | C++, оптимізований для задач проєктування апаратури |
PHDL (англ. Printed Circuit Board Hardware Description Language) | Мова опису апаратури з відкритим сирцевим кодом для поєднання друкованих плат |
RHDL | Мова проєктування апаратури, заснована на Ruby[13] |
SystemC | Стандартизовані класи бібліотеки C++ для поведінкового моделювання апаратури на вищому рівні абстракції |
SystemVerilog | Надбудова над Verilog |
SystemTCL | Мова опису апаратури, заснована на Tcl |
THDL++ (англ. Templated Hardware Description Language та C++) | Розширення VHDL |
Verilog | Одна з найбільш поширених мов проєктування апаратури |
VHDL (англ. Very High Speed Integrated Circuit Hardware Language) | Одна з найчастіше використованих мов опису апаратури |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.