Создание проекта для iCE5 (iCE40 Ultra) в среде iCEcube2

Есть такая фирма Lattice, которая производит микросхемы FPGA (некоторые из них тут продаются, некоторые — фиг). Самое интересное их отличительное качество — размер. Например, серия iCE5 (iCE40 Ultra), имеет вариант корпуса QFN48 7х7мм:
STM32F303 + ice5 Development Board
Вторая микросхема — это stm32f303. Сама плата: STM32F303 + ice5 Development Board. iCE5LP4K не удалось найти, потому поставили iCE5LP2K, да и слот под sd-карты решили не паять.


Читать дальше

Настройка PLL FPGA серии iCE5 (iCE40 Ultra) в среде iCEcube2

Как и в любом уважающем себя FPGA, рассчитанном на достаточно высокое быстродействие, в iCE5LP2K есть один модуль PLL, и, скорее всего, он понадобится. Продолжим же с него. На самом деле, микросхема эта не настолько уж и шустрая, не дотягивает даже до уровня первого циклона (Altera Cyclone I).

Я провёл мини-тест, запускал моргалку светодиода на разных частотах.
  • 96 МГц: предупреждений нет, моргает нормально;
  • 120 МГц: есть предупреждения о превышениях временных порогов на каких-то путях, но ещё работает, сбоев в моргании нет;
  • 130 МГц: есть предупреждения, моргает со сбоями и зависаниями, всё плохо.
  • 150 МГц: есть предупреждения, не работает ничего, светодиод просто не включается.
Синтезатор не требует файла с временными ограничениями на сигналы и позволяет собрать даже нерабочий вариант. Файл ограничений, кстати, добавить можно.
То есть даже собранный правильный код не означает, что он будет работать. Думаю, более простая схема, без такого километрового счётчика, работала бы и на более высокой частоте, чем эта моргалка.

Читать дальше

SpriteMods.com топик-ссылка

Тут коллега Sprite выкладывает свои наработки. Некоторые весьма интересны и даже полезны. Ну и видео в конце каждой статейки.