Есть отдельный вид RTL-кода:
это код написанный настолько нечеловекопонятно, что выглядит будто он сгенерён машиной:
1) без комментариев
2) минимум поведенческого описания
3) больше похож на нетлист
4) максимально неинформативные имена сигналов и сущностей
На гитхаб такое часто встречается, увы.
У меня появилась идея для линтера, который запускается, например, в пре-коммит хуке:
проверка уровня документированности исходников в зависимости от типа файла:
1) топ-левел RTL (номинальное комментирование)
2) RTL-мясо (метрика с соотношением % кода и комментариев + метрика уровня "распределенности комментариев" по коду)
3) тестбенчи (???)
Под эту задачу наверное хорошо бы зашёл какой-нить ML NLP движок, который был бы обучен на плохих и хороших комментариях, ибо стандартные движки линтеров имеют формальные правила и проверки правил
@embedoka
это код написанный настолько нечеловекопонятно, что выглядит будто он сгенерён машиной:
1) без комментариев
2) минимум поведенческого описания
3) больше похож на нетлист
4) максимально неинформативные имена сигналов и сущностей
На гитхаб такое часто встречается, увы.
У меня появилась идея для линтера, который запускается, например, в пре-коммит хуке:
проверка уровня документированности исходников в зависимости от типа файла:
1) топ-левел RTL (номинальное комментирование)
2) RTL-мясо (метрика с соотношением % кода и комментариев + метрика уровня "распределенности комментариев" по коду)
3) тестбенчи (???)
Под эту задачу наверное хорошо бы зашёл какой-нить ML NLP движок, который был бы обучен на плохих и хороших комментариях, ибо стандартные движки линтеров имеют формальные правила и проверки правил
@embedoka
👍1
Forwarded from 𝐃𝐎𝐊𝐀
тогда раскрою мысль более подробно для чего разработчику ПЛИС чрезвычайно желательно иметь несколько версий тулов:
когда работаешь с проектами с утилизацией категории "almost full" и пытаешься сначала догнать, а потом и перегнать конкурентов, то однажды с удивлением обнаруживаешь, что блок А оптимальнее (по ресурсам) синтезируется в туле версии Х, а блок Б в версии У, и начинаешь писать в tcl монстра:
делаем синтез поблочно в апостериори-"оптимальных" версиях, выписываем нетлист, и топ уже собираем из нетлистов в (желательно) последней версии тула.
ЗЫЖ так подозреваю, что в неозвученных специфических кейсах сценарий (для вивдо) также вполне рабочий
@embedoka
когда работаешь с проектами с утилизацией категории "almost full" и пытаешься сначала догнать, а потом и перегнать конкурентов, то однажды с удивлением обнаруживаешь, что блок А оптимальнее (по ресурсам) синтезируется в туле версии Х, а блок Б в версии У, и начинаешь писать в tcl монстра:
делаем синтез поблочно в апостериори-"оптимальных" версиях, выписываем нетлист, и топ уже собираем из нетлистов в (желательно) последней версии тула.
ЗЫЖ так подозреваю, что в неозвученных специфических кейсах сценарий (для вивдо) также вполне рабочий
@embedoka
Уж не знаю к какой категории стоит отнести данную заметку:
1️⃣ ученый изнасиловал журналиста
2️⃣ больше хайпа богам хайпа!
3️⃣ слабаки! забыли такие ингредиенты как блокчейн и ML!
4️⃣ чего прицепился - люди делают что-то полезное!
5️⃣ мы просто глупцы и неспособны постичь того, что реально необходимо для развития беспилотников на текущем этапе 🤷♂️
источник
@embedoka
1️⃣ ученый изнасиловал журналиста
2️⃣ больше хайпа богам хайпа!
3️⃣ слабаки! забыли такие ингредиенты как блокчейн и ML!
4️⃣ чего прицепился - люди делают что-то полезное!
5️⃣ мы просто глупцы и неспособны постичь того, что реально необходимо для развития беспилотников на текущем этапе 🤷♂️
источник
@embedoka
DIY chip for $10k
Теперь на Efabless появилась возможность делать чипы по SkyWater 130нм без требования опенсорсить дизайн. Честно говоря не знаю насколько ценник дешевле/дороже TSMC 130нм через MPW Европрактики.
Что предлагают за 10 000 долларов?
10mm^2 и 100 QFN или 300 WCSP чипов
(WCSP можно увеличить до 1000шт, доплатив $20 за чип).
Кстати, в заметке интересный термин: TaaS - Technology as a Service.
@embedoka
Теперь на Efabless появилась возможность делать чипы по SkyWater 130нм без требования опенсорсить дизайн. Честно говоря не знаю насколько ценник дешевле/дороже TSMC 130нм через MPW Европрактики.
Что предлагают за 10 000 долларов?
10mm^2 и 100 QFN или 300 WCSP чипов
(WCSP можно увеличить до 1000шт, доплатив $20 за чип).
Кстати, в заметке интересный термин: TaaS - Technology as a Service.
@embedoka
Про проекты на efabless
Из любознательности полез посмотреть что же за опенсорц-проекты делались на Efabless по SkyWater 130нм, и чёт приуныл:
Если и не большинство, то достаточное количество проектов - это шит-асики для шиткоинов (и сразу такие мысли в голове - а что так можно было?!?!). 😳
Вторая категория проектов - различные вариации гитхабовских SoC на RISC-V. 😬
Конечно есть и интересные проекты, вроде openFPGA, OpenTDC, обкатки Analog & RF IPs, etc.
PS: а еще я нигде в явном виде не встречал информацию, но у меня есть догадка о том, что инициатива гугла на Sky130 появилась не случайно, а благодаря гугловскому же проекту openTITAN, а точнее проблемами с которыми в 2019г он столкнулся: невозможность предоставления полностью прозрачного design flow (Anyone can inspect, evaluate, and contribute to OpenTitan's design and documentation to help build a more transparent, trustworthy silicon RoT for all) из-за того как раз что на всяких TSMC & GloFo закрыты NDA и не подлежат публикации DDK & PDK.
@embedoka
Из любознательности полез посмотреть что же за опенсорц-проекты делались на Efabless по SkyWater 130нм, и чёт приуныл:
Если и не большинство, то достаточное количество проектов - это шит-асики для шиткоинов (и сразу такие мысли в голове - а что так можно было?!?!). 😳
Вторая категория проектов - различные вариации гитхабовских SoC на RISC-V. 😬
Конечно есть и интересные проекты, вроде openFPGA, OpenTDC, обкатки Analog & RF IPs, etc.
PS: а еще я нигде в явном виде не встречал информацию, но у меня есть догадка о том, что инициатива гугла на Sky130 появилась не случайно, а благодаря гугловскому же проекту openTITAN, а точнее проблемами с которыми в 2019г он столкнулся: невозможность предоставления полностью прозрачного design flow (Anyone can inspect, evaluate, and contribute to OpenTitan's design and documentation to help build a more transparent, trustworthy silicon RoT for all) из-за того как раз что на всяких TSMC & GloFo закрыты NDA и не подлежат публикации DDK & PDK.
@embedoka
Вы бы хотели запилить собственный ASIC на Efabless при условии наличия свободного времени и других факторов?
Anonymous Poll
26%
Да, есть идея проекта: при условии сбора команды с необходимой экспертизой - я готов
3%
Есть идея проекта, но не готов разрабатывать/менеджить (можно поделиться идеей в комментариях)
4%
Есть идея проекта, но SKY130 это для школьников. Ищу реальные инвестиции на deep submicrone nodes.
19%
Могу/хочу присоединиться как разработчик (FE) к проекту
7%
Могу/хочу присоединиться как верификатор к проекту
3%
Могу/хочу присоединиться как физдизайнер (BE) к проекту
5%
Могу/хочу присоединиться как аналоговик к проекту
18%
Хочу, но не в это время не в том месте
37%
Хватит уже витать в облаках - идите работать
Вот вам для разминка мозгов тривиальная задачка с собеса на схемотехника.
Какое напряжение на выходе?
@embedoka
Какое напряжение на выходе?
@embedoka
Для тех, кто не успел на разминку может поучаствовать, а правильный ответ в комменте к этой записи (чтобы не спойлерить).
Вот какой вопрос беспокоит меня достаточно долгое время:
Есть классические вокодеры (в том же GSM, например), которые построены по принципу построения модели речевого тракта как трубы с 10 разными сечениями и разными вариантами возбудителей. Собственно в GSM оттого и качество передачи речи скудное, что передаются параметры этой модели (не всегда попадающие точь-в-точь), а не "оцифрованный" собеседник.
Есть специальные "классические" вокодеры, которые совсем уж тихоходные (до 300 бит/с), типа codec2. И ,казалось бы, вот куда приткнуть нейроночки, но недавняя попытка гугла с lyra (на 3кбит/с) как-то не очень убедительна, но тут нейронка только в декодере и это даже не опенсорс (да и нейронка-то там не для лучшей компрессии, а для попыток восстановления речи при проблемах с каналом связи).
Поэтому моё недоумевание связано с непониманием, что же мешает в то время как Speech-to-Text & Text-to-Speech движки для е-коммерса развиваются семимильными шагами, передавать по каналу текст энтропийно сжатый в Морзянку + индивидуальные параметры спикера по какому-нить PSK31 (а может можно и по более современным альтернативам типа той же LoRa)?!
На мой дилетантский взгляд помимо military/defence есть достаточное число гражданских применений для ultra low bit-rate vocoders.
Так что же я упускаю в этом вопросе?
@embedoka
Есть классические вокодеры (в том же GSM, например), которые построены по принципу построения модели речевого тракта как трубы с 10 разными сечениями и разными вариантами возбудителей. Собственно в GSM оттого и качество передачи речи скудное, что передаются параметры этой модели (не всегда попадающие точь-в-точь), а не "оцифрованный" собеседник.
Есть специальные "классические" вокодеры, которые совсем уж тихоходные (до 300 бит/с), типа codec2. И ,казалось бы, вот куда приткнуть нейроночки, но недавняя попытка гугла с lyra (на 3кбит/с) как-то не очень убедительна, но тут нейронка только в декодере и это даже не опенсорс (да и нейронка-то там не для лучшей компрессии, а для попыток восстановления речи при проблемах с каналом связи).
Поэтому моё недоумевание связано с непониманием, что же мешает в то время как Speech-to-Text & Text-to-Speech движки для е-коммерса развиваются семимильными шагами, передавать по каналу текст энтропийно сжатый в Морзянку + индивидуальные параметры спикера по какому-нить PSK31 (а может можно и по более современным альтернативам типа той же LoRa)?!
На мой дилетантский взгляд помимо military/defence есть достаточное число гражданских применений для ultra low bit-rate vocoders.
Так что же я упускаю в этом вопросе?
@embedoka
RKL_topo_@embedoka.jpg
2.9 MB
Любопытно поглядеть топологию 11го поколения Intel Core под кодовым названием Rocket Lake.
Это 8 ядерный процессор с поддержкой AVX-512 и встроенным GPU на 14нм FinFET.
Интересно сопоставлять размеры различных блоков, например:
1️⃣ Размеры кеша L3 на 2МБайта(!) и размер ядра (5..6х)
2️⃣ PCI-E 4.0 x16 PHY размером с одно ядро
3️⃣ Двухканальный контроллер DDR4 (без PHY!) чуть меньше чем одно ядро
🤔 Если взять плотность памяти в L3 и замостить весь кристалл, то выйдет (на глаз) около 208 МБайт статической памяти! (но это широкий & multi-way $).
NB! достаточно давно был и остаюсь фанатом CPU от Intel и их подхода по тщательному вылизыванию DDK/кастомным блокам под конкретную техноду (что давало 2600МГц ядра на 130нм в далеком 2003г 😱).
источник @embedoka
Это 8 ядерный процессор с поддержкой AVX-512 и встроенным GPU на 14нм FinFET.
Интересно сопоставлять размеры различных блоков, например:
1️⃣ Размеры кеша L3 на 2МБайта(!) и размер ядра (5..6х)
2️⃣ PCI-E 4.0 x16 PHY размером с одно ядро
3️⃣ Двухканальный контроллер DDR4 (без PHY!) чуть меньше чем одно ядро
🤔 Если взять плотность памяти в L3 и замостить весь кристалл, то выйдет (на глаз) около 208 МБайт статической памяти! (но это широкий & multi-way $).
NB! достаточно давно был и остаюсь фанатом CPU от Intel и их подхода по тщательному вылизыванию DDK/кастомным блокам под конкретную техноду (что давало 2600МГц ядра на 130нм в далеком 2003г 😱).
источник @embedoka
Embedded Doka
RKL_topo_@embedoka.jpg
А во всех этих многоядерных х86 - ядра сидят на отдельных повер-доменах или на одном?!.. 🤔
Учитывая что современные мощные VRM на материнских платах строятся по схеме 12+ фаз питания на ядро, технически ничто не препятствует разделить эти фазы и подавать на сокет как независимые питания ядер, как правило в архитектуре самих VRM тоже закладывается возможность независимого контроля напряжения фаз 🤓
Зачем это надо?!.. Как видно из работы режима турбо-буст новых версий, можно дать возможность "ускориться" произвольному числу ядер, и чем меньше ядер ускорять - тем больше частота (при условии оставаться в заданном TDP). Зная что мощность пропорциональна квадрату напряжения, независимое питание ядер при бусте малого количества ядер дало бы возможность эксплуатировать остальные ядра в более энергоэффективном режиме и иметь запас по TDP 🤘🏻
Минусы решения: даже не представляю себе пенальти по производительности и то количество левел-шифтеров, которыми надо обложить каждое ядро в своём домене питания 😬
@embedoka
Учитывая что современные мощные VRM на материнских платах строятся по схеме 12+ фаз питания на ядро, технически ничто не препятствует разделить эти фазы и подавать на сокет как независимые питания ядер, как правило в архитектуре самих VRM тоже закладывается возможность независимого контроля напряжения фаз 🤓
Зачем это надо?!.. Как видно из работы режима турбо-буст новых версий, можно дать возможность "ускориться" произвольному числу ядер, и чем меньше ядер ускорять - тем больше частота (при условии оставаться в заданном TDP). Зная что мощность пропорциональна квадрату напряжения, независимое питание ядер при бусте малого количества ядер дало бы возможность эксплуатировать остальные ядра в более энергоэффективном режиме и иметь запас по TDP 🤘🏻
Минусы решения: даже не представляю себе пенальти по производительности и то количество левел-шифтеров, которыми надо обложить каждое ядро в своём домене питания 😬
@embedoka
От одного американского поставщика решений на базе ПЛИС прилетел Critical Supply Chain Alert.
52 недели, Карл!.. Да за год можно столько ПЛИС сжечь в дебажных поединках! 🤦🏻♂️
Пойду чтоли пройду курс по дата-сайенс, а там глядишь через годик-другой новых микрух подвезут 😭
@embedoka
52 недели, Карл!.. Да за год можно столько ПЛИС сжечь в дебажных поединках! 🤦🏻♂️
Пойду чтоли пройду курс по дата-сайенс, а там глядишь через годик-другой новых микрух подвезут 😭
@embedoka
Сегодня спонтанный вечер погружения в социальную психологию 🙄
И теперь, кажется, я понимаю мотивы руководителей и отдельных сотрудников, которые так рвутся с удалёнки на насиженные офисные гнёзда 😊
(конечно, помимо самых что ни на есть бытовых: "квартирный вопрос", как писали классики 😈)
Позднее было выявлено, например, что в присутствии наблюдателей хорошие игроки в бильярд показывают ещё более высокие результаты по количеству попаданий в лузу, тогда как плохие начинают играть ещё хуже.
Другие люди могут выступать не только в роли безучастных наблюдателей за деятельностью того или иного индивида, но и сами быть вовлеченными в деятельность. Торговцы на рынке, параллельно торгуя товарами, разумеется, не останутся равнодушными к делам друг друга. Между ними будет конкуренция. Но они так же будут являться зрителями для друг друга, соответственно, их со-деятельность будет оказывать такое же действие как и присутствие пассивного зрителя, правда с учетом того что это действие будет усилено состязательными отношениями между двумя индивидам.
Конкуренция является одним из мощных побудителей для улучшения качества, совершенствования товаров или услуг ради того, чтобы превзойти соперника. Именно благодаря конкуренции Запад достиг такого процветания в науке, экономике, промышленности и других областях. У конкуренции есть и свой минус: конкуренция способствует увеличению скорости деятельности взамен возможного падения качества и точности.
Эффект социальной фасилитации неоднократно наблюдался и у животных: в присутствии других особей своего вида спаривающиеся крысы проявляли большую сексуальную активность в присутствии других пар. У животных также наблюдалась и так называемая социальная ингибиция: тараканы, длиннохвостые попугаи и зелёные зяблики медленнее осваивали прохождение лабиринтов в присутствии особей своего вида.
@embedoka
И теперь, кажется, я понимаю мотивы руководителей и отдельных сотрудников, которые так рвутся с удалёнки на насиженные офисные гнёзда 😊
(конечно, помимо самых что ни на есть бытовых: "квартирный вопрос", как писали классики 😈)
Позднее было выявлено, например, что в присутствии наблюдателей хорошие игроки в бильярд показывают ещё более высокие результаты по количеству попаданий в лузу, тогда как плохие начинают играть ещё хуже.
Другие люди могут выступать не только в роли безучастных наблюдателей за деятельностью того или иного индивида, но и сами быть вовлеченными в деятельность. Торговцы на рынке, параллельно торгуя товарами, разумеется, не останутся равнодушными к делам друг друга. Между ними будет конкуренция. Но они так же будут являться зрителями для друг друга, соответственно, их со-деятельность будет оказывать такое же действие как и присутствие пассивного зрителя, правда с учетом того что это действие будет усилено состязательными отношениями между двумя индивидам.
Конкуренция является одним из мощных побудителей для улучшения качества, совершенствования товаров или услуг ради того, чтобы превзойти соперника. Именно благодаря конкуренции Запад достиг такого процветания в науке, экономике, промышленности и других областях. У конкуренции есть и свой минус: конкуренция способствует увеличению скорости деятельности взамен возможного падения качества и точности.
Эффект социальной фасилитации неоднократно наблюдался и у животных: в присутствии других особей своего вида спаривающиеся крысы проявляли большую сексуальную активность в присутствии других пар. У животных также наблюдалась и так называемая социальная ингибиция: тараканы, длиннохвостые попугаи и зелёные зяблики медленнее осваивали прохождение лабиринтов в присутствии особей своего вида.
@embedoka