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

Обратная связь: @esynr3z
https://news.1rj.ru/str/boost/positiveslack
Download Telegram
Gigabit Ethernet 101: Basics to Implementation

И ещё про эзернет в стиле "from zero to hero". Теперь про гигабитный. От общего описания к конкретным практическим советам по трассировке платы с phy.

Статья:
https://resources.altium.com/p/gigabit-ethernet-101-basics-implementation

Пример дизайна:
https://github.com/issus/Gigabit-Ethernet

#ethernet #pcb
Xilinx AXI Verification IP

Наконец дошли руки оформить заметку по Xilinx AXI VIP.

https://esynr3z.github.io/2021-04-24-axi-vip
https://github.com/esynr3z/axi_vip_demo

Прикольный инструмент, но очень интенсивное использование SV заставляет падать симуляторы в разных непонятных ситуациях. Так, например, если в определенном контексте не подключить сигнал к одному из выходов определенного таска - падает XSim. Или если включить определенный режим рандомизации сигнала READY - падает Xcelium. Формально всё легально и по стандарту, но увы ¯\_(ツ)_/¯

#xilinx #fpga #axi #verification
Реализация криптоалгоритмов на ПЛИС

Обязательный must watch.

https://www.youtube.com/watch?v=4SAvu3MPAww

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

Из методов оптимизации порадовал пересбор прошивки с разной оптимизацией под данные и заливка в рамках CI/CD - даже никогда не думал что так можно и нужно кому-то 😅

В общем, однозначный лайк @iDoka

#fpga #crypto
d3xx-linux-armv7.tar.xz
1.2 MB
FTDI D3xx драйвер под ARM

Драйвер нужен для чипов серии FT6xx - USB3.0 <-> FIFO.
На страничке загрузок есть версии только под x86, а версия под ARM отсутствует (не запустить либу на малинке например).
https://ftdichip.com/drivers/d3xx-drivers/

Однако, доступ к бета версии драйвера дают по запросу.
https://www.ftdicommunity.com/index.php?topic=342.0

Собственно, вот и архив. Мб пригодится кому =)

#ftdi #usb #ft600 #arm #d3xx
Микро-зажимы

Периодически возникает желание подцепиться к ногам какого-нибудь чипа - заказал вот такие вот зажимы.
https://a.aliexpress.com/_AcST89

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

Видел что есть ещё версия "пистолетом" с пластиковым корпусом типа такого
https://a.aliexpress.com/_ATYQZx. Возможно стоит её попробовать, на первый взгляд кажется, что цепляться будет гораздо удобнее.

#debug #hardware #tools
SO YOU WANT TO BUILD AN EMBEDDED LINUX SYSTEM?

Стоящий внимания супер-лонгрид (~200к символов) про эмбэддэд линукс.

This article is targeted at embedded engineers who are familiar with microcontrollers but not with microprocessors or Linux, so I wanted to put together something with a quick primer on why you’d want to run embedded Linux, a broad overview of what’s involved in designing around application processors, and then a dive into some specific parts you should check out — and others you should avoid — for entry-level embedded Linux systems.

https://jaycarlson.net/embedded-linux/

#linux #embedded
apb.pdf
62 KB
TL;DR: APB

Когда-то делал микрообзор этого протокола - основные сигналы и транзакции, без погружения в детали (хотя там и погружаться особо некуда)

#apb #arm #tldr
Avalon-MM.pdf
150.7 KB
TL;DR: Avalon-MM

Аналогичный обзор на другой протокол от @evgeniy_bolnov

#altera #intel #avalon #tldr
SDR-Pentek.pdf
438 KB
Сжато про сэмплирование и основы SDR

#adc #sdr #dsp
Частота дискретизации vs полоса пропускания или причём здесь алиасинг

Тут увидел крутые картиночки из пдфки "Software-Defined Radio Handbook" от Pentek (документ выше), которые на пальцах объясняют.

Допустим, у нас АЦП с частотой дискретизации Fs=100МГц, а полоса пропускания у него 350МГц. Сможем ли оцифровать сигнал у которого спектр сосредочен в полосе 20-30МГц? А в полосе 170-180МГц? В обоих случаях да, если корректно учтём "эффект наложения спектров при дискретизации" ака "заворачивание спектров" ака "алиасинг/aliasing".

180МГц? А как же теорема отсчётов/Котельникова/Найквиста/Шеннона и ограничение в Fs/2=50Мгц? Противоречий нет, т.к. в ней речь о том, что сигнал может быть адекватно оцифрован, если его полоса частот не превышает Fs/2 (она в примере 10МГц). Т.е. если частоты в спектре сигнала лежат ниже Fs/2 - они представляются адекватно, но если они лежат выше Fs/2, то происходит "заворачивание"/"наложение" более высокочастотной части спектра на область частот от 0 до Fs/2.

И теперь к картинкам. На Fig.2 условно спектр того, что способен "видеть" наш АЦП - полосу 350МГц (7 зон Найквиста по 50МГц). Представлен в виде бумажной гармошки. Когда происходит дискретизация, то всё что выше Fs/2 накладывается на нулевую зону и искажает её содержимое. Fig.3 - складываем гармошку и просвечиваем её насквозь. Прикольно, что эта аналогия также отражает то, что спектры из чётных зон при наложении зеркально разворачиваются.

