МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

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


Видеоадаптер для проекта USBTerm

memfb

Вот поделюсь первыми результаты по проекту USBTerm.
Проект в плате Марсоход3bis стартует, программируется SDRAM, во фреймбуффер экрана записываются несколько вертикальных полос, включается видео развертка, отображается изображение из памяти.

Проект USB тонкого клиента на базе платы Марсоход3.

usbterm thin client

Я задумал сделать из платы Марсоход3 устройство тонкого клиента. Много у нас было разных проектов для платы Марсоход, Марсоход2 и даже Марсоход3, но до сих пор, мне кажется, не было таких, что бы прям была явная практическая польза для дома/для офиса. Хотелось бы сделать штуку, чтоб можно было бы реально использовать в повседневной жизни. 

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

Quartus Prime Design Software v15.1

New Altera Quartus Prime Design Software

Альтера выпустила новую версия своего программного обеспечения проектирования для ПЛИС. Наконец нашлось время скачать, установить и попробовать его. Честно говоря у меня сложилось впечатление, что новое ПО - это просто переименнованное старое.

Раньше был Quartus II, теперь Quartus Prime. Что нового? Новая политика лицензирования: раньше было две версии: платная Subsription Edition и бесплатная Web Edition. Теперь версий три: есть две платные Standart Edition и Pro Edition, бесплатная Lite Edition. Сравнение версий программ есть на сайте Альтеры: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/po/ss-quartus-comparison.pdf

Для проектирования для плат Марсоход, Марсоход2 и Марсоход3 всегда хватало Web Edition. Вот теперь похоже будет хватать Lite Edition.

Все похоже осталось как и раньше. Есть ньюанс, который и раньше был. Последние версии Quartus, начиная с 14-й версии не поддерживают FPGA Cyclone III, который стоит на плате Марсоход2. Таким образом, для Cyclone III платы Марсоход2 нужна версия Quartus II v13.1 Web Edition. Для остальных наших плат Марсоход (чип MAX II), Марсоход2bis (с Cyclone IV), Марсоход3 (MAX10) - подходит новая версия Quartus Prime.

Вообще какая версия ПО Альтеры какой чип поддерживает можно и нужно проверять на сайте загрузки https://www.altera.com/downloads/download-center.html в разделе Software Selector / Select by Device (выбор ПО по типу микросхемы.).

Ну вот установил я новый Quartus Prime v15.1, поставил наш драйвер программатора MBFTDI для квартуса, взял проект моргающих светодиодов для платы Марсоход3bis, откомпилировал, загрузил - работает...

 

 

Verilog State Machine Framework

FSM, Finite State Machine

Рискну предложить почтенной публике мое новейшее "изобретение": VSMF, Verilog State Machine Framework.
Я делаю его для одного из наших внутренних проектов. Пока это не полностью завершенная работа, но скорее демонстрация идеи.

VSMF - это такая даже не библиотека, а набор макросов для упрощенного описания машин состояния на языке Verilog HDL.

Не знаю кому как, но мне бывает трудно описать машину состояния (FSM, Finite State Machine), если состояний много и много разных условий переходов. Хоть я и поклонник Verilog, но здесь на мой взгляд он не очень удобен.

Думаю Вы и сами без труда можете нагуглить статьи типа How to write FSM in Verilog? или Verilog HDL Templates for State Machines

Информации по машинам состояния в интернете много. Примеров много. Но писать FSM все равно не легко.
Если логика у машины состояния сложная, то зачастую у разработчика возникает мысль: "а не вставить ли в ПЛИС какой нибудь софт процессор, чтоб потом на нормальном языке всю логику описать".

Другие идут еще дальше - делают транслятор с традиционных языков типа C/C++ в Verilog или VHDL.
Не плохая мысль, кстати.

Я довольно долго работал над этим вопросом и вот придумал VSMF.

Марсоход2bis: как программировать?

CycloneIV

Почему-то на нашем сайте не было подробной информации, как все же программировать Cyclone IV платы Марсоход2bis. Вся информация всегда касалась только платы Марсоход2, на которой стоит Cyclone III.

Попробую внести ясность..


GitHub YouTube Twitter
Вы здесь: Начало