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

Обратная связь: @esynr3z
https://news.1rj.ru/str/boost/positiveslack
Download Telegram
Awesome Hardware Denoscription 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
Icarus и SystemVerilog

Поддержка SV в Икарусе потихоньку развивается - вот в достаточно свежей 11-ой версии (сентябрь 2020) обнаружил, что уже поддерживаются конструкции always_comb, always_ff и always_latch!
Однако, как сами отмечают авторы

Missing SystemVerilog Language Features
This is still too large a list to enumerate.


Единственное, 11-ю версию еще не завезли в системные репозитории, поэтому надо собирать самому из исходников.

https://iverilog.fandom.com/wiki/Release_Notes_Icarus_Verilog_11

#icarus #system_verilog
Extreme Wiring on the Prototyping Board

Видео от легендарного ELM-ChaN про прототипирование на коленке.

https://www.youtube.com/watch?v=i5MNLTc7YhY&ab_channel=tHaH4x0r

Понравилась идея с податчиком провода. В комбинации с пинцетом можно очень быстро и точно формировать "дорожки". В коментах пишут, что используется медный эмалированый провод 0.2. А сам диспенсер можно сделать из ручки, хотя, как мне кажется, механический карандаш тоже должен зайти.

#pcb #prototype #soldering
Последовательности неблокирующих присвоений

Найдете почему счётчик на картинке выше может не считать?

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

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


strb <= 0;
if (bb) begin
strb <= 1;
blabla
end else if (cc) begin
if (dd)
strb <= 1;
else
blabla
end else if (ee)
blabla


Например, для генерации коротких импульсов. Если набор условий очень ветвист, а запускать импульс нужно только в нескольких случаях, то при обычном подходе придется явно описывать состояние strb для каждой ветки, в том числе и неактивное. А так, мы создаём что-то вроде состояния по умолчанию, которое может быть изменено где-то внутри нужного условия. И когда условие перестанет действовать - состояние вернётся к исходному.

Единственное, нужно помнить, что использовать переменную (к которой применено несколько неблокирующих присвоений подряд) в списке чувствительности может быть чревато с точки зрения симулятора.
Все присвоения будут исполнены в порядке возникновения, а значит конструкция @() с такой переменной внутри может сработать несколько раз.

Ну и как это часто бывает, первая пара ответов на SO вполне раскрывает тему:
https://stackoverflow.com/questions/15718192/verilog-sequence-of-non-blocking-assignments

#verilog #system_veriog #rtl #digital_design #codestyle
starc_verilog_guide.pdf
5.9 MB
STARC Design Style Guide

Когда-то давным давно (в 1995 году) основные японские полупроводниковые компании Fujitsu, Hitachi, NEC, Sony, Toshiba и др. собрались в огромного робота и основали иследовательский центр Semiconductor Technology Academic Research Center - STARC. И одной из задач, которую этот исследовательский центр пытался решить - стандартизовать процесс разработки чипов в Японии, т.к. хотя все и писали на одинаковых Verilog/VHDL, но кто во что горазд - никакого порядка. Ну и где-то в начале 2000х необходимый документ опубликовали.

Мне когда-то давно удалось найти 3 главы этого гайда, и я их склеил в одну pdf. Также существует аналогичный документ для VHDL, который мне найти не удалось (не особо и старался, если честно).

Гайд пытается покрыть все процессы разработки, начиная от имен регистров и организации иерархии модулей, до принципов организации структуры папок проекта. По некоторым источникам существует ещё 4-ая глава про верификацию, но к сожалению она не нашлась.

#verilog #codestyle
Можно найти как вполне актуальные рекомендации (сбросы, клоки, триггеры и другие компоненты дизайна не особо то и изменились за 20 лет), так и устаревшие и теперь забавные (например, не использовать пока Verilog-2001, т.к. не всеми тулами поддерживается в достаточном объёме).

1 Basic Design Constraints
1.1 Naming conventions
1.2 Synchronous design
1.3 Initial reset
1.4 Clocks
1.5 Handling of asynchronous circuits
1.6 Hierarchical design

