FPGA & Verilog БлогFPGA chips

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


Нам нужно выкачать с сайта www.altera.com программу QuartusII Web Edition Software v9.1. Ссылка на страницу скачивания должна быть такой: https://www.altera.com/support/software/download/altera_design/quartus_we/dnl-quartus_we.jsp (Хотя, конечно, с течением времени эта ссылка может устареть).
Перейдя по этой ссылке Вы увидите примерно такую страницу:

Я обвел кнопку, которую нужно нажать красным овалом – так что не промахнетесь Smile
Мы выкачиваем 32-битную версию программы для Windows Vista или Windows 7 или Windows XP. Размер выкачиваемого файла примерно 1,4 гигабайта.
Дальше Вам будет предложено создать учетную запись на сайте Altera. Делать это совсем не обязательно. Можно просто получить однократный доступ к выкачиваемому файлу. Поэтому сделайте так, как показано ниже. На нужной нам кнопке написано «Get One-Time Access», что и означает «получить однократный доступ».

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

Дальше появится диалог о запуске менеджера загрузки от издателя Akamai Technologies Inc. Нужно согласиться с его запуском нажав кнопку «Run».

Если все идет успешно, то увидим следующий диалог, который спрашивает куда положить выкачиваемый файл 91_quartus_free.exe. Выбирите папку, какая Вам нравится, но помните, что на диске должно быть место.

После этого, уж точно, должна начаться загрузка! Вы должны увидеть примерно такую картину:

Здесь Вы можете видеть и текущую скорость загрузки файла «Transfer Rate» и сколько примерно осталось времени до конца загрузки «Time Left». Теперь осталось просто подождать! Smile

Когда загрузка будет завершена, Вы сможете перейти к установке программы QuartusII.




 

     На плате «Марсоход» используется микросхема компании Альтера EPM240T100C5. Изначально эта микросхема «пустая» и не может выполнять никакой функции. Чтобы микросхема начала делать то, что нам нужно, мы должны создать проект для нее в программе Altera QuartusII, нарисовать желаемую логическую схему, откомпилировать ее и получившийся файл «зашить» в микросхему. Только после этого микросхема типа CPLD становится функциональной – начинает работать.

     Для прошивки подобных микросхем компания Альтера предлагает специальный кабель - это либо ByteBlaster либо UsbBlaster. Мы предлагаем трейтий вариант - наш собственный программатор MBFTDI.

Есть конечно и другие варианты. Однако – все по порядку.

     Существуют кабели нескольких видов. Самые распространенные – это ByteBlaster и UsbBlaster. Оригинальные кабели компании Альтера выглядят следующим образом:

pl-byteblaster2n_s PL-USB-BLASTER-RCN_s

Слева на картинке – ByteBlaster. Он подключается к параллельному порту компьютера. Справа на картинке – UsbBlaster. Он подключается, естественно, к USB порту компьютера. Описание этих кабелей можно легко найти на сайте Альтеры. Вот соответствующие ссылки в интернете: http://www.altera.com/literature/ug/ug_bbii.pdf и http://www.altera.com/literature/ug/ug_usb_blstr.pdf. В интернет магазине Альтеры даже можно купить один из кабелей, если у Вас есть кредитная карта. Однако цена на такой кабель там весьма высока. Гораздо выгоднее приобрести такой кабель в российских представительствах компании Альтера. Например в компании ЭФО http://efo.ru/, которая имеет филиалы во многих городах России. Есть и другие поставщики компонентов. Мы, например, уже долго успешно сотрудничаем с компанией «Гамма» из Выборга http://www.icgamma.ru/

    Использовать фирменный кабель конечно хорошо, но возможно, нетерпеливый читатель, приобретя плату «Марсоход», не сможет ждать, пока ему почтой доставят кабель. И выход есть!

    Можно сделать кабель (почти бесплатно) самому, потратив совсем немного времени. Это мы и предлагаем Вам сделать. Если Вы поищите в интернете слово ByteBlaster, то легко найдете много статей про него. Вот что я нашел в yandex:

http://www.msevm.com/main/prog/bblaster.htm

http://ra4hmf.narod.ru/SCHEMES/BYTEBLASTER/byteblaster.html

http://amursat.ru/dir.php?id=142

http://www.cqham.ru/bb_smd.html и многие другие...

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

sch_bblaster1

Следущая схема:

sch_bblaster2

И вот еще:

sch_bblaster3

   Несмотря на такое обилие опубликованых схем, мы рискнем предложить свою – еще проще, чем описаные выше. Микросхема 74HC244 это просто буфер, которым можно «пожертвовать». Мы его убираем из схемы и получается вот что:

sch_bblaster.PNG

    В этой нашей схеме ByteBlaster совсем нет деталей – только два разъема и провода. Мы опробовали его – ОН РАБОТАЕТ! Вы сможете легко его повторить и использовать для программирования платы Марсоход. Вот он - наш кабель:

bb_cable

Разъемчик кабеля JTAG, который будет вставляться на плату вот такой:

bb_conn

    Правда остается еще один тонкий момент. Прежде чем делать ByteBlaster пожалуйста убедитесь, что в Вашем компьютере все еще есть параллельный порт, к которому должен подключаться наш кабель. Современная тенденция такова, что многие современные компьютеры могут не иметь параллельного порта. Что тут можно посоветовать? Ну, например, можно в любом компьютерном магазине попробовать купить PCI плату параллельного порта. Она может называться «Контроллер PCI, Multi I/O, 1xLPT25F»

