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
Регулярная рубрика "Github"

Как уже писал ранее есть прекрасная фича в виде фильтра по языку, которую как оказалось можно использовать в глобальном поиске к т.н. "топикам", например, для поиска реализаций шифра AES на систем-верилог, сработает такой запрос:

https://github.com/topics/aes?l=systemverilog
paranoid_mode_on

Забавно наблюдать за противостоянием технологии распознавания лиц и изобретателей способов эти распознавалки обмануть ("забавно" это конечно до тех пор пока не касается лично нас, а вот после новости о миллиардном тендере ДИТ Москвы на распознавалку лиц для метро - это уже не так забавно).

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

Сам метод использует феномен "состязательных примеров", когда несущественные изменения входных данных могут привести к кардинальным изменениям логики классификации. В настоящее время феномен "состязательных примеров" является одной из главных нерешённых проблем в системах машинного обучения. Конечно, рано или поздно научатся делать "правильный" препроцессинг перед обучением и вычищать эти искажения, а пока этот метод претендует на то, чтобы встроить его на уровне ОС в каждый смартфон, чтобы то, что из смартфона разлетается по сетям нельзя было использовать во вред владельцу. Либо компромиссный вариант - встраивание алгоритма на уровне приложения (тот же телеграм самовольно процессит наши картинки).

В общем, наблюдаем дальше за этой увлекательной битвой, в удивительное время живём!
Об утечке 20ГБ из Интел

Можно долго спорить о том, какой какой эффект возымеет эта утечка или насколько этично выкладывать подобное в общий доступ, но хотелось бы акцентировать внимание на то, какой эффект это может возыметь на сообщество энтузиастов.

И это не только про Интел МЕ/АМТ и выпиливание из него "недокументированных" возможностей и добавление интересных фич, но и про то, что железо может стать ближе к народу.

Например, я жажду мельчайших подробностей и технических деталей про такую технологию как CNVi: c некоторых пор, выпускаемые интелом карточки формата NGFF для WiFi+BT работают не по классическим PCIE+USB, а по некоему интерфейсу CNVi (и работают с ограниченным числом чипсетов интел).
Об Intel CNVi

Вся изящность идеи - в её простоте. А именно осуществить максимальную развязку RF PHY и baseband обработки, т.о. на CNVi-сompatible карточке остаются DDC/DUC для работы на нулевой ПЧ, синтезаторы и ADC/DAC, а всё протоколо-зависимое процессится на хосте, для связи с хостом (передачи потоков с/на ADC/DAC) используется низкопотребляющий MIPI DPHY. Для управления используются два UART-подобных интерфейса, работающие на скоростях до ~100Мбит/с.

Увы, это всё что на данный момент известно о технологии CNVi, есть еще некоторые обрывочные упоминания в линуксе, но недостаточные для полноценной картины.

Самые прозорливые уже догадались к чему я веду: CNVi - готовый и дешевый backend для SDR с широченной полосой по входу.
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 переписан?.. или изначально на нём писан?.. 🤔