Начните с VHDL-программирования: создайте свое собственное оборудование

Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальную плату за некоторые услуги, которые мы рекомендуем на этой странице.


VHDL – это язык описания оборудования (HDL). HDL немного похож на язык программирования, но имеет другое назначение. Вместо того, чтобы использоваться для разработки программного обеспечения, HDL используется для определения компьютерного чипа. VHDL может использоваться для описания любого типа схем и часто используется при проектировании, моделировании и тестировании процессоров, процессоров, материнских плат, FPGA, ASIC и многих других типов цифровых схем..

История VHDL

Название VHDL является вложенной аббревиатурой. Он обозначает язык описания оборудования VHSIC. VHSIC расшифровывается как высокоскоростная интегральная схема. Помимо описания быстрого процессора, оно было названием программы правительства США в 1980-х годах, миссией которой были исследования и разработки в области высокоскоростных интегральных микросхем (быстродействующих компьютерных чипов)..

Наряду с значительными достижениями в области материаловедения, алгоритмов, дизайна микросхем, литографии и десятка других смежных областей, VHSIC разработала VHDL..

Первый официальный стандарт для языка появился в IEEE в 1987 году и известен как IEEE 1076. С тех пор было выпущено несколько изданий, последнее из которых появилось в 2008 году. В дополнение к «основному» языку, указанному в 1076, существует количество расширений, записанных в других спецификациях:

  • IEEE 1076.1 VHDL Аналоговый и смешанный сигнал (VHDL-AMS)
  • Стандартные пакеты IEEE 1076.1.1 VHDL-AMS (stdpkgs)
  • Математический пакет IEEE 1076.2 VHDL
  • Синтез-пакет IEEE 1076.3 VHDL (vhdlsynth)
  • Пакет синтеза IEEE 1076.3 VHDL – с плавающей точкой (fphdl)
  • Время IEEE 1076.4 (Инициатива VHDL по отношению к библиотекам ASIC: жизненно важно)
  • IEEE 1076.6 VHDL Синтез взаимодействия
  • Пакеты многозначной логики IEEE 1164 VHDL (std_logic_1164)

VHDL Дизайн и Синтаксис

VHDL был основан на Аде и широко заимствован из него как в синтаксисе, так и в концепциях. Затем это было дополнено специальными аппаратными концепциями, такими как многозначная логика, физический параллелизм и расширенный набор логических операторов. VHDL также может индексировать массивы как в порядке возрастания, так и в порядке убывания, тогда как Ada (и большинство других языков программирования) также индексируют только в порядке возрастания.

Большинство языков программирования в своей основе процедурные – компьютер последовательно выполняет одну команду за другой. VHDL отличается. Это аппаратный язык, который описывает (реальную или симулированную) физическую структуру. Эта структура состоит из большого количества модулей, и каждый модуль действует одновременно с любым другим модулем..

Таким образом, в каждом модуле есть процедурный поток инструкций, который выглядит как небольшая, автономная программа – с переменными, управляющими потоками, условными выражениями, циклами. Каждый модуль имеет один или несколько входов вместе с одним или несколькими выходами. Входные данные указываются в структуре, называемой сущностью, а автономная логика определяется в архитектуре..

Рассмотрим идею «И ворота», где у нас есть два входа и один выход. Если оба входа «включены» (true, 1), то выход «включен»; в противном случае выход «выключен». Таким образом, используя VHDL, мы определяем два входа и один выход. Допустимые значения этих входов и выходов будут определены в модуле std_logic, который импортируется как библиотека на обычном языке программирования. Затем архитектура будет определять внутреннюю работу нашего «И шлюза», чтобы она работала так, как мы только что обсуждали..

Модуль std_logic представляет собой интересный аппаратно-специфический тип значения. Он похож на значение BOOLEAN, присутствующее в языках программирования (один бит: true или false), но может иметь диапазон значений, поскольку представляет реальный электрический импульс в физической системе:

  • U: неинициализирован. Этот сигнал еще не был установлен.
  • Х: неизвестно. Невозможно определить это значение / результат.
  • 0: логика 0
  • 1: логика 1
  • Z: высокий импеданс
  • W: слабый сигнал, не могу сказать, должен ли он быть 0 или 1.
  • L: слабый сигнал, который, вероятно, должен идти к 0
  • H: слабый сигнал, который, вероятно, должен идти к 1
  • -: Не волнует.

