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.


verilator amber arm soc

Поскольку я начал изучать этот очень быстрый симулятор Verilog HDL - Verilator, то подумал, мне, чтобы лучше понять и освоить его нужен конкретный проект. Но ведь у меня их много! Почему бы мне не попробовать симулировать скажем Amber SoC - систему на кристалле с процессором ARM v2a? Когда-то я занимался этим проектом и запустил эту SoC в плате Марсоход2 и даже какой-то Linux у меня там стартовал. Я когда-то даже симулировал этот проект в Icarus Verilog, но работала та симуляция чрезвычайно медленно. Это то, что нужно. Я попробую теперь симулировать этот же Amber SoC с помощью Verilator. Посмотрим насколько он окажется быстрее.

verilator logo

Я уже писал про симуляцию Verilog HDL проектов в ModelSim и с помощью Icarus Verilog. Однако, конечно, существуют и другие средства. Один из самых быстрых симуляторов, и к тому же свободный и бесплатный, - это Verilator. У него есть свои особенности:

  1. Verilator позволяет преобразовать Verilog модули в C++ классы, которые потом компилируются в обычную исполняемую программу. Запускаем получившуюся программу - запускаем симуляцию. Это позволяет достичь очень высокой производительности.
  2. Verilator, может обрабатывать только синтезируемый Verilog, то есть именно тот код, из которого потом получается "прошивка" для FPGA. Поведенческие модели, всякие присвоения с задержками вроде A = #5 ~A; работать не будут.
  3. Из пункта 2 следует, что тестбенч для симуляции нужно будет писать не на самом верилоге, как обычно, а на C++. Впрочем, в некотором смысле это даже плюс.

Ниже я приведу несколько очень простых примеров использования симулятора Verilator. Я умышленно буду все упрощать, возможно даже слишком упрощать, чтобы было лучше понятно, что из себя представляет Verilator.

Пошаговое руководство.

1. Создадим новый проект.

quartus prime create new project
Для этого в среде САПР Intel Quartus Prime выбираем пункт меню File -> New Project Wizard.. Появляется новое окно диалога, в котором задаются некоторые параметры нового проекта.

В этой обзорной статье я постараюсь рассказать какие действия выполняются тем или иным пунктом меню САПР Quartus Prime. Я сделаю акцент только на самых часто используемых действиях, так что это будет не полное руководство, а скрорее краткий справочник. Тем не менее, такое, даже поверхностное знакомство поможет лучше ориентироваться в программе начинающим разработчикам. Некоторые пункты меню САПР Quartus являются совсем тривиальными, такими же как и в других программах вроде офисных пакетов, а некоторые очень специфичными. В целом среда Quartus не является очень сложной для освоения.

Установка САПР Quartus Prime Lite на компьютер с операционной системой Windows не является сложной. Все что нужно сделать - это запустить программу инсталлятора (где ее взять написано вот здесь) и все время нажимать кнопку "Next".

Далее рассказывается о процессе установки и приведены скриншоты программы.