Язык программирования схем

В прошлый разя подробно рассказал . Что такое ПЛИС и в чем их преимущество перед ASIC и микроконтроллерами. ПЛИС-это ничто. Но реконфигурируемые логические блоки и межсоединения могут быть запрограммированы языком описания оборудования. Таким как Verilog/ VHDL, для выполнения определенной функциональности.

Сегодня я расскажу. Что такое на самом деле программирование ПЛИС. Как начать работу с программированием ПЛИС и потоком проектирования программирования ПЛИС. Также будет обсуждаться разница между программированием на ПЛИС и программным обеспечением.

Что такое программирование ПЛИС?

1. Что такое программирование ПЛИС?



Как упоминалось в предыдущем посте ПЛИС, ПЛИС-это не что иное. Как реконфигурируемые логические блоки (логические элементы. Элементы памяти. Компоненты DSP и т. Д.) и межсоединения. Программирование ПЛИС-это фактически (повторная)настройка ПЛИС с использованием языка описания оборудования (Verilog/VHDL) для подключения этих логических блоков и межсоединений таким образом. Чтобы они могли выполнять определенную функциональность (сумматоры. Умножители. Процессоры, фильтры. Делители и т. Д.).

2. Что такое язык программирования ПЛИС?

Язык программирования ПЛИС обычно называют Языком описания аппаратного обеспечения. Потому что он фактически используется для описания или проектирования аппаратного обеспечения. Двумя основными языками описания аппаратного обеспечения являются Verilog HDL и VHDL.

Verilog = Verilog был приобретен компанией Cadence в 1990 году и стал стандартом IEEE 1364 в 1995 году. Теперь Verilog обычно используется для проектирования и проверки цифровых схем. А также аналоговых или смешанных сигнальных схем.

VHDL-это VHSIC (Очень высокоскоростные интегральные схемы) Язык описания аппаратного обеспечения. Который был первоначально разработан Министерством обороны США для исследования и разработки очень высокоскоростных интегральных схем в 1980-х годах. VHDL стал стандартом IEEE 1076 в 1987 году. В настоящее время VHDL в основном используется для моделирования цифровых и аналоговых схем смешанных сигналов. Таких как ПЛИС и ASIC.

Verilog HDL похож на язык программирования C. Такой как чувствительный к регистру. Ключевые слова. Операторы и т. Д. VHDL похож на язык программирования Ada. Поскольку он изначально был построен на основе Ada. Разница между Verilog и VHDL представлена здесь. Хотя существуют сходства в синтаксисе между HDL (Verilog. VHDL) и языками программирования программного обеспечения (C, Ada). Программирование ПЛИС полностью отличается от программирования программного обеспечения. 

3. В чем ключевая разница между программированием ПЛИС и программированием программного обеспечения?

Что такое программирование ПЛИС?

Явное различие между программированием FPGA и программным обеспечением заключается в том. Как выполняются его инструкции. Что касается выполнения инструкций. То инструкции в программировании программного обеспечения (C, Ada и т. Д.) Выполняются последовательно. В то время как инструкции Verilog/ VHDL в программировании ПЛИС в основном выполняются параллельно (за исключением назначения блокировки в Verilog и назначения переменных в процессе в VHDL). Что еще более важно. Программирование ПЛИС или проектирование ПЛИС-это проектирование цифровых логических схем для определения поведения ПЛИС. В то время как программирование программного обеспечения-это выполнение последовательности последовательных инструкций для выполнения определенного поведения в программном обеспечении. 

Когда вы начинаете программирование FPGA. Вы должны забыть о поведении кодирования в программном обеспечении. Многие студенты копируют непосредственно то. Как они программируют (Для цикла. В то время как цикл и т. Д.) В программировании программного обеспечения на FPGA для проектирования и реализации синтезируемых цифровых схем на FPGA. Это очень плохое поведение кодирования ПЛИС.

Инструменты синтеза могут занять очень много времени. Чтобы синтезировать этот тип кода. И даже хуже того. Программное обеспечение синтеза продолжает синтезировать до тех пор. Пока оперативная память компьютеров не переполнится. И вам придется закрыть программное обеспечение и перезапустить его. Вот почему в программировании ПЛИС люди обычно сначала проектируют базовые архитектуры или логические схемы на основе спецификаций проектов. Прежде чем приступать к кодированию.

4. Как начать работу с программированием ПЛИС и что такое процесс проектирования программирования ПЛИС?

а) предыстория проектирования цифровой логики

Чтобы начать работу с программированием ПЛИС. Вам необходимо иметь хороший опыт проектирования цифровой логики. Чтобы ознакомиться с логическими значениями. Логическими элементами. Комбинационными и последовательными логическими схемами. Это хороший ресурс для этого.

b. Язык Verilog/ VHDL

Затем вы можете начать изучать Verilog/ VHDL для программирования ПЛИС. Verilog/ VHDL-это язык описания аппаратного обеспечения, поэтому. Как я уже упоминал. Вам нужно забыть о программном кодировании поведения и начать думать о логических элементах и схемах для реализации функциональности. Которую вы хотите запустить на ПЛИС. Чтобы выучить язык программирования. Я рекомендую вам продолжать практиковать дизайн и кодирование всякий раз. Когда у вас есть время.

c. Моделирование

Для практики программирования ПЛИС моделирование является критическим шагом перед синтезом и реализацией. Моделирование предназначено для проверки функциональной корректности кода Verilog/ VHDL. Который вы пишете. Есть много симуляторов но Modelsim-это самый распространенный симулятор. Который я использовал для функционального моделирования. Еще одна вещь: вам нужно написать тестовый стенд. Который дает все возможные комбинации входных значений для проверки конструкции. Стиль кодирования тестового стенда не может быть слишком ограниченным. Как стиль синтезируемого кодирования. Поэтому вы можете использовать стиль поведения программного обеспечения (For loop. While loop и т. Д.) Для генерации входных паттернов для функционального моделирования.

d. Синтез и реализация

После успешной проверки конструкции в функциональном моделировании можно подумать о следующем шаге синтеза и реализации. Двумя наиболее популярными инструментами синтеза и реализации ПЛИС являются Xilinx ISE/ Vivado Design suite для ПЛИС Xilinx и Quartus II для ПЛИС Intel Altera. Также следует отметить. Что вы можете имитировать свой дизайн с помощью этих инструментов; симуляторы (Xilinx ISIM. ModelSim-Altera) интегрированы в Xilinx ISE/ Quartus II. Инструмент позволяет синтезировать код и генерировать файл битового потока для программирования ПЛИС.

e. Платы разработки ПЛИС

Что такое программирование FPGA?

После получения файла битового потока из Xilinx ISE/ Vivado/ Quartus II мы загрузим битовый поток на платы FPGA для демонстрации. Я уже рекомендовал очень дешевые платы FPGA следующим образом:

В основном, это то. Что вам нужно. Чтобы начать с программирования FPGA и как программирование FPGA выполняется на платах FPGA. Вскоре я опубликую учебники по FPGA о том. Как начать первый проект FPGA на платах Xilinx/ Intel Altera FPGA.