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.


Рад сообщить о выходе новой версии программы mbftdi v1.0

Это программа для работы с нашим USB программатором , она была существенно переработана. Краткий список изменений:

  1. Теперь корректно обрабатывается команда FREQUENCY. Команда устанавливает частоту для программатора максимально возможную, но ограниченную заданной в SVF файле.
  2. Улучшено распознавание строк-комментариев в SVF файле. Altera начинает комментарии с символа "!", Xilinx с двух символов "//". 
  3. Существенно переработана обработка команды SDR. Теперь в качестве параметров для TDI, TDO, MASK могут быть очень длинные строки. Это делает возможным исполнение SVF файлов сгенерированных не только для CPLD, но и для FPGA. Обработка опционального параматра MASK ведется более корректно.
  4. Добавленны обработчики для команд HDR, HIR, TDR, TIR. Однако, на сегодняшний момент эти команды ничего не делают.  Эти команды используются при последовательном подключении нескольких микросхем по интерфейсу JTAG.
  5. Улучшена упаковка FTDI команд в более сжатый поток.
  6. Более корректно исполняется команда RUNTEST IDLE - выдерживает паузу заданное число циклов тактовой частоты программатора.

Все вместе эти улучшения сделали возможным не только прошивку платы Марсоход, но и загрузку проектов в различные FPGA.

Скачать программу с исходными текстами для Windows и Linux можно на нашем сайте в разделе загрузки:

 

Некоторое время назад я анонсировал выпуск нашего простого USB программатора для платы Марсоход. Была даже опубликована его фотография (смотрите в предыдущих постах).

Действительно, необходимость в простом программаторе назрела уже давно. Родные программаторы компании Альтера или совместимые с ними Terasic довольно дороги. Обычно мы рекомендуем делать программатор ByteBlaster, но ему нужен параллельный порт, который в современных компьютерах часто отсутствует. Собственно поэтому мы и решили сделать свой программатор.

Главное требование - он должен быть простым и дешевым. Совместимости с драйверами компании Альтера нет. Мы решили, что на первом этапе сделаем свою программу-утилиту для программирования, а уже на втором этапе сделаем драйвера для интеграции нашего программатора в среду Altera Quartus II. Первый этап мы уже почти прошли. Мы можем программировать нашу плату Марсоход через наш программатор с помощью нашей программы.

Итак, вот схема нашего программатора:

Схема программатора mbftdi

Так же, ее можно скачать в виде PDF файла:

Камера от мобильного телефона попала ко мне довольно давно, но только сейчас дошли руки поделать с ней какие-нибудь эксперименты.

Модуль VGA камеры от сотового телефона

В результате прочесывания интернета выяснилось, что это камера от SIEMENS CX65, и на нее есть хороший даташит (

) Поизучав документацию я решил подключить модуль камеры к плате Марсоход. Проект сложный, но что поделать, наши проекты становятся сложнее и сложнее!

Матрешка: ПЛИС внутри ПЛИС

Я хочу рассказать о своем новом проекте для платы Марсоход.

Я попытался сделать проект своей маленькой ПЛИС, написать этот проект на Verilog  и реально запустить его внутри настоящей ПЛИС. Наверное такие проекты лучше делать в больших FPGA, но чем наша плата Марсоход хуже? Она так же годится для таких экспериментов, ну может масштаб не большой, но мне важен сам принцип.

Конечно мы понимаем, что каждому, кто заинтересовался программированием ПЛИСов нужен программатор. Это действительно некоторая проблема. Программатор ByteBlaster для параллельного порта простой и его легко сделать самому, но не у всех есть параллельный порт в компьютере. UsbBlaster от компании Альтера (или Terasic) стоит довольно дорого.

Мы решили разработать и сделать свой USB программатор.

JTAG программатор для ПЛИС Альтера (UsbBlaster)

Собственно вот это и есть наш новый девайс - USB программатор для платы Марсоход и\или других микросхем Альтеры.