Стоит такая плата не очень дорого, около 400 рублей.

В любом случае, похоже, что сделать кабель самому и купить контролер LPT может быть дешевле, чем купить готовый UsbBlaster.

Есть еще один вариант. На материнской плате может не быть внешнего разъема LPT, но разъемчик к нему может быть на самой материнской плате. Например материнская плата ASRock G31M-GS имеет такой разъем. Тогда кабель можно подключить прамо к материнской плате вот так:

  mb_install

Если у Вас другая материнская плата, то нужно проверить, как расположены контакты в разъеме LPT на плате. Почитайте в инструкции к материнской плате. Для ASRock G31M-GS расположение контактов в колодке вот такое:

mb_sock

Надеюсь эта статья поможет Вам в изготовлении своего кабеля ByteBlaster для программирования платы Марсоход.

 

 Итак, мы решили «разработать свой чип» на базе микросхем фирмы Альтера. Для программирования микросхем фирмы Altera, вполне естественно, нам нужно и программное обеспечение фирмы Altera. Сразу возникают для вопроса: «Где взять и как дорого стоит эта программа?». Вопросы эти понятные, но не сложные. Мы скачаем бесплатную программу для разработчиков прямо с сайта компании Альтера. Нужная нам программа называется QuartusII v9.0 Web Edition.

Тут нужно сделать небольшое отступление:

  • Инструкция по скачиванию и установке программы, приведенная в этом описании, может со временем устареть. Это вполне естественно, так как компания Altera вправе менять свой сайт когда и как захочет. И меня они естественно не спрашивают. Smile
  • Я использую в качестве операционной системы Microsoft Windows 7, а мой интернет браузер – Mozilla Firefox. Если у Вас Windows XP и Explorer, то, конечно, ничего страшного, но диалоги могут выглядеть по другому. Вы даже можете использовать Red Hat Linux или CentOS или SUSE Linux. Тогда Вам нужно выкачивать другой инсталяционный файл. Честно скажу – я никогда не пробовал устанавливать под Linux.
  • Размер программы для скачивания довольно большой ~1,4 гигабайта. При скорости интернета 1Мбит/секунду время скачивания будет около 4-х часов. Пожалуйста учтите это обстоятельство. Если у Вас безлимитный интернет, то 4 часа это не очень много – можно даже оставить на ночь. Но если у Вас оплата за выкачанные мегабайты, то возможно, выгоднее поискать иные способы выкачать QuartusII. Осторожно! Если у Вас оплата например 1рубль за мегабайт, то стоимость выкачивания может быть более 1500 рублей!
  • Я хочу сделать очень подробную инструкцию по скачиванию и установке пограммы QuartusII. Может кому-то это описание покажется занудным, но причин для такой подробной инструкции две. Во-первых, мне хотелось бы заинтересовать программированием микросхем даже школьников. Во-вторых, и сайт www.altera.com и сама программа QuartusII англоязычны. Пояснения на русском языке, я думаю, будут не лишними. Мне говорят, что это слишком сложно для школьников. Не верю!!! Smile Мы на нашем сайте пытаемся сделать все как можно проще. Будет желание – и даже у школьника все получится! Не боги горшки обжигают!


Итак, приступим.
Наши следующие шаги:
1. Скачивание программы QuartusII с сайта Альтеры.
2. Установка QuartusII.
3. Первый запуск.

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

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

    Странно...

    Для чего может понадобиться «пустой проект»?
    Ну, во-первых, не «пустой», а «почти пустой». Это значит, что в нем уже кое что есть. А во-вторых, с чего-то же нужно начинать?
    Среда разработки компании Altera QuartusII позволяет создавать проекты совершенно разной сложности и основываясь на разных микросхемах и FPGA и CPLD. Про FPGA (Field Programmable Gate Array) можно прочитать здесь https://ru.wikipedia.org/wiki/FPGA.  А про CPLD (Complex Programmable Logic Device) можно прочитать здесь https://ru.wikipedia.org/wiki/ПЛИС. Микросхемы обоих типов производят несколько компаний, но мы сделали свой выбор в пользу Altera.
    Проблема начинающих разработчиков состоит в том, что для того, чтобы начать что-то делать нужно провести очень много подготовительной работы. Нужно развести и изготовить плату, поставить, припаять на нее микросхему, создать проект для среды программирования QuartusII. Все это требует и знаний и умений и времени. Мы же предлагаем простой путь для начинающих разработчиков, студентов и даже школьников. Мы предлагаем очень простую готовую плату «Марсоход». И мы предлагаем уже готовую «заготовку» для Вашего проекта.

    Сделаем простую видеоигру!

    Когда-то, в далекие времена Smile, появились в магазинах первые электронные телевизионные видеоприставки. Эти приставки позволяли своим счастливым владельцам играть в довольно незамысловатые игры: «питон», «теннис», «тетрис». Я помню мы, мальчишками, выстраивались в очередь, что бы поиграть. Приставка была только у одного моего друга. Конечно сейчас видеоиграми никого не удивить. Современные игры для компьютеров и приставок красочны, динамичны и увлекательны. Стоимость разработки таких настоящих игр в дизайн студиях исчисляется миллионами долларов и ведется много месяцев. Мы же сейчас поставим перед собой совсем простую цель. Мы будем делать примитивную игру «теннис».

    Вот что я хочу, чтобы было на экране монитора или телевизора:

План видео игры Теннис