Как создать свою первую программу VHDL:Hello World!
Изучая новый язык программирования, я всегда предпочитаю начинать с изучения печати. Когда вы освоите вывод «Hello World!», вы поймете, что среда работает. Он также показывает вам базовый скелет языка, минимальный код, необходимый для создания любого вывода.
Вы можете подумать:но VHDL — это язык описания оборудования, как он вообще может выводить какой-либо текст? Вам понадобится экран, подключенный к FPGA или чему-то еще, и всевозможная логика между ними, и это будет совсем не просто. Хотя все это правда, давайте на мгновение забудем о FPGA и ASIC и сосредоточим наше внимание на языке VHDL.
Эта запись в блоге является частью серии учебных пособий по основам VHDL.
VHDL можно рассматривать как язык параллельного программирования, и поэтому мы можем использовать этот подход программиста для его изучения. Поскольку мы используем этот язык для описания цифровых схем, единственный способ запустить его на нашем компьютере — это использовать симулятор. , и симулятор определенно способен выводить «Hello World!» на экран.
Как бесплатно установить симулятор и редактор VHDL
Упражнение
Этот видеоурок покажет вам, как создать свою самую первую программу VHDL:
Окончательный код, который мы создали:
entity T01_HelloWorldTb is end entity; architecture sim of T01_HelloWorldTb is begin process is begin report "Hello World!"; wait; end process; end architecture;
Вывод в консоль симулятора, когда мы нажали кнопку запуска в ModelSim:
VSIM 2> run # ** Note: Hello World! # Time: 0 ns Iteration: 0 Instance: /t01_helloworld
Анализ
В первых двух строках мы объявили сущность . Сущность модуля объявляет свои входы и выходы. Чтобы можно было запустить модуль в симуляторе, он не может иметь никаких входов или выходов. Поэтому в нашем модуле нет ничего, кроме пустого объявления сущности.
Затем мы объявили архитектуру модуля. В то время как сущность — это интерфейс модуля с внешним миром, архитектура — это его внутренняя реализация. Модуль может иметь несколько архитектур, которые могут использоваться с одним и тем же объектом. На данный момент я бы не стал слишком беспокоиться об этих вещах, поскольку они являются расширенными функциями VHDL.
Внутри архитектуры мы объявили процесс . Сейчас мы можем думать о процессе как о потоке в нашей программе, в котором все происходит последовательно.
Внутри процесса мы печатаем «Hello World!» используя report
ключевое слово. На следующей строке есть единственный wait;
. Когда симулятор достигает этой линии, больше ничего не происходит. Процесс будет ждать здесь вечно.
Когда мы моделировали этот дизайн в ModelSim, мы могли видеть, что «Hello World!» был напечатан на консольный вывод. После этого больше ничего не происходило.
Вывод
- Вы можете думать о процессе как о потоке программы
report
оператор выводит текст на консоль симулятора- Выполнение процесса будет ждать вечно на
wait;
заявление
Перейти к следующему руководству »
VHDL
- Учебное пособие:Ваша первая программа для ПЛИС:мигалка для светодиодов
- C# Hello World — ваша первая программа на C#
- Java-программа Hello World
- Как создать список строк в VHDL
- Как создать управляемый Tcl тестовый стенд для модуля кодовой блокировки VHDL
- Как создать ШИМ-контроллер на VHDL
- Как создать кольцевой буфер FIFO в VHDL
- Как создать связанный список в VHDL
- Как использовать процедуру в процессе в VHDL
- Как прототипы улучшают ваш производственный процесс