Embedded Doka
3.66K 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
😁11🤬3😢2🤔1
Forwarded from Mikhail
🔥11😁5👍1
Blood happens 😬
😱6👍1
Finite state machine

Увидел в Си-коде перечисление названий состояний комбинационного автомата с суффиксами:

_CONNECTING
_CONNECTED
_DISCONNECTING
_DISCONNECTED
...

Вроде бы ничего удивительного и ..ING обычно не делается за один такт процессора/ПЛИС и должен быть выделен в отдельное состояние, но что-то подумалось, что ни в институте, ни в последующих трудовых буднях никто не учил писать FSM, всё обычно делалось по самоучению: ну вот есть READ, есть WRITE, добавим еще INIT|RESET, ну там еще в мёртвые состояния не попадаем.

Конечно были автоматы Мили и Мура, но, кмк, это больше про имплементацию, а не про доктрину/стайлгайд.

Может попадались кому хороший стайл гайды (неважно Си или РТЛ), где бы такие аспекты тоже затрагивались или может даже отдельные публикации по методологии разработки FSM?

PS: учился по методичкам прошлого века и подзатыльникам коллег той же выдержки. так что периодически, лицезрея код из 2022г, не покидает ощущение, что что-то упускаю 🙈

@embedoka
🤔4👍1🤯1
Clifford Cummings: FSM Design and Synthesis [2019]

▫️ http://www.sunburst-design.com/papers/CummingsSNUG2019SV_FSM1.pdf

77 страниц 😱
🔥5👍1😱1
Инженеры делятся на 2 категории:
1️⃣ хейтеры ардуино/распберри
2️⃣ те, что не "настоящие", а только бейджик "Инженер" в песочнице нашли 😊

Шутки-шутками, но давным-давно для пет-прожектов пытался освоить стм32 "правильным" подходом - ну и конечно забросил это дело, поскольку, работая на уровне регистров, даже просто помигать светодиодиком, когда ты полный нуб - задачка не на один семестр вечер. Тупо не хватило сободного времени и фидбека от железа для поддержания мотивации обучения.

Спустя годы, делая вторую итерацию (теперь уже на ESP32) не стал наступать на прежние грабли - буквально за пару вечеров необходимый функционал BLE был написан и отлажен (на основе примера .ino). Даже перешёл на продвинутый уровень - работа в CLI благодаря такому замечательному проекту как PlatformIO. Доволен как слон 😇

PS: в общем, я вторая категория: те что с бейджиком 🙈

#золотоэлектроникса
@embedoka
👍16🔥6👎1😁1🤬1
FPGA & "Arduino"

И очень здорово, что для FPGA сегодня доступны такие инструменты как Litex, Migen & PlatformIO (+ м.б. даже коммерческие HLS с определённой оговоркой ). Для энтузиастов и прочих желающих вкатиться в ПЛИС это прям священный грааль 🔥

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

Ошибки могут быть где угодно - и в библиотеке HAL, LL, CMSIS и, имхо, тут единственный выход - опенсорс и развитие мощного комьюнити. Ардуино удовлетворяет обоим требованиям. А без библиотек и переиспользования кода сейчас никуда - сложность и степень интеграции микроконтроллерных систем такова, что как на AVR "поморгать светодиодиком" парой строк чистого Си уже не светит , а уж о более сложных вещах и заикаться не стоит 🤷‍♂️

@embedoka
👍9😁1🤔1
😁19🔥2👏2
Собрался было попробовать разрекламированный GitKraken под линукс, но так и не смог приступить к тест-драйву. Любезно предлагают пользоваться функционалом по цене $60/year 😭

Ну, ок. Решения есть конечно, но прежде чем ударяться во все тяжкие решил посмотреть, а что же есть еще - набрёл на GitHub Desktop, ну думаю круто - уж кто-то знает толк в гите, но оказывается есть только версии по Мас и Win - Майкрософт ну как так-то?! 🤷‍♂️

UPD: пока нашёл вот такой клиент, доступный во flatpak: https://murmele.github.io/Gittyup/
А что еще есть под линукс с тёмной темой?
Гитхаб здорового человека

Заметили как интенсивность работы кореллирует с длиной отпуска (хотя при такой интенсивности кажется впору говорить о рехабе 🤔)?
👍4🔥3
🔥40😁11👍42👎1🎉1
🔥13😁9👍2🤯1
Не было у бабы забот, да купила баба порося.
Ну всё, теперь я настоящий DIYщик 😍😍😍

PS: есть ли в телеграм группы по фотополимерным 3D-принтерам (а заодно и по любительским ЧПУ)?
что-то поиском по телеграм не находятся релевантные группы
🤷‍♂️
🎉61👍1🔥1😁1
Кстати, все ли в курсе, что существует замечательная сборка опенсорсных тулов для работы с проектами FPGA/ASIC? Довольно крутая задумка для понижения порога входа в тему 👍🏻

▫️Сборки доступны под Линукс (х86, arm, riscv64 🤯), Винду, Мак.
▫️Последняя сборка - сегодня.

PS: По сути, это респин ныне неподдерживаемого проекта Multi-platform nightly builds of open source FPGA tools, но теперь уже с расширением сферы использования и на ASIC.

@embedoka
🔥102
Как стать плисоводом? Нужно после каждого предложения добавдять "констрейны" и "добавить ILA"

Пример: кофе там был плохой, если бы прописали констрейны и добавили ILA было бы лучше.


PS: мем с подачи @neerps
PPS: даёшь флешмоб: Как стать ардуинщиком?

@embedoka
😁13🔥10
Как стать ардуинщиком? Нужно после каждого предложения добавлять "обнови IDE" и "подёргай за проводочки".

Пример: кофе там был плохой, если бы обновили IDE и подёргали за проводки было бы лучше.

@embedoka
👍11🔥5😢1
Forwarded from Konstantin
как стать PCB developer

Нужно после каждого предолжения добавлять конденсаторы по питанию

Например - констрейны FPGA были плохие, надо добавить конденсаторов по питанию
🔥31👍31
Forwarded from Максим SpaceCowboy
Получается что бы стать разработчиком ASIC нужно добавлять "если бы верификаторы это протестировали"

Кофе там был плохой - если бы верификаторы его протестировали, было бы лучше.
🔥14👍5😁2
😁13🔥71🤯1
Embedded Doka
#пятничное @embedoka
В комментариях был скепсис, что "0 warnings в Vivado" - что-то нереальное. Замечу, что этого всё же можно достичь не вполне законными средствами в случае, если вы понимаете что вы делаете и зачем (т.е. не надо это превращать в самоцель). Писал об этом в блоге еще в далёком 2016г (там же и про способ выключения некоторых DRC-проверок и способ переквалификации типов ворнингов).

Конечно насколько криминал заниматься "очисткой логов" надо рассматривать в каждом конкретном кейсе (grep, sed и раскраску лога как-никак никто не отменял 🤷‍♂️), замечу лишь то, что подобными практиками не брезгуют инженеры Амазона - примеры можете найти на гитхабе (AWS F1).

PS: Не знаю авторства, но обожаю фразу: Если вы спрашиваете стоит ли вам применять ПЛИС в текущем проекте, то ответ: определённо нет (If you don't know what a FPGA is, then you probably shouldn't use it).
Вот с отключением и переквалификацией примерно тоже самое: если сомнения в том, стоит ли это делать, то ответ: определённо не стоит.

@embedoka
👍6🔥1🤯1