По всем вопросам звоните:

+7 495 274-22-22

УДК: 621.9 DOI:10.33920/pro-2-2202-02

Программирование ПЛИС при помощи САПР Quartus

Гордиенко Н. А., МГТУ им. Н. Э. Баумана, Москва, 105005, Москва, ул. 2‑я Бауманская, д. 5
Монахов П. А., МГТУ им. Н. Э. Баумана, Москва, 105005, Москва, ул. 2‑я Бауманская, д. 5, е-mail: monakhovp99@mail.ru
Ситников С. С., МГТУ им. Н. Э. Баумана, Москва, 105005, Москва, ул. 2‑я Бауманская, д. 5

В любом производстве — промышленном, радиоаппаратном, строительном, сельскохозяйственном осуществляется проектирование разного рода объектов. Системы автоматизированного проектирования обеспечивают выполнение функционально законченных проектных задач с получением соответствующих проектных решений и проектных документов. Программы этого класса решают задачи автоматизации всех этапов проектирования систем различной степени сложности: от технологии производства отдельной детали до проектирования целой технологической линии. В статье описан алгоритм программирования ПЛИС. Практическая значимость работы — изучение основ программирования ПЛИС на языке Verilog. Знакомство с программой компилирования Quartus II — основная среда проектирования для ПЛИС компании Intel FPGA, легко адаптируемая к требованиям конкретного проекта. Пакет Quartus II включает в себя все утилиты, необходимые для работы с микросхемами FPGA. Light-версия САПР бесплатна и находится в общем доступе, что очень удобно для познания основ. Однако даже для профессиональной работы зачастую хватает бесплатной версии квартуса. Данная работа поможет ознакомиться с ПЛИС, ее структурой. Рассмотрена отладочная плата DE10‑Lite Board с расположенной на ней ПЛИС MAX10 10M50DAF484C7G и другими периферийными модулями, позволяющими делать довольно сложные проекты. На ее основе показано, как создать пустой проект для конкретной ПЛИС и добавить к проекту новые файлы. Написан простой код на языке Verilog для управления светодиодами на плате, нужно лишь нажать соответствующие кнопки, используя основные понятия и команды языка. Показано, как проверить на правильность написанный код, скомпилировать и загрузить прошивку на имеющуюся плату через встроенный программатор. Ознакомление и изучение данного языка программирования проводятся в стенах одного из ведущих инженерных университетов Российской Федерации — Московского государственного технического университета им. Н. Э. Баумана.

Литература:

1. Цифровой синтез: практический курс / Под общ. ред. А. Ю. Романова, Ю. В. Панчула. — Москва: ДМК Пресс, 2020. — 556 с.

2. Акчурин, А. Д., Юсупов, К. М. Программирование на языке Verilog: учебное пособие. — Казань, 2016. — 90 с.

3. Поляков, А. К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры. — Москва: СОЛОН-Пресс, 2003. — 320 с.

4. Бибило, П. Н., Авдеев, Н.А. Моделирование и верификация цифровых систем на языке VHDL. — Москва: ЛЕНАНД, 2017. — 344 с.

5. Закревский, А.Д. Параллельные алгоритмы логического управления. — Минск: Ин-т техн. кибернетики НАН Беларуси, 1999. — 202 с.

6. Бибило, П.Н. Синтез логических схем с использованием языка VHDL. — Москва: СОЛОН- Пресс, 2002. — 384 с.

7. Бибило, П.Н. Cистемы проектирования интегральных схем на основе языка VHDL.StateCAD, ModelSim, LeonardoSpectrum. — Москва: СОЛОНПресс, 2005. — 384 с.

8. Бибило, П. Н., Авдеев, Н.А. VHDL. Эффективное использование при проектировании цифровых систем. — Москва: СОЛОН-Пресс, 2006. — 344 с.

9. Бибило, П.Н. Логическое перепроектирование схем, реализованных на FPGA, в схемы на базовых матричных кристаллах // Информационные технологии. — 2004. — №1.

10. Бибило, П.Н. Проектирование конечных автоматов в САПР WebPack ISE фирмы Xilinx // Информационные технологии. — 2004. — №3. — С. 8–13.

