Skip to main content

Каналы полезной информации и дайджест мира ASIC/FPGA

Аннотация

Для тех кто давно в теме FPG/A/SIC или просто по работе/хобби связан с проектированием на ПЛИС (или СБИС) удобно под рукой иметь агрегатор полезностей и советов, чем тратить время на самостоятельный сёрфинг по LinkedIn/Twitter/WikiChip/SemiWiki/etc..

В качестве инициативы, сделали с  единомышленниками пару каналов для агрегации интересных проектов и полезных советов (из собственной проектной практики и из сети). Детали о каналах ниже.

  

IP-cores

Пополняемая коллекция СФ-блоков на языках Verilog/VHDL для реальзации на ПЛИС/СБИС. Подавляющее большинство блоков — опенсорсные и допускающие свободное использование. Помимо СФ-блоков периферии и интерфейсов есть процессорные ядра (розлива таких пивзаводов как MIPSopen, RISC-V, etc) а также отдельный класс библиотек примитивов (в том числе для упрощения кросдоменных переходов) и алгоритмические ядра (ЦОС, нахождение и коррекция ошибок с CRC/ECC).

Что уже можно найти в канале по периферийным IP-ядрам:

DisplayPort, HDMI, DVI, VGA, HMC (Hybrid Memory Cube), DDR3, PCI-E + DMA, NoC, Interconnect, FX2LP (CY7C68013), FX3, FT2232, AXI4, PonyLink, HyperBUSUSB2 (ULPI), USB3 (PIPE), RNG, TRNG, MIPI DSI, MIPI CSI, HyperRAM, will be continue…

Язык канала — английский, организован удобный поиск по #хештегам (язык, тип СФ-блока/периферии, вендор ПЛИС (если применимо)).

 

Адресtelegram:ipcores

Альтернативный адресipcores [1] | ipcores [2]

 

FPG[A]SIC

 Основная направленность канала — Design Automation, т.е. отказ от GUI в пользу скриптов для автоматизации рутинных действий, 

Помимо этого в канале сейчас можно найти полезную информацию по таким темам как: полезные советы по EDA-инструментарию (Cadence/Synopsys, Vivado, Quartus, Yosys, ICEstorm, Verilator, Icarus Verilog, etc), примеры скриптов для автоматизации EDA, трюки по использованию специфичных tcl-команд, недокументированные/малоизвестные возможности тулов, HLS (High level synthesis) инструментарий с открытыми исходными кодами, NN/ML-фрейворки (нейросети и машинное обучение) для ПЛИС, скрипты автоматической сборки datasheets, подходы к использованию свободного инструментария формальной верификации, надстройки и плагины HDL для текстовых редакторов и IDE, свободные книги по тематике FPGA и HDL, советы по настройке Lint’еров, тонкости версионирования в git проектов FPGA & ASIC, трюки по сведению таймингов (лучшии выжимки из Ultrafast Methodology), реверсинжиниринг ПЛИС и используемых форматов представления данных (в т.ч. парсинг битстримов), свободные трансляторы Python -> HDL, продвинутые методики BROM/DSP folding/multi-pumping, подходы работы с партишинами и частичной реконфигарацией (partitions and partial recunfiguration), clock conversion and constraining, HDL tips and tricks, example to use DNA-protection, etc.

Язык канала — английский, организован удобный поиск по #хештегам (вендор ПЛИС/EDA, функционал, язык).

 

Адресtelegram:fpgasic 

Альтернативный адресfpgasic [1] | fpgasic [2]

читать...

Коллекция советов и подсказок по работе с Xilinx Vivado в командной строке TCL

Советы

Note!: Все команды вводятся в интерпретаторе TCL в интерактивном или пакетном режимах.

Включение мультипроцессорности

можно задавать значение от 1 до 8 ядер.

Справка по командам выбранной категории

Справка по командам

Мониторинг параметров среды

Изменение подробности вывода лога/выключение лога 

 Note!: делаем осторожно — важное не выключаем!

— установка глобального лимита сообщений по умолчанию

— в данном случае полностью выключается вывод информационного сообщения с ID типа «INFO: [Synth 8-5544]«

— в данном случае вывод информационного сообщения с ID типа «INFO: [Synth 8-3331]» ограничивается выводом первых 10-ти сообщений

— для интерпретации проверки на DRC c ID «LUTLP-1» как предупреждения, вместо критического предупреждения (позволяет получить битстрим, если вы действительно уверены, что в дизайне необходимы комбинационные петли)

Выключение некоторых DRC-проверок

В некоторых ситуациях необходимо выключить определенные типы DRC-проверок, сделать это можно следующим образом:

вот мой полный список отключенных проверок:

Добавление временной метки в битстрим 

 — для добавления таймштампа в примитив USR_ACCESS 

Использование внешних переменных среды в TCL

— обращение к переменной $USER в shell

— проверка существования переменной $USER в shell

 Вызов одного скрипта из другого

Выполнение shell-команды из скрипта

— копировать с перезаписью, если файл уже существует

 

 

читать...

[opensource]: Мои скрипты для EDA/CAE/CAD

Приведенное ниже — описание к коллекции моих EDA-скриптов для работы с тулами для ASIC и FPGA

Конвертор из UCF в XDC

Конвертирует для ПЛИС Xilinx привязки ножек и стандартов из формата ucf (Xilinx ISE) в новый формат xdc (Xilinx Vivado). Использование:

В текущей директории появится файл FILENAME.xdc.

Пример входного ucf-файла

Пример сгенеренного утилитой xdc-файла

(далее…)

читать...

Установка Xilinx Vivado на линукс на примере CentOS 7

Xilinx Vivado

Революционный продукт Xilinx (вышел летом 2012г), обеспечивает поддержку следующих промышленных стандартов:

  • Шина AMBA AXI4
  • Метаданые согласно IP-XACT IEEE1685
  • Полноценный скриптинг на TCL
  • Поддержка формата SDC (Synopsys Design Constraints)

Дано

  • HW: 16GB RAM + 256GB SSD
  • CentOS 7
  • Vivado 2015.3

Установка

Ставим по традиции в /soft/Xilinx

Лицензия

Установка лицензии для конкретного юзера:

файл может иметь произвольное название, но расширение lic

Настройка

Там же, как видно, объявляем полезные алиасы:

  • vivado-cli
  • vivado-gui

Проброс Иксов с сервера

  Если Х11 по какой-то причине не работают по SSH (но включены в конфиге SSHD), то прописываем следующее на сервере:и на локальной машине-клиенте:

(далее…)

читать...