Embedded Doka – Telegram
Embedded Doka
3.65K subscribers
1.02K photos
28 videos
52 files
470 links
Авторский канал инженера-радиотехника 🤓

Если хотите рассказать мне интересное 👉 @iDoka

Let's keep in touch:
▫️ http://linkedin.com/in/idoka
▫️ https://github.com/iDoka
Download Telegram
CNVi as SDR

Конечно по диапазону перестройки CNVi-карточка не сможет конкурировать с решениями на базе LimeMicrosystem или AD9361/AD9363, но:

1. 500 рублей - это 500 рублей

2. Никакой пайки RF-тракта вручную, для подключения к ПЛИС используем стандартный M.2/NGFF-разъём, в крайнем случае понадобится простая переходная плата, чтобы MIPI-сигналы завелись в FPGA на правильные ножки

3. Необходимо натурно исследовать диапазоны перестройки ФАПЧ конкретных карточек CNVi (R820T из RTLSDR "разгонялась" до 1700МГц с деградацией шумовых характеристик, при декларируемых в документации 900МГц), также скорее всего потребуется выпаять/замкнуть полосовые фильтры по RF при их наличии.
Linux vs Windows

Отличная иллюстрация того какую ОС проще использовать для железа и разработки железа. В данном кейсе речь про фичу загрузки битстрима через PCI-E (т.н. Tandem режим).

Справедливости ради надо заметить, что версия для M$ имеет красивый GUI, в то время как красноглазики довольствуются командной строкой.
На одной картинке сразу две тенденции в FPGA:

1. Драматическое падение качества документации: "я не знаю как объяснить как это использовать, но нате вам пример - попробуйте просто добавлять в него свою логику работы, стараясь не сломать работу фичи"

2. Это выдержка из Xilinx РG156 на ~340 страниц, помимо этого есть еще отдельные документы о конфигурации и частичной реконфигурации, в которых тем не менее нет нужных подробностей - FPGA усложняются -> усложняется документация

PS: какой численностью команда необходима чтобы работать с новыми Versal - страшно представить, но уж точно времена FPGA энтузиастов-одиночек проходят..
Проект sed выходного дня

Наконец дошли руки сделать то, что так не хватало в ежедневном рутинном разглядывании серых логов - разукрашку логов вивадо, работающую в рантайм.
Перепробовав некоторое количество вариантов (ccze, awk, multitail), остановился на sed.

Возможности:
◦ Обработка стандартных типов сообщений Вивадо: INFO, WARNING, CRITICAL, ERROR
◦ Подсвечивание вех сборки
◦ Выделение таблиц-репортов

URL:
http://idoka.ru/blog/posts/colorize-fpga-vivado-log/
https://github.com/iDoka/eda-noscripts/blob/master/colorize.log

PS: приветствуются адаптации к другим тулам
Пожалуй, [каждую] пятницу в контент-плане отведу под мемы из мира хардвара и эмбеддед, чтобы хоть как-то разбавить суровые посты.
Встречайте первый блин:
VLSI Industry leakage

Для тех кто жаждет приобщиться к великому, или как минимум лицезреть на Coding Style компании, продукция которой есть в доме большинства геймеров/дата-сайентологов.

Встречайте RTL-sources видеоядра последнего поколения AMD Navi
AMD Navi некоторые наблюдения

Первые находки:
◾️имена папок (в скриптах - намёк на folder-based-version-control-system 🤦🏻‍♂️) в стиле:
▫️gfx10.3_navi21_rtl_freeze_atl
▫️verif_release_ro
◾️адовое количество различных памятей, притом похоже большинство - от synopsys
◾️помимо sram используется еще загадочная larr (по размерам похоже на регистровый файл) 🤔
◾️внутри GPU кому-то для чего-то понадобился аппаратный блок шифрования AES 😬
◾️100% используется бьютифайзер-тул для форматирования верилога - везде рассово-правильные отступы и форматирование 👌🏻
◾️использование в 2020г описания портов модуля в стиле verilog-1995 😱
◾️помимо верилог-расширений файлов, есть некие *.gv (обёртки технологозависимых примитивов?)
◾️Код, датированный более 15 лет назад (старая школа):
▫️правило 1 файл = 1 модуль не работает (как и в остальной кодовой базе)
▫️самодокументируемый: в шапке приведены описание модуля, история версий и какие имена и суффиксы что обозначают
▫️куски кода обложены прагмами-вейверами для линтера, похоже одно из требований - чистый вывод линтера (и запрет глобального выключения того или иного правила - всё должно делать на уровне конкретного блока - после блока прагмой включают обратно)
◾️ интересные комментарии в исходниках:
 ▫️// vim: set expandtab tabstop=8 shiftwidth=4 softtabstop=4 foldmethod=marker:
▫️// NOTICE!!!! This file is GENERATED by ./warp_memories.pl !!!!
▫️// -*- Mode: Verilog -*-
▫️// spyglass disable_block ALL

PS: я думаю понятно почему это отдельным постом идёт
Инженеры - новый рабочий класс

Интересные наблюдения автора по мотивам документалки о современном заводе VAG в Германии: большая часть персонала вовлечена в R&D и прогнозируется что через 15-20лет эта цифра будет составлять 50%, в то время как рабочий класс (низкоквалифицированный персонал) планомерно всё сильнее заменяется роботами (остаются только те, кто обслуживает роботов). На фоне развития таких инициатив как Amazon Go, такси-автопилотов и повсеместного перехода на удалёнку, получается что для низкоквалифицированного персонала становится меньше и меньше работы, что даже такие государственные меры, как сокращение рабочего дня не смогут сдерживать темпы безработицы.

