Мови опису апаратури: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Rudnytskyi (обговорення | внесок)
м оформлення
Rudnytskyi (обговорення | внесок)
м оформлення
Рядок 7:
* мови опису апаратури гарантують високу надійність розроблюваного пристрою та забезпечують самодокументування
 
Мови проектування апаратури дають можливість [[Інженер|інженерам]] працювати на вищому рівні [[АбстракціяАбстрагування (програмування)|абстракції]], що дозволяє збільшити кількість елементів розроблюваного пристрою.
 
== Структура ==
Рядок 13:
Мова опису апаратури виглядає дуже схоже на [[Мова програмування|мову програмування]], наприклад [[C (мова програмування)|C]], оскільки її структура складається з таких самих текстових виразів. Також мови проектування апаратури дають можливість описувати специфікації для [[Апаратне забезпечення|апаратного забезпечення]], що можуть виконуватися. Це дає ілюзію наявності мови програмування, хоча насправді їх відносять до мов проектування чи моделювання.
 
Першою причиною цього є те, що, на відміну від мов програмування, що не завжди мають в собі ознаки [[Паралелізм (інформатика)|паралелізму]], [[Інструкція (програмування)|інструкції]] мов проектування апаратури завжди виконуються паралельно. Іншою важливою їх складовою є опис синхросигналу[[синхросигнал]]у, що є особливістю проектування апаратного забезпечення. Мови опису апаратури можуть використовуватися для створення пристрою у ''структурній'', ''поведінковій'' формах чи на ''рівні регістрових передач'' з такою ж функціональністю.
 
== Історія розвитку ==
 
Перші мови опису апаратури з'явилися в кінці 1960-х років<ref>Barbacci, M. "A comparison of register transfer languages for describing computers and digital systems, " Carnegie-Mellon Univ., Dept. of Computer Science, March 1973</ref>. Завдяки [[Digital Equipment Corporation]] та їх [[PDP-8]] та [[PDP-16]] ці мови набули поширення, оскільки для їх розробки було застосовано [[ISP]], мову, що вперше ввела концепцію рівня регістрових передач.
 
Її наступниками стали [[ISPL]] та [[ISPS]]. Остання гарно описувала відношення між вхідними та вихідними портами і стала об'єктом досліджень DEC та інших компаній в [[США]].
Рядок 23:
В кінці 1970-х років набули популярності [[ПЛІС]], що дало новий поштовх в розробці мов опису апаратури.
 
В [[1985]] році компанією [[Gateway Design Automation]] було створено першу сучасну мову проектування апаратури&nbsp;— [[Verilog]]. Вже в [[1987]] році на замовлення [[Міністерство оборони США|Міністерства оборони США]] було створено [[VHDL]] ({{lang-en|VHSIC Hardware Description Language}}, де VHSIC&nbsp;— {{lang-en|Very High Speed Integrated Circuit}}). VHDL зазнав значного впливу мови програмування [[Ada|Ада]], також було використано досвід, отриманий при створенні ISPS<ref>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</ref>. Спочатку Verilog та VHDL використовувались для моделювання пристроїв, описаних іншими способами (наприклад у вигляді схемних файлів).
 
З часом, VHDL та Verilog стали домінувати серед мов опису апаратури, в той час як багато старіших виходили з вжитку. Проте всі вони мають однакові недоліки:
* неможливість моделювання [[Аналогова електронікаінтегральна схема|аналогових]] чи [[Гібридна інтегральна схема|гібридних]] мікросхем
* неможливість опису [[Рекурсія|рекурсивних]] сутностей
Для подолання цих мінусів було створено спеціальні мови, такі як [[Confluence]], проте й вони не змогли замінити VHDL та Verilog.
Рядок 34:
 
=== Для аналогових схем ===
 
{| class="sortable wikitable"
|-
Рядок 46 ⟶ 45:
| мова проектування аналогової апаратури
|-
| [[Verilog-AMS]] ({{lang-en|Verilog for Analog and Mixed-Signal}})
| стандартизоване розширення Verilog для аналогового та гібридного моделювання
|-
| [[VHDL-AMS]] ({{lang-en|VHDL with Analog/Mixed-Signal extension}})
| стандартизована мова для гібридного моделювання
|-
Рядок 57 ⟶ 56:
 
=== Для цифрових схем ===
 
{| class="sortable wikitable"
|-
Рядок 63 ⟶ 61:
! Опис
|-
| [[ABEL]] ({{lang-en|Advanced Boolean Expression Language}})
|
|-
| [[AHDL]] ({{lang-en|Altera Hardware Description Language}})
| мова опису апаратури компанії [[Altera]]
|-
| [[AHPL]] ({{lang-en|A Hardware Programing Language}})
|
|-
Рядок 75 ⟶ 73:
| високорівнева мова проектування апаратури, заснована на мові програмування [[Haskell]]
|-
| [[BSV]] ({{lang-en|Bluespec SystemVerilog}})
| мова опису апаратури, заснована на Bluespec з [[Синтаксис|синтаксисом]], подібним до Verilog
|-
| [[Chisel]] ({{lang-en|Constructing Hardware in a Scala Embedded Language}})
| мова проектування апаратури, заснована на мові програмування [[Scala]]
|-
Рядок 87 ⟶ 85:
| мова проектування апаратури, заснована на мові програмування C і розроблена компанією [[CoWare]], замінена SystemC
|-
| [[CUPL]] ({{lang-en|Compiler for Universal Programmable Logic}}}
| мова опису апаратури, розроблена компанією [[Logical Devices, Inc.]]
|-
| [[ELLA]]
Рядок 102 ⟶ 100:
| мова проектування апаратури, заснована на Haskell
|-
| [[HJJ]] ({{lang-en|Hardware Join Java}})
| мова опису апаратури, заснована на [[Join Java]]
|-
| [[HML]] ({{lang-en|Hardware ML}})
| мова проектування апаратури, заснована на [[Standard ML|SML]]<ref>{{cite journal|last=Li|first=Yanbing|coauthors=Miriam Leeser|title=HML: An Innovative Hardware Description Language and Its Translation to VHDL|journal=Proceedings of CHDL’95|year=1995|pages=691--696}}</ref>
|-
Рядок 135 ⟶ 133:
| мова опису апаратури
|-
| [[ParC]] ({{lang-en|Parallel C++}})
| [[C++]], оптимізований для задач проектування апаратури
|-
| [[PHDL]] ({{lang-en|Printed Circuit Board Hardware Description Language}})
| мова опису апаратури з відкритим [[Сирцевий код|сирцевим кодом]] для поєднання [[Друкована плата|друкованих плат]]
|-
Рядок 153 ⟶ 151:
| мова опису апаратури, заснована на [[Tcl]]
|-
| [[THDL++]] ({{lang-en|Templated Hardware Description Language та C++}})
| розширення VHDL
|-
Рядок 159 ⟶ 157:
| одна з найбільш поширених мов проектування апаратури
|-
| [[VHDL]] ({{lang-en|Very High Speed Integrated Circuit Hardware Language}})
| одна з найчастіше використованих мов опису апаратури
|}