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.


Сегодня выглянул на улицу - идет снег. Ну конечно - ведь за окном зима и уже скоро Новый Год! Значит нужно к нему готовиться! Сделаем простую гирлянду-мигалку:

Гирлянда на Новый Год на плате Марсоход

Довольно часто возникает вопрос о настройке программатора ByteBlaster. Тема эта действительно важная. UsbBlaster для программирования ПЛИС стоит довольно дорого, а ByteBlaster можно самому сделать за сущие копейки - нужен только параллельный порт на компьютере, разъем DB25 и желание.
Я, то ли к сожалению, то ли к счастью, не являюсь стороником непременно находиться на передовом рубеже новейших технологий. Наверное поэтому я все еще пользуюсь Windows XP и Altera Quartus II v9. Вот у меня никогда не было проблем с настройкой ByteBlaster.
Но ведь наши читатели жалуются!
Мы провели ряд экспериментов. Похоже проблема действительно существует на некоторых копьютерах если используется MS Windows 7 и Altera Quartus II v10.
Вот как мы победили проблему. Возможно эта инструкция поможет и вам.

В нашей статье о настройке программатора было сказано, что нужно запустить (с правами администратора) утилиту установки драйвера ByteBlaster вот так:

>?:\altera\10.0sp1\quartus\bin\bblpt /i

Это абсолютно верно. Это работает почти во всех случаях:
  • Windows XP и Altera Quartus II v9
  • Windows XP и Altera Quartus II v10
  • Windows 7  и Altera Quartus II v9
и не работает в случае с
  • Windows 7  и Altera Quartus II v10
Решение простое. Перед тем как запускать "bblpt /i" замените драйвер ByteBlaster!
Почему-то в комплекте Quartus II v10 есть ДВА разных драйвера: один "работает" а второй нет.
Нужно заменить файл (размер 12288 байт)

?:\altera\10.0sp1\quartus\bin\pgdhdlc.sys

на другой такой же (с другим размером 7680 байт)

?:\altera\10.0sp1\quartus\drivers\i386\pgdhdlc.sys.

Возможно у первого файла будет атрибут "только для чтения". Этот атрибут нужно убрать перед копированием. Потом копируете второй файл вместо первого и запускаете "bblpt /i".
Все! Дальше все работает!

После некоторых раздумий я решил написать статью о симуляции Verilog проектов с помощью пакета программ icarus-verilog. Мне кажется, что это лучший способ «быстро попробовать» возможности симуляции. Конечно, среда симуляции ModelSim компании Mentor Graphics (или ModelSim-Altera Edition) - это мощное средство, но освоить ее несколько труднее.

Сейчас мы быстренько скачаем из интернета icarus-verilog, установим его и попробуем что нибудь просимулировать...

На нашем сайте уже было несколько ознакомительных статей по языку описания аппаратуры Verilog (статьи 1, 2, 3, 4, 5). Их даже можно выкачать одним файлом:

.

Конечно, в тех ознакомительных статьях было невозможно рассказать все. Именно поэтому я продолжаю освещать некоторые возможности и особенности языка Verilog.

Сейчас речь пойдет о специальных ключевых словах языка Verilog, используемых для симуляции проектов. Симуляция очень важный этап разработки. Перед проверкой проекта в чипе FPGA или CPLD очень желательно промоделировать поведение всех его модулей.

Вообще-то и про симуляцию проекта в среде Quartus II, у меня тоже была статья. Однако, то была симуляция средствами среды Quartus II: нужно было «рисовать» входные сигналы для модуля и симулятор рассчитывал выходные сигналы и показывал все это в графическом виде. Теперь же разговор именно о средствах языка Verilog – это так называемые System Tasks. Я расскажу только о некоторых ключевых словах языка, важных для симуляции. Итак...