Как тогда нормально оцифровать первый сигнал в полосе 20-30МГц (Fig.4)? Перед АЦП поставить антиалиасинговый ФНЧ, который подавит всё что выше Fs/2, и при заворачивании спектра при дискретизации эти зоны влияния не окажут.

Аналогично с сигналом в полосе 170-180МГц. Только нужен теперь полосовой фильтр, который подавит всё, кроме полезной части спектра в четвертой зоне (Fig.5). И тогда спектр оцифрованного сигнала будет содержать только искомый сигнал, правда перенесенный в область 0-Fs/2 и отражённый зеркально (Fig.6).

P.S. я сам только познаю магию ЦОСа по книжке Смита, так что прошу поправить, если где неправ.

P.P.S. Все цифры взяты с потолка и не сопадают с источником картинок.

#dsp #aliasing #adc
FTDI USB-FIFO или режим FT245

Последнее время я довольно много работал с чипами FTDI в качестве переходников USB-FIFO для FPGA: FT232H, FT2232H, FT600, асинхронный и синхронный режимы FT245, самописные ядра на SystemVerilog, ответное ПО на Python - вот это вот всё. Собралась некоторая критическая масса заметок, которые решил причесать и собрать в пост.

https://esynr3z.github.io/2021-07-16-ftdi-ft245

#ftdi #system_verilog
The Myth of Three Capacitor Values

Many designs today include three different value decoupling capacitors, or when using just one capacitor, a small value like 0.1 uF. These recommendations are based on 50-year-old assumptions that do not apply today. It is time to reconsider these out of date, legacy design guidelines.

https://www.signalintegrityjournal.com/articles/1589-the-myth-of-three-capacitor-values

#hardware #analog_design #schematic
позитивслэк
Extreme Wiring on the Prototyping Board Видео от легендарного ELM-ChaN про прототипирование на коленке. https://www.youtube.com/watch?v=i5MNLTc7YhY&ab_channel=tHaH4x0r Понравилась идея с податчиком провода. В комбинации с пинцетом можно очень быстро и точно…
Jump wire pen

Дело Элмчана живёт. Оказывается, отдельные приспособы для такой пайки и у китайцев есть. Правда они позиционируются как инструмент для ремонта телефонов.

Взял на пробу от Mechanic:
https://a.aliexpress.com/_9Qlpkc

В комплекте 2 катушки 0.01, что может для ремонта айфонов и норм, но для прототипирования сильно хлипковато. Поэтому прикупил ещё отдельно провод 0.1:
https://a.aliexpress.com/_AlCoQ4
Катушку пришлось по кругу подпилить, чтобы нормально крутилась внутри, но это мелочи.

Хотел как в оригинальном видео 0.2 провод найти - но на али не нашел лудящийся, а наш ПЭВТЛ (не путать с ПЭВТ - его паяльник не берет) по не совсем гуманным ценам продается:
https://www.chipdip.ru/product0/8004279725

Доволен. Всё работает, провод лудится, катушка крутится - можно прототипировать =)

#soldering #pcb
Corsair - генератор карты регистров

Хотел бы поделиться своим проектом, доросшим до первой мажорной версии. Конечно он ещё молодой, и толком необкатанный, но верю, что кому-то уже сможет помочь.

Благодарю всех участвовавших и просто сочувствовавших, без обратной связи и помощи было бы тяжело.

Что? Зачем? Почему?
esynr3z.github.io/2021-09-03-corsair

Репозиторий:
github.com/esynr3z/corsair

Документация:
corsair.readthedocs.io

#python #csr #fpga
Архитектуры процессорных систем

Курс лекций от МИЭТ. Про RISC-V и внутренности современных процессоров. Классная подача материала, рекомендую.

https://youtube.com/playlist?list=PL0def37HEo5KMH7gONw_JnczvQJBv1EZL

И вообще, вот вам годный канал с постами на эту тему:

Записки CPU designer'a
@cpu_design

#digital_design #cpu #riscv #computer_architecture
Computer Architecture Animations
[ссылка]

Интерактивные анимации демонстрируют работу процессорного кэша и протоколов когерентности в мультипроцессорных системах:

▫️Cache
▫️Write-through cache coherency
▫️Write-once cache coherency
▫️Firefly cache coherency
▫️MESI cache coherency
▫️All cache coherency protocols

#computer_architecture #cpu #cache #coherency
Немного почти оффтопика.

Набрёл на классный сайт со списками почти всего на свете для помощи в выборе имени какого-нибудь нового проекта. А то часто это бывает проблемой, особенно если вдруг нужна серия имён одной тематики.


A good naming scheme is scalable, unique, and easy to remember. The purpose of these naming schemes is to name networked servers, wireless access points or client computers, but it can also be used to name projects, products, variables, streets, pets, kids, or any other project where unique names and rememberable names are required.


https://namingschemes.com