2 RTL Denoscription Techniques
2.1 Combinational logic
2.2 always construct denoscription in combinational logic
2.3 FF inference
2.4 Latch inference
2.5 Tri-state buffer
2.6 always construct denoscription that takes circuit structure into account
2.7 if statements
2.8 case statements
2.9 for statements
2.10 Operator denoscriptions
2.11 State machine denoscriptions

3 RTL Design Methodology
3.1 Create function libraries
3.2 Using function libraries
3.3 Design for Test (DFT)
3.4 Low Power-Consumption Design
3.5 Source codes and design data management
Астрологи объявили неделю codestyle. Количество постов с правилами кодирования на Verilog увеличено вдвое.
FreescaleVerilog.pdf
344.7 KB
Freescale Verilog HDL Coding

* Naming Conventions
* Comments
* Code Style
* Module Partioning and Reusability
* Modeling Practices
* General Coding Techniques
* Standards for Structured Test Techniques
* General Standarts fot Synthesis

#verilog #codestyle
Макрочипы

"you can see why we went to 40nm, the first ones were huge"
😂

Не знаю, делает ли он сейчас на заказ, но подставка под кружку была бы просто офигенная.

https://www.evilgeniuslabs.org/macrochips

#diy
🔥1
verilog_systemverilog_standarts.zip
31 MB
Стандарты на Verilog и SystemVerilog

В архиве все на текущий момент стандарты Verilog и SystemVerilog.

* IEEE.1364-1995-Verilog
* IEEE.1364-2001-Verilog
* IEEE.1364-2005-Verilog
* IEEE.1800-2005-SystemVerilog
* IEEE.1800-2009-SystemVerilog
* IEEE.1800-2012-SystemVerilog
* IEEE.1800-2017-SystemVerilog

Последний стандарт Verilog - 2005. Потом этот стандарт слили со стандартом SystemVerilog того же года, местами пофиксили и получили стандарт 2009. Актуальный на начало 2021 года стандарт SystemVerilog - 2017.

#verilog #system_verilog #standard
Кстати в IEEE с конца 2019 года прорабатывают следующую ревизию стандарта SV. Так что в ближайшие пару лет нас ждут
"new and enhanced features that ease design, improve verification, and enhance cross-language interactions."

https://development.standards.ieee.org/myproject-web/public/view.html#pardetail/7059
FFT_tutorial_NI.pdf
124 KB
The Fundamentals of FFT-Based Signal Analysis and Measurement

Аппноут от NI по работе с FFT. Наверное бесполезен для тех, кто постоянно занимается ЦОСом, но если раз в N лет надо вспомнить как провести спектральный анализ и что-то там из него извлечь, то заходит очень хорошо.

- Базовые вычисления: амплитуда, RMS, амплитудный спектр, спектр мощности, децибелы, разрешение по частоте
- Алиасинговые эффекты и фильтры
- Оконные функции и spectral leakage
- Вычисления над полученным спектром: частота, мощность, SNR, PSD

#dsp #fft
👍1
ad_adc_specs.pdf
93 KB
Understand SINAD, ENOB, SNR, THD, THD + N, and SFDR so You Don't Get Lost in the Noise Floor
Walt Kester

Небольшой ликбез об основных динамических характеристиках АЦП с формулами.

#adc
👍1
Из ссылок в конце туториала выше набрел на прекрасную серию книг практической направленности по аналогу от Analog Devices. Однозначно стоит ознакомиться, если еще не!

И самое интересное, что эти книги можно бесплатно скачать прямо с сайта AD без регистрации и смс. Правда в немного разобраном виде - в формате архива с пдфками.

Data Conversion Handbook
https://www.analog.com/en/education/education-library/data-conversion-handbook.html

Mixed-Signal and DSP Design Techniques
https://www.analog.com/en/education/education-library/mixed_signal_dsp_design_book.html

Op Amp Applications Handbook
https://www.analog.com/en/education/education-library/op-amp-applications-handbook.html

Linear Circuit Design Handbook
https://www.analog.com/en/education/education-library/linear-circuit-design-handbook.html

#analog_design #adc #dac #op_amp #dsp #book