Т.о. рано или поздно неприспособившиеся (к интеллектуальному труду) работяги аннигилируют, как в своё время произошло с "сотрудниками" колхозов (выбор: уехать в город и адаптироваться, либо остаться и спиться).

Инженерам от этого не легче:
1) риск посягательств на рабочие места работяг-адаптантов
2) из-за исчезновения работяг как класса - даунгрейд по социальной лестнице.
3) амазон своими разработками также угрожает брату-инженеру: в первую очередь хотят с помощью AI/ML научиться заменять высокооплачиваемых квалифицированных специалистов (программистов, инженеров) - тоже потенциальный риск сокращения доступности рабочих мест.

PS: Единственное не разделяю фантазий автора насчёт появления касты "инженеров-богачей" в Индии и СНГ. Точно также как сегодня в инженерном (интернациональном) фрилансе нет сверхприбылей - на каждого компетентного разработчика всегда есть пяток эникейщиков-резидентов Индии, которые задемпингуют беднягу ниже плинтуса. Достаточно трезво представлять себе соотношения спроса и предложения, если работа будет одинаково доступна из любой точки Планеты.
Nvidia представила видеокарты RTX30xx

Для решения проблем с задержкой ввода/вывода данных представлена собственная технология RTX IO, позволяющая загружать данные с SSD прямо в видеопамять GPU, минуя CPU.

Неплохо NVidia, но какова функция NIC на схеме?.. (NVidia Inteconnect Cxxxx? 🤔),
Может артефакты рендеринга схемы?)..
Или же намёк на некий аналог DPDK (но она вроде совсем для другого)?

Страничка на портале вендора не проливает свет, а https://developer.nvidia.com/rtxio так и вовсе Not found 🤷‍♂️
Embedded Doka
Nvidia представила видеокарты RTX30xx Для решения проблем с задержкой ввода/вывода данных представлена собственная технология RTX IO, позволяющая загружать данные с SSD прямо в видеопамять GPU, минуя CPU. Неплохо NVidia, но какова функция NIC на схеме?..…
вообще думал что это фича для обучения ML - чтобы подкачивать данные с SSD для обучения, если в GPU RAM полностью не помещаются, а в пресс-релизах пишут что это для игр (и вроде как только под винду будет работать)..
Весьма любопытно на каких версиях тулов автор получил эти результаты

https://www.linkedin.com/pulse/rtl-vs-software-mentality-fpgaasic-design-latency-161-b-bedoustani/
Apple Silicon

С нетерпением жду презентации новых макбуков на архитектуре ARM. Уж очень любопытно чем в итоге закончилось "обкашливание" вопроса Эппла с Интелом касательно thunderbolt. Масла в огонь подливают слухи и "утечки" о том, что Эппл покажет одновременно два девайса: на ARM и на x86 (неужто не удалось "выпросить" у Интел IP core протокола thunderbolt отдельно от х86 CPU?).

Мак без thunderbolt - жалкое зрелище и Эппл прекрасно это понимает. А презентация приоткроет завесу тайны о том как две мегакорпорации умеют договариваться за закрытыми дверьми. Процессоры итак поставлялись с сильным дисконтом, не захочет ли кто-то отыграться на цене контроллера thunderbolt и/или роялти?


PS Моё отношение к thunderbolt: люблю и ненавижу
▫️за гениальность и "простоту" самой идеи
▫️за проприетарщину и возможность использовать эту технологию только корпорациям (попробуйте попросить документацию на дискретный контроллер или купить в розницу на DigiKey)
MLS от Microsoft

Вот это поворот!
На FPL2020 рассекретила собственный hardware denoscription language называемый Sandpiper.

MLS - вероятно это "Mid-Level Synthesis", а не то что вы подумали (т.е. среднее между высокоуровневым HLS и низкоуровневым Verilog).

Интересно проект M$ Brainwave на Sandpiper переписан?.. или изначально на нём писан?.. 🤔
О гибридах и скрещивании видов

Однажды слушая потребности и жалобы заказчика SoC, возникла идея закрыть эти потребности, скрестив ужа и ежа, а именно - насыпать в CAN фичей из Ethernet. CAN ими использовался давно и успешно как bulletproof решение, но времена идут, аппетиты растут и стало не хватать скорости. CANFD в этом случае хоть и смягчил ситуацию с оверхедом канала, но радикально проблему не решал, а вот если его и дальше продолжить "наращивать", подобрав для защиты данных достойный полином - почему бы и нет?!.. 🤔

Однако, похоже я не один такой на всю голову Кулибин. С удивлением обнаружил существование нечто под названием M-PCIe - по сути этот тот же старый-добрый PCI-E, но к которому приделали вместо родного хардмакро PHY PCI-E физику от MIPI M-PHY, чтобы получить ultra-low power. Новостной дайджест из далёкого 2013г утверждает что даже Synopsys и Cadence анонсировали соответствующие IP ядра.

Задумка гениальна в своей простоте и нежелании изобретать новых сущностей, непонятно только одно - почему же в 2020г в айфонах NVMe-флешка реализована с обычным PCI-E (которую можно выпаять и через адаптер подключить к хостовому PCI-E), как так произошло? 🤷‍♂️

@embedoka
Слабоумие и отвага

Тут одно из двух:
Либо работодатель столь жаждет получить в команду квалифицированного высокооплачиваемого специалиста, что тратит в год только на лицензию одного тула несколько миллионов рублей (намекая на масштабы щедрот по ЗП) 👍🏻
Либо просто от недалёкого ума выкладывает в интернет список тулов, на который этим юрлицом никогда не приобретались лицензии.. 🤦🏻‍♂️

@embedoka