позитивслэк
854 subscribers
130 photos
41 files
191 links
ASIC, FPGA, SystemVerilog, UVM. Цифровой дизайн, программирование, духота и мемы. С уклоном в верификаторство.

https://t.me/boost/positiveslack
Download Telegram
Логическое проектирование и верификация систем на SystemVerilog
Дональд Томас

Оригинальное название:
Logic Design and Verification Using SystemVerilog
Donald Thomas

Учебник по SystemVerilog уровнем выше чем для начинающих (https://habr.com/ru/post/465969).

К сожалению, электронную версию не найти. Но бумажная стоит того, даже не смотря на то, что сама книга склеена отвратительно и начинает разваливаться через некоторое время.

#system_veriog #rtl #verification #digital_design #book
Efficient_Processing_of_Deep_Neural_Networks.pdf
20.4 MB
Efficient Processing of Deep Neural Networks
Vivienne Sze, Yu-Hsin Chen, Tien-Ju Yang, Joel S. Emer
https://www.morganclaypool.com/doi/abs/10.2200/S01004ED1V01Y202004CAC050

С пылу с жару годнота по железным ускорителям нейронок.

Eyeriss Project (http://eyeriss.mit.edu) - дело рук этих же ребят.

#book #deep_learning #neural_network #hardware_accelerator
A Comprehensive Introduction to Different Types of Convolutions in Deep Learning

https://towardsdatascience.com/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e58215

1. Convolution v.s. Cross-correlation
2. Convolution in Deep Learning (single channel version, multi-channel version)
3. 3D Convolution
4. 1 x 1 Convolution
5. Convolution Arithmetic
6. Transposed Convolution (Deconvolution, checkerboard artifacts)
7. Dilated Convolution (Atrous Convolution)
8. Separable Convolution (Spatially Separable Convolution, Depthwise Convolution)
9. Flattened Convolution
10. Grouped Convolution
11. Shuffled Grouped Convolution
12. Pointwise Grouped Convolution

#deep_learning #convolution
https://ohshitgit.com/ru

Однако, довольно меткий топ косяков и их фиксов.

#git
ZYNQ Training
Mohammadsadegh Sadri

Пока не смотрел, но говорят, что этот мужик неплохие видео по ZYNQ делает. Должно быть полезно при освоении платформы с нуля.

https://www.youtube.com/user/mamsadegh2

#fpga #xilinx #zynq #course
DSP Starter Pack

Мини-подборка материалов более-менее оптимальных по сложности, наглядности и практической направленности.

Без паники! Цифровая обработка сигналов
Юкио Сато

Несложно и наглядно. Перевод с японского.

Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников
Смит С.

The Scientist and Engineer's Guide to Digital Signal Processing
Steven W. Smith

http://www.dspguide.com/

Обширный разбор тем на понятном английском и с примерами на BASIC. Плюс перевод на русский.

Цифровая обработка сигналов на Python
Аллен Б. Дауни

Think DSP
Allen B. Downey

https://greenteapress.com/wp/think-dsp/

Практическая направленность с подходом сверху-вниз - от программирования к математике

Курс лекций «Основы цифровой обработки сигналов»
Александр Капитанов

https://github.com/capitanov/dsp-theory

Наглядно и интерактивно за счёт Jupyter Notebook

Посты автора по dsp и fpga на хабре:
https://habr.com/ru/users/capitanov/posts/

#dsp #book #course
PLL в Lattice ICE40HX4K

Долго не мог понять почему не могу поставить вторую PLL.

А оказалось всё просто. У каждой PLL есть отдельный пин для ввода клока, и если даже он не используется для этого, но PLL в дизайне есть, то назначить этот пин как обычный вход нельзя. Естественно, этот самый пин использовался в проекте как вход.

И самое интересное, что нигде не сказано про то, какие клоковые пины имеют особое значение для PLL. И максимум что можно найти в документации это то, что PLL имеют оптимальное подключение к буферам в банках 0 и 2.

Подробнее можно прочитать здесь:
https://github.com/YosysHQ/icestorm/issues/273

#lattice #fpga #pll
BRAM и сброс в Lattice ICE40

И ещё одни неочевидные грабли с Lattice.

Блоки BRAM некоторое время недоступны после сброса (читаются нули). И нужно делать задержку сброса тактов в 40, чтобы пофиксить.

https://github.com/YosysHQ/icestorm/issues/76

http://svn.clifford.at/handicraft/2017/ice40bramdelay

#lattice #fpga #bram
Шины данных в примиве SB_RAM40_4K ICE40

И еще кое-что про память.

Yosys не всегда корректно инферрит BRAM, поэтому иногда приходится создавать инстанс SB_RAM40_4K руками. И тут есть неочевидная особенность, связанная с битами данных в разных режимах: последняя таблица вот здесь http://www.clifford.at/icestorm/ram_tile.html.

Ну и как водится, официальный документ LATTICE ICE Technology Library молчит на этот счёт.

На текущий момент по теме граблей ICE40 пока всё. Продолжаю наблюдение.

#lattice #fpga #bram #yosys
Awesome Lattice FPGA boards

В последнее время стал замечать, что многие вдруг стали каталогизировать свои знания в формат Awesome Lists. И как ни странно, это бывает полезным и находятся порой очень крутые списки. Вот например самый полный список Lattice отладок, что я видел.

https://github.com/kelu124/awesome-latticeFPGAs

#fpga #lattice #devboard #awesome
Colorlight Lattice ECP5 boards

Так-то пару десятков баксов (а то и меньше) за 24к ячеек довольно неплохая сделка. В оригинале эти платы позиционируются как контроллеры светодиодных панелей, однако, никто не сможет запретить использовать такую плату как отладку для всякого =)

Кстати, полностью поддерживаются опенсорсным тулчейном (yosys & prjtrellis & nextpnr).

Репозиторий с информацией:
https://github.com/wuxx/Colorlight-FPGA-Projects

Colorlight i5 (из двух плат):
https://aliexpress.ru/item/1005001686186007.html

Colorlight 5A-75B:
https://aliexpress.ru/item/1005001686175194.html

#fpga #lattice #devboard
EBAZ4205 - отладка с Zynq почти даром

В продолжение темы бюджетных отладок.

Баян конечно, но поюзанные контроллеры от майнеров на XC7Z010CLG400 (Dual Core Cortex A9 @ 666.66MHz, Artix-7 FPGA 28k LEs) можно купить на Али/Авито за 500-1000р. Что одному хайтэк мусор, другому - крутая отладка.

Репозиторий с информацией:
https://github.com/xjtuecho/EBAZ4205

Али:
https://aliexpress.ru/item/1005001679188068.html

#fpga #xilinx #zynq #devboard
"Один отладчик, чтобы править всеми..."

Кто-то психанул и запихнул в одну коробку отладчики сразу для трёх вендоров: Lattice, Xilinx, Intel. Интересно поглядеть что там внутри.

Али:
https://aliexpress.ru/item/4000581789412.html

#fpga #xilinx #lattice #altera #intel
ECPIX-5, the modern ECP5 development board

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

Относительно доступная (€99 и €149 за 45к и 85к лутов, соответственно), куча IO, быстрые интерфейсы, полная поддержка в опенсорс тулах.

http://docs.lambdaconcept.com/ecpix-5/
https://shop.lambdaconcept.com/home/46-1-ecpix-5.html

Features:

ECPIX-5 comes in two FPGA variants: LFE5UM5G-45F (45K LUTs) or the larger LFE5UM5G-85F (85K LUTs).

* Lattice ECP5-5G FPGA with 5Gbit/s SERDES.
* 4Gb (256MB) of DDR3L RAM
* 256Mb (32MB) Quad-SPI Flash
* Built-in JTAG and serial USB interface
* USB-C port for USB 2 and USB 3 operation
* HDMI 1.4b transmitter
* Gigabit Ethernet
* Full size SATA port
* microSD (UHS-II capable)
* Four RGB LEDs
* Eight industry standard PMOD connectors

Applications:

* nMigen/Migen/LiteX programming
* USB 2/USB 3 prototyping
* Game console emulation
* Software Defined Radio
* Customizable RISC-V SoC

#lattice #fpga #devboard
Awesome Hardware Description Languages

Добротный список того, на чём можно писать железо. От мужика, подарившего нам
https://wavedrom.com

https://github.com/drom/awesome-hdl

#hdl #hls #awesome
verilog_pwl_modeling_mixed_signal.pdf
2.9 MB
SystemVerilog для симуляции аналоговых компонентов

Гуглил тут на тему, как лучше в обычном цифровом тестбенче имитировать RC-цепь, аналоговый компаратор и т.п. Чтобы без всяких Verilog-AMS и прочих mixed-signal наворотов.

Наткнулся на шикарный диссер из Стэнфорда, где показан общий подход к тому, как с помощью SystemVerilog и кусочно-линейных функций создать pin-accurate модель аналогового блока, работающую в любом цифровом симуляторе.

VERILOG PIECEWISE LINEAR BEHAVIORAL MODELING FOR MIXED-SIGNAL VALIDATION
Sabrina Liao
https://purl.stanford.edu/pb381vh2919

#simulation #system_verilog #mixed_signal #analog_design