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

Обратная связь: @esynr3z
https://news.1rj.ru/str/boost/positiveslack
Download Telegram
An_FPGA_Implementation_of_a_Fixed_Point_Square_Root_Operation.pdf
236 KB
An FPGA Implementation of a Fixed-Point Square Root Operation

Очень компактный и быстрый алгоритм вычисления целой части квадратного корня.
Т.е.

floor(sqrt(x))


#square_root #sqrt #fpga
The UVM Primer. An Introduction to the Universal Verification Methodology.
Ray Salemi

То что можно почитать про UVM для начала.

https://www.amazon.com/UVM-Primer-Step-Step-Introduction/dp/0974164933

#uvm #rtl #verification #system_verilog
07-SeqLogicIIIx2.pdf
533.2 KB
Mealy vs. Moore Machines
Berkeley CS 150

Чтобы раз и навсегда запомнить, чем эти FSM отличаются.

Источник:
http://www-inst.eecs.berkeley.edu/~cs150/sp07/Lectures/

#fsm #rtl #verilog #digital_design
Demystifying Resets: Synchronous, Asynchronous other Design Considerations

https://forums.xilinx.com/t5/Blog-Archive/Demystifying-Resets-Synchronous-Asynchronous-other-Design/td-p/882252

TL;DR

Xilinx советуют всегда использовать синхронный сброс. Но если уж очень надо асинхронный - то надо бы его пропустить через синхронизатор.

По поводу полярности - Xilinx советуют активную 1, т.к. становятся не нужны инверторы на пути сброса. Но если хотите активный ноль, используйте, главное всей командой договоритесь об одной полярности.

#rtl #reset #xilinx #fpga #tldr
Computer Architecture - ETH Zürich - Fall 2019

Onur Mutlu's lecture videos from the senior/master's level Computer Architecture course taught at ETH Zürich in Fall 2019.

Курсы по комьютерным архитектурам со звездочкой - о том, что там в том числе на переднем крае происходит.

Плейлист YouTube:
https://www.youtube.com/playlist?list=PL5Q2soXY2Zi-DyoI3HbqcdtUm9YWRR_z-

Сайт курса с материалами:
https://safari.ethz.ch/architecture/fall2019/doku.php

#course #computer_architecture #digital_design
USB Complete: The Developer’s Guide, Fifth Edition
Jan Axelson

Одна из лучших книг по USB.
Охватывает USB 1.0 - 3.1, Embedded Host, OTG, кучу классов и многое другое.

https://www.amazon.com/USB-Complete-Developers-Guide-Guides/dp/1931448280

#usb #book
AN57294_USB_101_An_Introduction_to_Universal_Serial_Bus_2.0.pdf
3 MB
AN57294, USB 101: An Introduction to Universal Serial Bus 2.0
Robert Murphy

Аппноут по USB2.0 от Cypress.

#usb #appnote #cypress
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