САПР Altera Quartus II / Intel Quartus Prime, язык Verilog HDL и кое-что про VHDL, FPGA Cyclone III, Cyclone IV, MAX II, MAX10. Платы разработчика серии Марсоход, Марсоход2, Марсоход3.
Я продолжил работу над своим проектом USB хост контроллера для платы Марсоход3. Описание первой версии проекта вот здесь. Там я подключал USB мышь. Теперь в моем проекте уже есть два USB порта и они все так же управляются через последовательный порт.
Это видео демонстрирует работу хост контроллера и подключенных к плате мыши и клавиатуры. На плату Марсоход3 установлен наш шилд разъемов.
Вероятно, вы обратили внимание, что внешний вид нашего сайта значительно изменился.
Сайт подвергся глубокой модернизации: были обновлены многие компоненты и плагины системы, установлена, более свежая версия PHP. Был значительно модернизирован шаблон. Мы надеемся, что новая версия сайта будет стабильной и некоторые проблемы безопасности будут устранены.
Самое главное - с новым интерфейсом просмотр страниц сайта на мобильных устройствах, смартфонах и планшетах становится более удобным.
Если вы обнаружите какие-то проблемы с сайтом, просьба оставить комментарии к этому посту или написать на почту Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Компания Intel уже довольно давно выпустила очередную версию САПР Quartus Prime, но вот наконец дошли руки попробовать. Я скачал Quartus Prime Lite Edition версии 19.1 для WIndows и для Linux. Инструкция для скачивания есть здесь. Пробовать я буду соответственно в Windows 10 Professional и в Ubuntu Desktop 18. Надо сказать, что 19.1 - даже на сегодняшний день не самая последняя версия. Точнее говоря, для Lite Edition - это последняя, но вот для версии Quartus Prime Pro Edition последняя версия уже сейчас 19.4. Ну, что же, для моих несложных проектов всегда хватало и бесплатной Lite Edition.
В Release Notes описаны изменения в программном обеспечении для новой версии. Из основного:
в проектах VHDL возможно придется модивицировать пути к модулям удаляя ведущий слэш "/" в файле QSF;
при использовании NIOS придется отдельно вручную ставить Eclipse IDE для NIOS;
удалена поддержка WIndows 7,
удалена поддержка некоторых IP ядер для некоторых семейств микросхем, например, удалены IP DDR/DDR2 для Cyclone IV.
Отдельно говорится о том, что теперь Quartus Prime будет использовать подсистему WSL (Windows Subsystem for Linux), и якобы это должно дать прирост в производительности. Честно говоря не очень понятно для каких версий квартуса это будет работать. Я поставил Lite Edition и не ставил никаких WSL. Все работает, как и работало раньше. Возможно это все будет только для версий Standard или Pro.
Кроме этого, упомянуто, что в новой версии Quartus сделаны security updates, ну вероятно закрыты какие-то проблемы с безопасностью ПО. Наверное это важно.
Но меня, честно говоря в первую очередь интересует, как с новой версией квартуса будет работать наш программатор MBFTDI. Если кратко - работает. Если нужны подробности, то читайте дальше.
В предыдущей статье я рассказал, как запустил свой собственный велосипед USB хост контроллер и как он работает в железе в плате Марсоход3. Там я в основном рассказывал, как взаимодействует управляющая программа с контроллером. Но вот как работает мой контроллер? Чтобы разобраться в этом нужно провести Verilog симуляцию.
Внутреннее устройство моего контроллера схематично показано рисунке выше.
Внутри контроллера есть:
входное FIFO, модуль generic_fifo_dc_gray fifo_in, сюда складываются все входящие команды и данные;
выходное FIFO, модуль generic_fifo_dc_gray fifo_out, отсюда внешние устройства будут забирать результат исполнения команды;
временное FIFO, generic_fifo_dc_gray fifo_out_tmp, где временно хранятся принятые из USB шины байты;
модуль USB передатчика ls_usb_send ls_usb_send_;
модуль USB приемника ls_usb_recv ls_usb_recv_;
машина состояний по регистру состояний state.
Рисунок довольно схематичный, но в целом отражает происходящее в хост контроллере. Далее расскажу подробнее.
Подробнее...