Мови опису апаратури: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
м оформлення |
м вікіфікація |
||
Рядок 1:
'''Мова опису апаратури''' ({{lang-en|hardware description language}}) — це спеціалізована [[Формальна мова|формальна]] [[
До переваг використання мови проектування апаратури над [[Схема електрична принципова|схемним проектуванням]] можна віднести наступні:
* можливість проектування пристроїв, для яких створення схем неможливе через надмірну складність продукту, наприклад при розробці сучасних [[
* такий опис зазвичай об'єднує як структурну, так і функціональну складову;
* проект на мові проектування апаратури портативний та універсальний, тобто легко переноситьтся на іншу елементну базу і може використовуватися в іншому проекті. Як результат, він стає довгоживучим, оскільки не залежить від «старіння» конкретних мікросхем;
* мови опису апаратури гарантують високу надійність розроблюваного пристрою та забезпечують самодокументування.
Мови проектування апаратури дають можливість [[
== Структура ==
Мова опису апаратури виглядає дуже схоже на [[Мова програмування|мову програмування]], наприклад [[C (мова програмування)|C]], оскільки її структура складається з таких самих текстових виразів. Також мови проектування апаратури дають можливість описувати специфікації для [[Апаратне забезпечення|апаратного забезпечення]], що можуть виконуватися. Це дає ілюзію наявності мови програмування, хоча насправді їх відносять до мов проектування чи моделювання.
Рядок 16 ⟶ 15:
== Історія розвитку ==
Перші мови опису апаратури з'явилися в кінці 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]], мову, що вперше ввела концепцію рівня регістрових передач.
Рядок 26 ⟶ 24:
З часом, VHDL та Verilog стали домінувати серед мов опису апаратури, в той час як багато старіших виходили з вжитку. Проте всі вони мають однакові недоліки:
* неможливість моделювання [[Аналогова інтегральна схема|аналогових]] чи [[Гібридна інтегральна схема|гібридних]] мікросхем;
* неможливість опису [[Рекурсія|рекурсивних]] сутностей.
Для подолання цих мінусів було створено спеціальні мови, такі як [[Confluence]], проте й вони не змогли замінити VHDL та Verilog.
Рядок 34 ⟶ 32:
=== Для аналогових схем ===
{| class="
|-
! Назва
Рядок 40 ⟶ 38:
|-
| [[Analog Hardware Descriptive Language]]
|
|-
| [[SpectreHDL]]
|
|-
| [[Verilog-AMS]] ({{lang-en|Verilog for Analog and Mixed-Signal}})
|
|-
| [[VHDL-AMS]] ({{lang-en|VHDL with Analog/Mixed-Signal extension}})
|
|-
| [[HDL-A]]
|
|}
=== Для цифрових схем ===
{| class="
|-
! Назва
Рядок 65 ⟶ 63:
|-
| [[AHDL]] ({{lang-en|Altera Hardware Description Language}})
|
|-
| [[AHPL]] ({{lang-en|A Hardware Programing Language}})
Рядок 71 ⟶ 69:
|-
| [[Bluespec]]
|
|-
| [[BSV]] ({{lang-en|Bluespec SystemVerilog}})
|
|-
| [[Chisel]] ({{lang-en|Constructing Hardware in a Scala Embedded Language}})
|
|-
| [[Confluence]]
|
|-
| [[CoWareC]]
|
|-
| [[CUPL]] ({{lang-en|Compiler for Universal Programmable Logic}}
|
|-
| [[ELLA]]
|
|-
| [[Handel-C]]
|
|-
| [[HDCaml]]
|
|-
| [[HHDL]]
|
|-
| [[HJJ]] ({{lang-en|Hardware Join Java}})
|
|-
| [[HML]] ({{lang-en|Hardware ML}})
|
|-
| [[Hydra (мова опису апаратури)]]
|
|-
| [[Impulse C]]
|
|-
| [[ISPS]]
|
|-
| [[JHDL]]
|
|-
| [[Lava]]
|
|-
| [[Lola]]
|
|-
| [[M (мова опису апаратури)]]
|
|-
| [[MyHDL]]
|
|-
| [[PALASM]]
|
|-
| [[ParC]] ({{lang-en|Parallel C++}})
Рядок 137 ⟶ 135:
|-
| [[PHDL]] ({{lang-en|Printed Circuit Board Hardware Description Language}})
|
|-
| [[RHDL]]
|
|-
| [[SystemC]]
|
|-
| [[SystemVerilog]]
|
|-
| [[SystemTCL]]
|
|-
| [[THDL++]] ({{lang-en|Templated Hardware Description Language та C++}})
|
|-
| [[Verilog]]
|
|-
| [[VHDL]] ({{lang-en|Very High Speed Integrated Circuit Hardware Language}})
|
|}
|