1. Cifrovoj sintez: prakticheskij kurs / pod obshch. red. A. YU. Romanova, YU. V. Panchula. — M.: DMK Press, 2020. — 556 s.

2. Akchurin, A.D., Yusupov, K.M. Programmirovanie na yazyke Verilog. Uchebnoe posobie. — Kazan», 2016. — 90 s.

3. Polyakov, A. K. Yfzyki VHDL i VERILOG v proektirovanii cifrovoj apparatury. — M.: SOLON-Press, 2003. — 320 s.

4. Bibilo, P.N., Avdeev, N.A. Modelirovanie i verifikaciya cifrovyh sistem na yazyke VHDL. — M.: LENAND, 2017. — 344 s.

5. Zakrevskij, A.D. Parallel»nye algoritmy logicheskogo upravleniya. Mn.: In-t tekhn. kibernetiki NAN Belarusi. 1999. — 202 s.

6. Bibilo, P.N. Sintez logicheskih skhem s ispol»zovaniem yazyka VHDL. — M.: Solon-R,2002. — 384 s.

7. Bibilo, P.N. Cistemy proektirovaniya integral»nyh skhem na osnove yazyka VHDL. StateCAD, ModelSim, LeonardoSpectrum. — M.: SOLON-Press, 2005. — 384 s.

8. Bibilo, P.N., Avdeev, N.A. VHDL. Effektivnoe ispol»zovanie pri proektirovanii cifrovyh sistem. — M.: SOLON-Press, 2006. — 344 s.

9. Bibilo, P.N. Logicheskoe pereproektirovanie skhem, realizovannyh na FPGA, v skhemy na bazovyh matrichnyh kristallah. //Informacionnye tekhnologii. — 2004. — №1.

10. Bibilo, P.N. Proektirovanie konechnyh avtomatov v SAPR WebPack ISE firmy Xilinx.//Informacionnye tekhnologii. — 2004. — № 3. — S. 8–13.

Современный мир сложно представить без цифровой аппаратуры. Программируемая логическая интегральная схема (ПЛИС) — одно из перспективных направлений развития цифровой, а также аналого-цифровой электроники, позволяющая современному разработчику быстро создавать, изменять и улучшать сложные устройства путем программирования на разных языках. Одним из языков высокого уровня является язык программирования Verilog [1–5].

Необходимо иметь программный комплект Quartus фирмы Altera, представляющий собой многоплатформенную среду проектирования, которая содержит в себе наборы утилит, позволяющие разработать и запрограммировать проект для нашей ПЛИС [6–10].

Программировать будем отладочную плату DE10-Lite Board на основе ПЛИС Altera MAX10, которая содержит 50 000 логических элементов, а также расположенный на кристалле АЦП. На самой плате расположены USBBlaster, SD RAM на 64 мб, акселерометр, выход VGA, разъем расширения 2 х 20 GPIO и совместимый с Arduino UNO R3 компактный разъем расширения (рис. 1, 2). Комплект является идеальным для создания изделий различной сложности: от простых схем до мультимедийных процессов.

Для начала понадобится создать проект в Quartus. Для этого запускаем саму программу, выбираем File → New Project Wizard (рис. 3). В появившемся окне Directory, Name, Top-Level Entity выбираем папку, где будет храниться проект и имя нашего проекта. В следующем окне — Project Type выбираем Empty project (пустой проект, без шаблона). 3-е окно, Add Files, служит для подключения дополнительных файлов. В окне Family, Device & Board Settings выставляем параметры нашей ПЛИС и находим ее в Availabel device (рис. 4). В пятом окне — EDA Tool Settings выбираем программу для тестирования нашего кода ModelSim-Altera и языка программирования Verilog HDL. И нажимаем Finish.

Далее в проекте создаем файл для написания кода. File → New. И выбираем язык программирования Verilog HDL File (рис. 5).

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

Для Цитирования:
Гордиенко, Монахов, Ситников, Программирование ПЛИС при помощи САПР Quartus. Главный механик. 2022;2.
Полная версия статьи доступна подписчикам журнала
Язык статьи:
Действия с выбранными: