МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

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


Modelsim под Windows и Verilog VPI

Когда-то давно я написал статью "Интерфейс Verilog VPI".
В ней рассказывалось, как во время симуляции проекта Verilog вызывать функции пользовательской библиотеки, написанной на языке C. В статье использовался симулятор Icarus Verilog под Ubuntu Linux.

Связка языка Verilog и языка C хоть и получается немного мудреная, но дает дополнительные возможности для симуляции. Получается можно определить свою системную функцию Verilog и делать в ней что хочешь: хоть читать файлы с произвольным доступом, хоть получать изображения из камеры и передавать их верилогу, хоть обращаться к какой-то плате для получения реальных данных, передаваемых симулятору.

Недавно мне самому потребовалось сделать доступ к двоичному файлу очень большого размера из тестбенча Verilog и я, чтобы сделать это, перечитывал свою же статью и брал ее за основу своей новой программы-библиотеки.

В этой статье я покажу:

  • как скомпилировать библиотеку C/С++ с использованием Verilog Procedural Interface (VPI) под Windows;
  • как использовать библиотеку с Icarus Verilog под Windows;
  • как использовать библиотеку с ModelSim под Windows.

Как вернуть скрипту результат симуляции Verilog?

result

Появилась простая задача - нужно из скрипта (batch/Windows или bash/Linux) проанализировать результат симуляции Verilog. Причем желательно, чтобы решение работало с разными симуляторами: icarus и modelsim (или другими). Как это сделать?

Проект FTDI-POF

ftdi pof

FTDI-POF - это наш экспериментальный проект для исследования возможностей пластикового оптического волокна (Plastic Optical Fiber). Плата сделана на основе нашего программатора MBFTDI, а значит использует ту же самую микросхему FT2232H. Теперь эта новая плата, конечно, никакого отношения к JTAG программированию не имеет. Плата FTDI-POF - это USB-to-COM, то есть устройство, которое представляет два последовательных порта на шине USB2. При этом первый последовательный порт оснащен оптическим приемником и передатчиком для POF. Далее подробное описание проекта.

Астротрекер

tracker3

На прошлой неделе вдруг вспомнил, что август - это время звездопада. Прочитал, что ночью с 11-го на 12-е августа будет максимум "Персеид". Планета Земля в своем движении вокруг Солнца пересекает шлейф пылевых частиц хвоста кометы Свифта-Таттла. Пылевые частицы попадая в атмосферу Земли сгорают, как будто падают звезды. Мне пришло в голову попытаться сфотографировать это чудо. Опыта фотографирования звезд у меня не много. Да и времени для подготовки к ночным наблюдениям особо не было, оставалось всего-то два или три дня.

Я подумал, что было бы не плохо по быстрому соорудить свой собственный астротрекер.

Идея астротрекера проста - нужно устройство, которое поворачивает фотоаппарат со скоростью вращения неба. Тогда на фотоаппарате можно ставить большие выдержки - несколько минут и тогда звезды все равно останутся на кадре светящимися точками, а не дугами.

Передача данных из Raspbbery Pi3 в FPGA платы Марсоход2RPI

Marsohod2RPI FPGA board, 40MBytes/sec

В первом проекте для платы M2RPI мы передавали данные в FPGA и обратно используя выводы Raspberry GPIO14 и GPIO15 как линии последовательного порта TxD и RxD.

Как быть, если нужно передавать больший объем и на больших скоростях?
Я попробовал сделать такой проект.


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