FPGA chips

Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика  FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.



В старом компьютерном хламе очень много различных вентиляторов (кулеров), поэтому мы не смогли удержаться от искушения использовать их в своих проектах.

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

Форсунка инжекторного двигателя

Есть два способа решения этой проблемы - обратится в автосервис, где вашему двигателю сделают ультразвуковую чистку форсунок, или попытаться прочистить их самостоятельно.

Эх лето, жара.. Лето почти закончилось и можно подвести некоторые итоги.

Самое главное - мы закончили цикл обучающих статей. Было всего пять уроков Verilog. 
И ВОТ! Теперь все пять уроков Verilog можно взять на нашем сайте одним файлом:

Еще на нашем сайте появились статьи "пошаговые инструкции" для Quartus II (вы их уже наверное читали?):

  1. Создание первого проекта, компиляция и прошивка платы Марсоход.
  2. Создание проекта двухбитного "сумматора" для платы Марсоход.
  3. Симуляция проекта в среде Quartus II.

На мой взгляд этих уроков и Verilog и Quartus должно быть достаточно, что бы пытливый читатель смог понять что к чему и начал сам делать проекты.

Удачи!

Какой бы проект для CPLD или FPGA мы ни делали: сложный или простой, всегда полезно произвести его симуляцию. Симуляция – это программное тестирование проекта, всегда делается до его проверки в железе. Микросхема имеет входы и выходы. Если мы зададим, например, последовательность и длительность входных импульсов, то система проектирования сможет просчитать результирующие сигналы на всех выходах. И не только на выходах! С помощью симуляции можно заглянуть внутрь всех модулей проекта и посмотреть на процессы, происходящие внутри чипа. Так, еще до тестирования в реальном чипе можно понять правильно работает проект или нет – ведь вы же знаете какие сигналы должны быть на выходах вашей микросхемы?

симуляция сигналов D-триггера

Этот урок про средство разработки Altera Quartus II и про симуляцию проекта. Дальше будет очень много картинок!

Verilog HDL

Для программирования FPGA / ПЛИС мы изучаем язык описания аппаратуры Verilog HDL. Мы подготовили простое "Введение в Verilog" в пяти уроках:

  • Часть 1. Базовые типы источников сигнала в языке Verilog HDL - это wire, reg, шины. Группирование логики в модули (module / endmodule). Входные и выходные сигналы модулей (input, output, inout).
  • Часть 2. Простейшие модули AND, NAND, OR, NOR, XOR, XNOR, NOT. Установка экземпляров модулей и соединение их проводами. Иерархия модулей в языке описания аппаратуры Verilog HDL.
  • Часть 3. Арифметические и логические действия в языке Verilog. Операторы сложения и вычитания (+ , -) , логический и арифметический сдвиг ( << , >> , >>> ), битовые операции ( & , | , ^, ~ ), булевые операции ( && , || , ! ), операторы редукции, условного выбора ( ? ) и сравнения.
  • Часть 4. Поведенческие блоки. Конструкции always, if-else, case-endcase, циклы for(...).
  • Часть 5. Синхронная логика и триггера в Verilog HDL. Блокирующее и не блокирующее присваивание.

На четырёх предыдущих уроках мы уже познакомились с типами источников сигналов, узнали как установить экземпляры разных модулей в свой модуль и как соединить их проводами. Так же мы уже рассмотрели разные арифметические и логические выражения в поведенческом коде. Теперь на почледнем пятом уроке нам осталось познакомиться с синхронной логикой и триггерами.

Существует несколько видов триггеров. Наиболее важные для практического применения – это D-триггера. Вот графическое изображение D-триггера:

D-триггер (flipflop)