Это в миниатюре, как построен полный дизайн VHDL. Довольно простые, логически автономные модули операций ввода-вывода создаются и соединяются друг с другом, образуя вычислительные машины, способные выполнять различные типы задач. Проект VHDL может описывать полнофункциональный компьютер общего назначения или кодировать один алгоритм, такой как проверка работы методом “грубой силы”, используемый для майнинга биткойнов..

Важно понимать, что дизайн VHDL не является программой – он не запускается и не выполняется. Как и план, он определяет архитектуру. Как только проект завершен, он обычно моделируется для тестирования в программном стенде, а затем синтезируется, что означает, что он переводится в физический проект, который может быть реализован на реальном чипе или плате..

Ресурсы для изучения VHDL

Есть много ресурсов для изучения VHDL. Мы собрали некоторые из лучших.

Интернет-ресурсы

  • VHDL Primer: учебное пособие по VHDL от Университета Пенсильвании.
  • VHDL в Википедии: освещение VHDL в Википедии удивительно всесторонне и понятно, обеспечивая отличное введение в язык в целом.
  • VHDL Cookbook: бесплатная онлайн-книга, длина и формат учебника для колледжа.
  • Учебное пособие по VHDL: Учитесь на примере: это почтенное учебное пособие – ничего интересного, но информация отличная и очень хорошо организована.
  • Руководство по языкам VHDL: это PDF-файл, в котором подробно описан язык (400 страниц) со ссылками в документе для очень простой навигации. Это отличная ссылка.
  • Руководство дизайнера по VHDL: коллекция ресурсов, учебных пособий и ссылок. Включает в себя видео и онлайн-курс сертификации.
  • Программируемая логическая / VHDL модульная структура
  • Основы VHDL – онлайн курс
  • VHDL Справочник
  • Руководство для начинающих VHDL

книги

Все эти книги посвящены VHDL:

  • Руководство для дизайнеров по VHDL, третье издание
  • Схема проектирования и моделирования с VHDL
  • VHDL по примеру
  • VHDL: основы программирования
  • VHDL для инженеров
  • VHDL на примере: основы цифрового дизайна
  • Схемотехника с VHDL
  • Цифровой дизайн с использованием VHDL: системный подход

VHDL & Verilog Книги

Основным «соревнованием» VHDL является Verilog. Оба языка используются для проектирования аппаратного обеспечения, поэтому существует ряд книг, посвященных базовым концепциям проектирования и разработки и использующих как VHDL, так и Verilog..

  • Цифровой дизайн с RTL Design, VHDL и Verilog
  • Hdl Chip Design: практическое руководство по проектированию, синтезированию & Имитация Asics & Fpgas Использование VHDL или Verilog
  • Рецепты дизайна для ПЛИС, второе издание: использование Verilog и VHDL
  • Основы программирования HDL: VHDL и Verilog

Другие важные ссылки VHDL

Реализации и симуляторы

  • Бесплатно / с открытым исходным кодом
    • GHDL
    • NVC
    • Бесплатный проект HDL
  • Коммерческий / Собственный
    • VHDL Симили
    • Active-HDL
    • Симулятор Incisive Enterprise
    • ModelSim

инструменты

  • EDA Utils: большой набор утилит для работы с VHDL, а также Verilog и другими HDL.
  • EDA Playground: онлайн-песочница для тестирования VHDL-дизайнов.
  • Пакеты редактора
    • Emacs VHDL Mode
    • VHDL плагин для VIM
    • Пакет VHDL для возвышенного текста
    • VHDL для Atom
    • VHDL для блокнота++

Вы также должны знать …

VHDL является одним из двух основных языков описания оборудования. Другой – это Верилог. Большинство разработчиков оборудования знакомы с обоими, а также с языками операционной системы низкого уровня, такими как Cand C++.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map