CNVi as SDR
Конечно по диапазону перестройки CNVi-карточка не сможет конкурировать с решениями на базе LimeMicrosystem или AD9361/AD9363, но:
1. 500 рублей - это 500 рублей
2. Никакой пайки RF-тракта вручную, для подключения к ПЛИС используем стандартный M.2/NGFF-разъём, в крайнем случае понадобится простая переходная плата, чтобы MIPI-сигналы завелись в FPGA на правильные ножки
3. Необходимо натурно исследовать диапазоны перестройки ФАПЧ конкретных карточек CNVi (R820T из RTLSDR "разгонялась" до 1700МГц с деградацией шумовых характеристик, при декларируемых в документации 900МГц), также скорее всего потребуется выпаять/замкнуть полосовые фильтры по RF при их наличии.
Конечно по диапазону перестройки 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, в то время как красноглазики довольствуются командной строкой.
Отличная иллюстрация того какую ОС проще использовать для железа и разработки железа. В данном кейсе речь про фичу загрузки битстрима через PCI-E (т.н. Tandem режим).
Справедливости ради надо заметить, что версия для M$ имеет
На одной картинке сразу две тенденции в FPGA:
1. Драматическое падение качества документации: "я не знаю как объяснить как это использовать, но нате вам пример - попробуйте просто добавлять в него свою логику работы, стараясь не сломать работу фичи"
2. Это выдержка из Xilinx РG156 на ~340 страниц, помимо этого есть еще отдельные документы о конфигурации и частичной реконфигурации, в которых тем не менее нет нужных подробностей - FPGA усложняются -> усложняется документация
PS: какой численностью команда необходима чтобы работать с новыми Versal - страшно представить, но уж точно времена FPGA энтузиастов-одиночек проходят..
1. Драматическое падение качества документации: "я не знаю как объяснить как это использовать, но нате вам пример - попробуйте просто добавлять в него свою логику работы, стараясь не сломать работу фичи"
2. Это выдержка из Xilinx РG156 на ~340 страниц, помимо этого есть еще отдельные документы о конфигурации и частичной реконфигурации, в которых тем не менее нет нужных подробностей - FPGA усложняются -> усложняется документация
PS: какой численностью команда необходима чтобы работать с новыми Versal - страшно представить, но уж точно времена FPGA энтузиастов-одиночек проходят..
Наконец дошли руки сделать то, что так не хватало в ежедневном рутинном разглядывании серых логов - разукрашку логов вивадо, работающую в рантайм.
Перепробовав некоторое количество вариантов (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: приветствуются адаптации к другим тулам
Журнал Эмбеддед-Инженера
Xilinx Vivado: комфортный билд в CLI
Как разукрасить проплывающие серые логи EDA?
Пожалуй, [каждую] пятницу в контент-плане отведу под мемы из мира хардвара и эмбеддед, чтобы хоть как-то разбавить суровые посты.
Встречайте первый блин:
Встречайте первый блин:
AMD Navi некоторые наблюдения
Первые находки:
◾️имена папок (в скриптах - намёк на folder-based-version-control-system 🤦🏻♂️) в стиле:
▫️
◾️помимо sram используется еще загадочная larr (по размерам похоже на регистровый файл) 🤔
◾️внутри GPU кому-то для чего-то понадобился аппаратный блок шифрования AES 😬
◾️100% используется бьютифайзер-тул для форматирования верилога - везде рассово-правильные отступы и форматирование 👌🏻
◾️использование в 2020г описания портов модуля в стиле verilog-1995 😱
◾️помимо верилог-расширений файлов, есть некие *.gv (обёртки технологозависимых примитивов?)
◾️Код, датированный более 15 лет назад (старая школа):
▫️правило 1 файл = 1 модуль не работает (как и в остальной кодовой базе)
▫️самодокументируемый: в шапке приведены описание модуля, история версий и какие имена и суффиксы что обозначают
▫️куски кода обложены прагмами-вейверами для линтера, похоже одно из требований - чистый вывод линтера (и запрет глобального выключения того или иного правила - всё должно делать на уровне конкретного блока - после блока прагмой включают обратно)
◾️ интересные комментарии в исходниках:
Первые находки:
◾️имена папок (в скриптах - намёк на 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: Единственное не разделяю фантазий автора насчёт появления касты "инженеров-богачей" в Индии и СНГ. Точно также как сегодня в инженерном (интернациональном) фрилансе нет сверхприбылей - на каждого компетентного разработчика всегда есть пяток эникейщиков-резидентов Индии, которые задемпингуют беднягу ниже плинтуса. Достаточно трезво представлять себе соотношения спроса и предложения, если работа будет одинаково доступна из любой точки Планеты.
Интересные наблюдения автора по мотивам документалки о современном заводе 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 🤷♂️
Для решения проблем с задержкой ввода/вывода данных представлена собственная технология 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/
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)
С нетерпением жду презентации новых макбуков на архитектуре 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 переписан?.. или изначально на нём писан?.. 🤔
Вот это поворот!
На 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
Однажды слушая потребности и жалобы заказчика 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
Тут одно из двух:
Либо работодатель столь жаждет получить в команду квалифицированного высокооплачиваемого специалиста, что тратит в год только на лицензию одного тула несколько миллионов рублей (намекая на масштабы щедрот по ЗП) 👍🏻
Либо просто от недалёкого ума выкладывает в интернет список тулов, на который этим юрлицом никогда не приобретались лицензии.. 🤦🏻♂️
@embedoka