Как стать автором
Обновить
-1
0
Mikhail Ukhanov @ukhanov

Пользователь

Отправить сообщение

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2)

Уровень сложностиСложный
Время на прочтение118 мин
Количество просмотров2.2K

Это вторая и заключительная часть большой статьи. Ознакомиться с первой частью можно по ссылке.

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

Продолжить погружение
Всего голосов 24: ↑24 и ↓0+24
Комментарии15

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

Уровень сложностиСложный
Время на прочтение127 мин
Количество просмотров7.4K

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.

Погрузиться сполна
Всего голосов 60: ↑59 и ↓1+58
Комментарии40

Бесплатные курсы для изучения C++ в 2024 году

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров38K


В 2024 году в сети доступно множество бесплатных ресурсов для изучения C++, которые предлагают высокое качество обучения. Поэтому нет необходимости платить за курсы, если вы можете получить все необходимые знания бесплатно.

Учить C++ в 2024 году по бесплатным курсам имеет несколько преимуществ. Вот несколько причин, почему это стоит делать:

1. Популярность языка: C++ является одним из самых популярных языков программирования, который широко используется в различных областях, включая разработку игр, системное программирование и мобильные приложения. Изучение C++ может открыть перед вами множество возможностей в карьере.

2. Высокая производительность: C++ известен своей высокой производительностью и эффективностью. Он позволяет разрабатывать быстрые и оптимизированные приложения, особенно в сферах, где требуется работа с большими объемами данных или высокая скорость выполнения.

3. Множество полезных библиотек: C++ предоставляет широкий набор инструментов и библиотек для разработки приложений.

4. Доступно множество полезных ресурсов: Язык C++ очень популярный, существует множество различных онлайн-ресурсов, форумов и сообществ, где можно получить помощь и поддержку от опытных разработчиков.

Читать
Всего голосов 37: ↑35 и ↓2+33
Комментарии18

Заметка про сохранение структур во flash памяти на STM32

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.6K

При разработке проекта для микроконтроллера часто возникает необходимость сохранения данных во Flash-память перед выключением устройства. Глобальные структуры содержат информацию о настройках различной периферии, данные с внешних датчиков и прочее. В этом посте я хочу показать простенький механизм записи структуры во FLASH память микроконтроллера STM32, которым я сам часто пользуюсь в своих проектах.

Читать далее
Всего голосов 23: ↑21 и ↓2+19
Комментарии18

Что нового в IMSProg?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.7K

Пару месяцев назад я писал историю создания программатора микросхем CH341a для Linux систем. Благодаря вашим отзывам и комментариям программа изменилась, надеюсь в лучшую сторону.

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии0

Знакомимся с Artery. AT-START-F423 – пробуем и подключаем дальномер AJ-SR04M

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.6K

Микросхемы микроконтроллеров от Artery выглядят достаточно интересным вариантом замещения STM. Больше всего подкупают своей доступностью для заказа. Отладок много, собраны качественно, шелкография качественная(по крайней мере на тех, которые я видел и держал в руках). Посмотрим, что производитель предлагает по поддержке со стороны программного обеспечения и IDE

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Загружаем OpenIPC по сети на камеру без удаления заводской прошивки

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров14K


Многие уже слышали о проекте OpenIPC, который представляет собой альтернативную универсальную прошивку для камер видеонаблюдения. Сегодняшний пост для тех, кто хочет попробовать этот софт, кто дружит с Linux, но далёк от программатора, паяльника, фена и многих подобных вещей, которые, как правило, сопровождают смену прошивки и путь обратно к заводской. Ведь многие боятся, что залив новую прошивку, она не заработает, а дороги к родной уже не будет. И эти опасения вполне оправданы, потому как на большинстве плат производители всеми средствами ограничивают возможности создания бэкапов. С каждой новой версией это становится сделать всё сложнее. Ещё такой вариант загрузки будет удобен администраторам, кому требуется обслуживать огромное количество одинаковых камер, ведь одно изменение в директории обновит сразу все камеры.

Из дополнительных железок нам понадобится мультиметр, USB UART-адаптер на 3.3 вольта и dupont-проводки от макетной платы, чтобы подключиться к камере. Сегодня будем настраивать загрузку OpenIPC на камере с сервера вместо классической загрузки с микросхемы флэш-памяти. Если понравится, можно даже оставить работать камеру таким образом навсегда.

Особенно такой вариант будет удобен тем, кто разрабатывает программы для камеры, и нужно быстрым и удобным способом подкидывать в систему программы, модули ядра, менять ядро и саму корневую файловую систему. А также тем, кто использует камеру как одноплатный компьютер вместо плодово-ягодных плат.
Дальше о том, как заставить загружаться камеры с сервера по сети
Всего голосов 60: ↑60 и ↓0+60
Комментарии7

Как установить GOWIN EDA для запуска примеров Школы Синтеза

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.1K

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

Чтобы справиться с данной проблемой, группа энтузиастов, под руководством Юрия Панчула, добавила поддержку множества плат и нескольких toolchain’ов от различных производителей FPGA.

В данном туториале, посвященном работе с FPGA от компании Gowin, я расскажу про то, как установить GOWIN EDA, о доступных платах и перефирии к ним и про работу со скриптами сборки примеров.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии9

Биномиальный тест

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров3.6K

Вы когда-нибудь задавались вопросом, как узнать, насколько хорошо работает ваша рекламная кампания, ваш новый продукт или ваша стратегия игры? Например, если вы запустили рекламу на сайте и хотите узнать, увеличилась ли конверсия клиентов после этого. Или если вы выпустили новый вкус чипсов и хотите узнать, нравится ли он покупателям больше, чем старый. Или если вы играете в монетку и хотите узнать, не жульничает ли ваш соперник, подбрасывая монету с двумя орлами. Для всех этих ситуаций вам может пригодиться биномиальный тест!

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Немного о времени

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров14K

Title: The Time

Abstract: Some thoughts about The Time

«И колёса Времени
Стачивались в трении
(Всё на свете портится от трения),
И тогда обиделось Время —
И застыли маятники Времени.»

В.С. Высоцкий

Ход времени нельзя повернуть назад.

Время своими свойствами резко отличается от трех других пространственных компонент в пространственно‑временном континууме.

Время может замедлиться или ускориться, что доказывается экспериментальными данными.

Такие вот случайно выхваченные из разных теорий его свойства. Иакое вот оно — это обидчивое время. Но дальше‑больше.

«На границе наблюдаемой Вселенной происходит нечто»,‑ считает Кэти Мак, астрофизик из Института теоретической физики Периметра в Канаде. «Вселенная расширяется после Большого взрыва, и это расширение растягивает время.

Читать далее
Всего голосов 14: ↑11 и ↓3+8
Комментарии43

Пишем Python-макрос для FreeCAD

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.9K

В этой статье мы напишем макрос для FreeCAD, который из N+1 цилиндров создаёт симметричный барабан с N отверстиями, разберемся с азами модуля FreeCAD в Python, а ещё изучим теорию сдвига и вращения фигур в пространстве.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии10

Использование скрытого потенциала: как я активировал Intel AMT на мини-ПК от HP и получил удаленный доступ

Время на прочтение14 мин
Количество просмотров28K

Эксплуатируем аппаратную закладку от Intel на полную! В статье пойдет речь о том, как разблокировать функционал удаленного администрирования, залоченный производителем.

Читать далее
Всего голосов 88: ↑88 и ↓0+88
Комментарии25

Стартуем на ПЛИС, но сначала припаяем его с конструктором беспилотного автомобиля Zoox

Время на прочтение13 мин
Количество просмотров15K

Однажды мне не спалось ночью и я залип на сайтах про паяльники. Возникло желание купить и сразу появились вопросы: на сколько ватт? Не больше 30? А почему большинство на 60-80 ватт? 60/40 олово свинец? А почему куча паяльных станций идут в комплекте с lead-free проводами припоя? Канифоль сейчас внутри проводов? А почему есть и провода припоя без канифоли? Бронзовую мочалку для очистки? А почему столько комплектов с и белой и бронзовой?

Вспомнил и повод, чтобы научиться паять. Когда-то Руслан Тихонов, руководитель кружка из Москвы, говорил мне что хочет сделать простые упражнения на платах ПЛИС для школьников. Как часть триады "микросхемы малой степени интеграции - ПЛИС - Ардуино". По этому поводу я купил самую дешевую плату с CPLD Altera MAX II (ныне это Intel FPGA), но обнаружил что у нее не припаян переходник.

Я выставил вопросы по паяльники на фейсбук и после оживленной дискуссии мой приятель Денис Никитин вызвался научить меня паять как полагается. Денис работает проектировщиком печатных плат в компании Zoox, ныне часть компании Amazon. Zoox делает беспилотные автомобили, то есть Денис на передовом рубеже паятельного прогресса. Я заснял мастер-класс от Дениса на видео:

Читать далее
Всего голосов 38: ↑35 и ↓3+32
Комментарии50

Aspia — бесплатная программа для удаленного управления ПК

Время на прочтение10 мин
Количество просмотров48K

Aspia - это OpenSource приложение под лицензией GPL-3.0 для удаленного управления компьютерами внутри локальной сети и за её пределами благодаря реализации ID сервера для обхода NAT.

Не нашел на хабре актуальной информации об этом бесплатном аналоге таких программ как TeamViewer, Radmin, AmmyAdmin, AnyDesk, а та информация какая есть - уже не является актуальной, поэтому попробую восполнить данную пустоту.

В своей публикации, я бы хотел поделиться с вами информацией о возможностях Aspia, общей структуре работы, а так же затронуть вопросы установки и настройки.

Читать далее
Всего голосов 46: ↑45 и ↓1+44
Комментарии64

TeamViewer из подручных материалов

Время на прочтение3 мин
Количество просмотров24K

Всем привет!

Сегодня хочу рассказать о двух случайно обнаруженных “фичах” известных протоколов, которые позволили сложиться “пазлу” из темы статьи.

И так, у сотрудника техподдержки есть необходимость подключаться к рабочему столу пользователя, что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее, например VNC.Тут же “выплывают” проблемы.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии56

ТОП социальных сетей для ученых

Время на прочтение3 мин
Количество просмотров9.2K

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

Для России такой соц. сетью определенно является Хабр. К мировым гигантам определенно относится ResearchGate. Однако эти площадки не единственные.

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

Читать далее
Всего голосов 22: ↑17 и ↓5+12
Комментарии3

WebODM: Создаем карты и 3d модели с дрона

Время на прочтение5 мин
Количество просмотров11K

Развитие программного обеспечения с открытым исходным кодом, снижает барьер входа в нишевые технологии. Ранее подобные технологии были широко распространены в рамках геодезии, однако сейчас фотограмметрия используется в разработке игр, VR/AR, или для сохранения исторических памятников культурного наследия.

В данной статье, мы рассмотрим процесс установки и эксплуатации WEBODM - бесплатного, кросс-платформенного программного обеспечения для создания карт, и 3D-моделей из аэрофотоснимков.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии12

Удалённый мониторинг датчиков: разные типы связи в зависимости от расстояния

Время на прочтение19 мин
Количество просмотров9.8K
image
Картинка Wallpapersafari

С каждым днём количество подключённых к интернету устройств только увеличивается, благодаря чему даже появился термин «интернет вещей». Однако, для того чтобы все эти разрозненные системы могли пересылать телеметрию различного рода или быть дистанционно управляемыми, требуется некий объединяющий элемент, в роли которого выступает связь. Именно об этом мы и поговорим в этой статье.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии3

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Время на прочтение1 мин
Количество просмотров41K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее
Всего голосов 190: ↑189 и ↓1+188
Комментарии37

OSINT по спутниковым изображениям

Время на прочтение3 мин
Количество просмотров40K
image

Мы живем в такое время, когда снимок со спутника можно получить в один клик. В оптическом, в инфракрасном и в радиодиапазоне. А еще историю изменений в определенной координате за несколько лет.

Зеленый Кот нашел разбившуюся советскую исследовательскую станцию «Марс-3» по снимкам со спутника, тысячи экологов следят за лесами Амазонки и состоянием береговой линии, школьники делают учебные проекты по слежке за популяцией моржей, репортеры проводят расследования, освобождают рабов, мониторят лагеря беженцев.

Предлагаю вам подборку бесплатных ресурсов и проектов со спутниковыми данными, программами обработки этих данных и полезные статьи.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Протвино (Московская обл.), Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность