САПР Altera Quartus II / Intel Quartus Prime, язык Verilog HDL и кое-что про VHDL, FPGA Cyclone III, Cyclone IV, MAX II, MAX10. Платы разработчика серии Марсоход, Марсоход2, Марсоход3.
С течением времени некоторые обучающие материалы и инструкции на нашем сайте устаревают. Решили обновить некоторые важные разделы сайта, в частности статьи по использованию САПР Intel Quartus Prime.
Итак, для программирования Intel FPGA нужна САПР Quartus Prime. Ее можно скачать с сайта Интел. Однако, сайт компании Интел очень большой и разноплановый, тут легко заблудиться и довольно трудно найти нужную информацию. Когда-то Intel приобрела FPGA бизнес компании Altera (кажется в 2016 году?), и страницы родного web-сайта Альтеры altera.com стали переноситься в домен intel.com. Тем не менее, пока еще самый простой способ читать про "альтеровские" FPGA - это ссылка https://altera.com. По этой ссылке происходит перенаправление в нужное нам подразделение сайта Intel: https://www.intel.com/content/www/us/en/products/programmable.html
Прежде чем скачивать нужное нам ПО придется зарегистрироваться и залогиниться на сайте Интел. Здесь тоже не все логично. Это типичная проблема больших интернет порталов. В правом верхнем углу есть иконка пользователя и приглашение для входа "Sign In", но к сожалению там нигде нет кнопки "Зарегистрироваться". Возможно со временем эта инструкция устареет и все будет по другому, но пока на осень 19-го года вот так. Дальше расскажу подробнее, что и как нужно делать.
Хочу обратить внимание наших читателей, что произошли некоторые изменения в нашем интернет магазине.
Самая первая плата Марсоход с CPLD MAX2 теперь может комплектоваться не только микросхемой EPM240T100C5 с 240 логическими элементами, но и с чипом EPM570T100C5, где 570 логических элементов. Это существенное улучшение по ресурсам. Все имеющиеся проекты для этой платы можно без труда портировать на новую микросхему, так как схема платы осталась такой-же. Это не очень свежая новость, платы с 570м чипом мы уже продаем пару месяцев, но все равно, нужно об этом написать, вдруг, кто-то не знал или не заметил. При заказе платы в магазине тип микросхемы можно указать в выпадающем списке.
Точно так же, теперь плата Марсоход2bis может комплектоваться не только Cyclone IV E EP4CE6E22C8 c 6-ю тысячами логических элементов, но и Cyclone IV E EP4CE10E22C8 с 10-ю тысячами логических элементов. Таким образом плата Марсоход2bis по ресурсам FPGA становится в один ряд с платой Марсоход2 (Cyclone III). Учитывая то, что микросхемы Cyclone III постепенно исчезают из поставок и, кроме того, последние версии САПР Quartus Prime уже давно не поддерживают Cyclone III, вероятно совсем скоро плата Марсоход2bis с Cyclone IV станет нашей основной заменой для платы Марсоход2. Практически все проекты платы Марсоход2 можно будет портировать на Марсоход2bis с Cyclone IV с 10ю тысячами логических элементов. Как портировать проекты я недавно писал. Страница описания платы Марсоход2bis так же обновлена.
Мы знаем, что у Cyclone IV все же на 2 пользовательских вывода меньше, чем у Cyclone III, поэтому на Марсоход2bis нет одного светодиода и одной кнопочки по сравнению с платой Марсоход2. Чтобы компенсировать это неудобство мы выпустили шилд семисегментного индикатора. Эта плата расширения подойдет и к Марсоход2 / Марсоход2bis и к Марсоход3 / Марсоход3bis. Этот шилд теперь можно купить в нашем магазине.
Шилд 7-ми сегментного индикатора, установленный на плату Марсоход2bis выглядит вот так:
Я уже как-то писал про свой хобби проект Marble Machine - это такая штука, напечатанная на 3D принтере. Машина перемещает металлические шары, поднимает их вверх на подъемниках и потом они скатываются по желобам вниз. Недавно сделал вторую версию этой электро-маханической машины. Теперь здесь два подъемника, а значит используются два шаговых двигателя. Кроме того, теперь здесь есть электро-магнитный кран. Катушка взята из первого попавшегося под руки автомобильного рэле. Катушка подключается через драйвер двигателя, такой же, какой используется для шаговых двигателей.
На видео выше демонстрация этой машины. Завораживающее зрелище получается. Ниже расскажу, как я делал проект FPGA для платы управления Марсоход3bis.
Сделали новую плату расширения для наших плат. Шилд дает новые возможности отображения информации для плат Марсоход2 / Марсоход2bis и плат Марсоход3 / Марсоход3bis. Он позволяет отображать 4 символа на семисегментном индикаторе с динамическим управлением. Так же добавляются четыре пользовательских кнопочки.
Дальше есть небольшое описание FPGA проекта, который демонстрирует работу этой платы расширения.
Представим себе, что мы увидели какой-то интересный FPGA проект и захотели запустить его на своей плате, но, проблема - плата у нас другая и микросхема FPGA у нас другая. Как перенести тот проект на нашу плату? Возможен ли такой перенос/портирование и трудно ли его выполнить?
В общем случае портирование FPGA проектов - это не очень простая задача. Зависит от многих факторов. Иногда это возможно, иногда нет. Самое главное: ресурсы платы (установленные компоненты, разъемы, интерфейсы) и ресурсы FPGA чипа (количество доступных логических элементов, объем встроенной памяти, PLL, умножители). К примеру, если исходный проект использует SDR память платы, а на нашей плате этой памяти нет или меньше, чем нужно, то что тут можно сделать? В таком случае полный перенос проекта не возможен. Или, к примеру, для проекта требуется минимум 12 тысяч логических элементов FPGA, а на нашей плате их всего 10, тоже не очень хорошо. В общем, по ресурсам имеющейся платы и FPGA нужно смотреть можно ли реализовать в ней проект или нет. Если же платы хотя бы примерно похожи и емкости чипа хватает, то можно пробовать делать перенос проекта.
У нас на сайте уже накопилось довольно много разных проектов для разных плат серии Марсоход. В этой статье я хочу рассказать, как производить портирование проекта с платы Марсоход2 c FPGA Cyclone III на плату Марсоход2bis, Cyclone IV. Я буду портировать проект "Простой текстовый терминал".
В этом проекте реализован текстовый видеоадаптер 56 строк по 180 символов, формируется видеосигнал 1440x900, 60Гц и картинка отображается на VGA дисплее. Плата принимает символы из последовательного порта и печатает их в экран. При этом, если приходит символ 0x0D, это "Enter"/"перевод каретки", то производится скроллирование экрана. Кроме того, терминал понимает символ табуляции 0x09.
Марсоход2 и Марсоход2bis визуально почти ничем не отличаются, но и на самом деле они производятся на одной и той же печатной плате. Главное отличие этих плат обусловлено установленными чипами.
Плата Марсоход2, FPGA Cyclone III, чип EP3C10E144C8, 10 тысяч логических элементов, 414Кбит встроенной памяти, 2 PLL, 23 (18x18) или 46 (9x9) встроенных умножителей.
Плата Марсоход2bis, FPGA Cyclone IV E, чип EP4CE6E22C8, 6 тысяч логических элементов, 270Кбит встроенной памяти, 2 PLL, 15 (18x18) или 30 (9x9) умножителей.
Плата Марсоход2bis немного дешевле, она в базовой комплектации имеет менее емкий чип. К тому же у Cyclone IV меньше I/O выводов, из-за этого на этой плате три светодиода и одна кнопка, у платы Марсоход2 есть 4 светодиода и две кнопки. Но зато Cyclone IV поддерживается современным программным обеспечением Intel Quartus Prime Lite 18.1 Edition, а для Cyclone III последняя версия квартуса - это Quartus II v13.1.
Посмотрим, смогу ли я перенести проект "Простой текстовый терминал" на плату Марсоход2bis?
Подробнее...