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

Обратная связь: @esynr3z
https://news.1rj.ru/str/boost/positiveslack
Download Telegram
USB Made Simple.pdf
743.2 KB
USB Made Simple

Первый гайд, который обычно советуют при знакомстве с USB.

#usb #guide
USB_in_a_Nutshell_EN_RU.zip
969.2 KB
USB in a Nutshell

Второй гайд, который обычно советуют при знакомстве с USB.
Также внутри архива его русская локализация от microsin.net.

#usb #guide
Cracking Digital VLSI Verification Interview
Ramdas Mozhikunnath & Robin Garg

Сборник из 500+ вопросов и задач по цифровому дизайну, верификации, Verilog, SystemVerilog, UVM, которые могут задать на интервью.

https://www.amazon.com/Cracking-Digital-VLSI-Verification-Interview-ebook/dp/B01CZ0Z08E

#rtl #digital_design #verification #interview #book
Hacker’s Delight (2nd ed.)
Henry S. Warren

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

https://www.amazon.com/Hackers-Delight-2nd-Henry-Warren/dp/0321842685

Русская версия.
Алгоритмические трюки для программистов (2-е издание)
Уоррен Г.С.

#algorithm #c #book
SVA: The Power of Assertions in SystemVerilog (2nd ed.)
Eduard Cerny, Surrendra Dudani, John Havlicek, Dmitry Korchemny

Учебник по SystemVerilog Assertions (SVA) от инженеров Intel, Synopsys и Cadence.

https://www.amazon.com/Power-Assertions-SystemVerilog-Eduard-Cerny/dp/1441965998

#sva #system_verilog #verification #book
Про преобразование формата цвета 666 в 888.

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

#rgb #decoder #rtl #note
Логическое проектирование и верификация систем на 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