Как стать автором
Обновить
39.27

FPGA *

Программируемые логические интегральные схемы

Сначала показывать
Порог рейтинга
Уровень сложности

Оцифровка звука FPGA платой MCY316

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 881
image

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

В этой статье я расскажу о захвате звукового сигнала платой FPGA MCY316. Захват сигнала это только первый этап перед обработкой. Получим сигнал и передадим эти данные в ПК. Если всё получится, то в следующих работах добавим в ПЛИС цифровой фильтр
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 1

Новости

Первое занятие Школы Синтеза и удар в спину от Ubuntu

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

В субботу прошло первое занятие Школы Синтеза Цифровых Схем. Записалось 650 человек в 15 городах России и Беларуси, пришли 400 (250 офлайн и 150 онлайн). Российский флаг на мониторе нарисован комбинационной логикой FPGA (первое что пришло в голову рисовать студентам сразу в двух кластерах). Вообще обычно на первом занятии мигают светодиодами, но мы решили пойти дальше и показали им как рисовать картинки. Для этого два счетчика формируют X и Y, а задача студента - реализовать функцию RGB (X, Y).

Из-за наличия зоопарка плат, версий Windows и Linux, а также EDA софтвера, глючных программаторов, и при этом свежих и недотестированных bash-скриптов, возникла ситуация полного ада, особенно у онлайн-пользователей (преподаватели на местах героически справлялись). Возникла ошибка, которая меня реально удивила. И не только меня:

Читать далее
Всего голосов 74: ↑54 и ↓20 +34
Комментарии 51

Британская фобия embarrassment-а и российская движуха портабильных примеров на ПЛИС

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

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

В глубине души британцы завидуют русским, которые "able to cope with difficulties". И вот вам свежий пример: когда выяснилось, что на более чем 300 заявок (UPD: сейчас уже больше 600) на Школу Синтеза Цифровых схем в 15 российских кластерах (UPD: уже 19, из них один белорусский) не хватает FPGA плат, группа волонтеров реализовала возможность легкого портирования учебных примеров на зоопарк из более чем 20 типов плат от Intel FPGA, GoWin и Xilinx, с идеей расшириться до 50 типов, с креативным добавлением недорогих внешних устройств.

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

Обучение больших нейронных сетей на ПЛИС: утопия или…

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

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

Пока не предложил!
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 22

Истории

Разбор работы FIFO на микроархитектурном тренажере

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

FIFO – ключевая концепция в хардварном дизайне. Понимание работы FIFO необходимо, в частности, для понимания протокола valid/ready, который в свою очередь необходим для организации flow-control как внутри цифровых блоков так и на межблочном уровне.

К сожалению по данной тематике очень мало литературы. Да и что говорить, микроархитектурные концепции достаточно сложно освоить по книгам. Понимание данных концепций это по сути выработка хардварной интуиции приходящая с практикой.

Микроархитектурный тренажер дает возможность «прощупать» хардварные сценарии в пошаговом (интерактивном) режиме, предоставляя детальную визуализацию цифровой логики.

Поскольку тренажер является "фронтендом" для HDL симулятора то на самом симуляторе исполняется реальный, синтезируемый SystemVerilog который можно посмотреть и даже поменять его функциональность.

Смотреть видео и читать дальше
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 15

Видеокарта VGA для микроконтроллера

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 8.8K
Туториал
image

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

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →
Всего голосов 69: ↑68 и ↓1 +67
Комментарии 67

Построение матрицы перехода для генератора псевдослучайной последовательности (PRBS)

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

Введение

В этой статье я хочу рассказать, как построить матрицу перехода для генератора псевдослучайной последовательности (PRBS - pseudorandom binary sequence). Данная задача особенно актуальная для реализации генератора на ПЛИС, где требуется за минимальное время (один такт) рассчитать как можно больше значений. Также данный метод позволит сократить время перехода на нужное состояние генератора в случае, если расчет производится на процессоре (микроконтроллере).

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

Об особенностях электротехнических (и не только) сообществ: вредные советы

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

Несмотря на то, что предпосылки к отставанию закона Мура от экспоненты обсуждаются ещё с 90‑х, сам закон, с рядом оговорок, справедлив и в наши дни. Это приводит к тому, что если человек поступил в университет в 2010 году, то первые микроконтроллеры STM32F1, выпущенные в середине 2007 года, имели заметные шансы не попасть в его учебные курсы. Как, впрочем, и памяти DDR3 (стандарт также вышел в середине 2007‑го). В момент же получения человеком диплома в 2015‑ом, стандарту DDR4 исполнилось бы три года, STMicroelectronics только что выпустила бы серию STM32F7 со встроенным графическим модулем, а сами STM32 уже два года как имели возможность программироваться при помощи MATLAB и Simulink, минуя код на Си (если верить рекламе).

Подобное положение вынуждает динамично актуализировать знания.

Академические курсы не всегда успевают за прогрессом. А их первоисточник — техническая документация — бывает крайне обширна. Например, базовая документация на микроконтроллеры STM32F103xB насчитывает 1252 страницы. Помимо неё имеются ещё 54 документа типа application note и десятка полтора документов других типов. Поэтому достаточно востребованным источником знаний оказываются профильные сообщества.

Для эффективного получения знаний в подобных сообществах проблема должна быть сформулирована максимально качественно. Ещё в 2001 году появилось (и было переведено на множество языков) фундаментальное руководство «Как правильно задавать вопросы на технических форумах». Представляется, что тезисы данного руководства во многом универсальны и актуальны как для сообществ программистов, так и для сообществ электронщиков, туристов, кулинаров или художников. Однако столь же универсален феномен, когда ответ на сформулированный в соответствии с духом этого руководства вопрос, оказывается не ответом по существу, а чем‑то «идентичным натуральному ответу по существу». Об этом феномене и пойдёт речь в настоящей статье.

Заглянуть сразу в ответы
Всего голосов 49: ↑44 и ↓5 +39
Комментарии 60

Назвался груздем — полезай в кузов (задали вопрос о входе в Design Verification процессоров и сетевых чипов)

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

Сегодня в некоторой русско-американской группе по QA (я не даю ссылку потому что она закрытая, хотя и многочисленная) некий молодой человек задал вопроc как войти в Quality Assurance Automation. Я сказал, что могу показать путь в Design Verification, который является фактически специализированным QA в области проверки функциональности цифровых аппаратных блоков, спроектированных с помощью синтеза из кода на языке описания аппаратуры SystemVerilog (я их собственно и проектирую). Так как получить ответ захотело еще человек десять, я понял, что нужно писать пост. К счастью, я об этом писал более 10 лет, так что можно делать выжимки из предыдущих постов.

Карьера Design Verification Engineer с писанием сред тестирования на SystemVerilog может понравится опытным программистам, которые хотят сменить карьеру с например писания программ на Джаве. В SystemVerilog есть элементы объектно-ориентированного и симулированно-многопоточного программирования. Суть деятельности заключается в создание фреймворков, которые тестируют хардверные дизайны на прочность, бомбардируя их превдослучайными транзакциями и учитывая покрытие интересных сценариев (functional coverage).

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

В России не любят Линукс, а я не люблю виртуальные машины. Что делать?

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

В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать, даже если Линукс насаждают преподаватели или госзаказчики. Но есть область, в которой Линукс придется полюбить. Это разработка микросхем. Даже внутри Apple и Microsoft инженеры используют Synopsys Design Compiler / IC Compiler и Cadence Genus / Innovus, у которых вообще нет версий для Windows и MacOS, только для Linux. Да, я знаю, что Synopsys и Cadence ушли из России. Но даже открытые тулы для синтеза ASIC - Open Lane - есть только под Linux.

Я уже несколько лет использую для семинаров по FPGA загружаемые через USB SSD диски, на который ставится весь необходимый софтвер. Такое решение позволяет избежать агонии первого дня семинара, когда приходит куча народу со своими ноутбуками, три часа ставят Quartus, а потом мучаются с драйверами USB Blaster для китайского контрафактного клона, который без танцев с бубном не хотят поддерживать не Win10, ни Linux, ни особенно Win11, который хочет подписанные драйверы.

А как же виртуальные машины? - спросите вы. С моей точки зрения они вносят дополнительный уровень танцев с бубном. И это не мое дремучее мнение - так же считает мой приятель, который работал над виртуализацией в Микрософте. То оно USB порт не пробивает, то еще какие-нибудь глюки. Плюс учить дополнительные опции, качать и копировать файлы в десятки гигабайт. А тут вставил в USB порт, и если загрузится, то заработает.

Конечно, загружаемые SSD тоже не без проблем: тут и Legacy BIOS boot против UEFI boot, и Secure Boot с Bit Locker, и зловещий "хвост GPT", и отрубание всего из-за скачка напряжения в USB хабе - но с этими проблемами мы методично разобрались. Решение я и описываю в этой заметке, предназначенной в первую очередь для учеников и руководителей кластеров в Школе Синтеза Цифровых Схем, которая начинается с сентября в 14 российских городах (объявления и точных дат еще нет, но уже записалось 200 учеников).

Прежде всего: как выглядит загружаемый SSD? А вот так:

Читать далее
Всего голосов 58: ↑51 и ↓7 +44
Комментарии 161

Создаем I2C Master Controller на Verilog. Логический уровень

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 4.8K
Туториал
Создаем I2C Master Controller на Verilog. Логический уровень

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

Делаю я это для того, чтобы изучить то, как функционирует этот интерфейс на всех уровнях и чтобы заложить основу для разработки I2C Master Controller на Verilog, с помощью которого будет будет организован обмен данными с дисплеем SSD1306 и Zynq.

Всем, кому интересно — приглашаю ознакомиться с материалом под катом! =)

image
Читать дальше →
Всего голосов 60: ↑59 и ↓1 +58
Комментарии 11

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 4.5K
Туториал
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь через от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

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

Hello World на регистрах в ПЛИС — мигаем светодиодом без регистрации, SMS и HDL

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

Воспользуемся одним лишь схемным редактором. Ну и ещё tcl-скриптом. И программатором. И немножко осциллографом...

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

Ближайшие события

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business&IT Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Питч-сессия pravo (tech) impulse
Дата 19 октября
Время 15:45 – 17:30
Место Москва
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн
Онлайн IT HR-конференция HR42
Дата 17 – 18 ноября
Время 10:00 – 14:00
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн

Обзор отладочной платы Altera Cyclone IV OMDAZZ

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 3.2K
Обзор

Я решил в этом сезоне закончить обзоры разнообразных плат с ПЛИС и переключиться на действительно сложные (для меня) технические задачи. И последний свой обзор в этом сезоне я решил посвятить плате с Altera Cyclone IV на плате от OMDAZZ, которой со мной любезно поделилась компания из Питера - “РСВ Электроникс” в которой я рассматриваю возможность пройти обучение основам Verilog и обобщить свои знания по цифровой схемотехнике, получить практические навыки, которые помогут мне решать новые для себя задачи, а затем писать для вас разные крутые статьи! 🙂

Обзор будет не самый обычный - я еще попутно расскажу о том, как с использованием этой платы и при помощи наставников из РСВ Электроникс я буду повышать свой скилл по работе с FPGA с около нулевого до достаточно уверенного junior-уровня. Не всё же просто обзоры делать с мигалками. Пора двигаться дальше! :) 

Всем кого заинтересовала данная тема - прошу проследовать за мной (под кат)! 

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Комментарии 7

Hello World на Tang Primer 20K под Linux

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 4.5K
Обзор
После обзора на Tang Primer 20K — стало очевидно, что она вызывает немалый интерес и было решено немедля сделать разбор о том, каким образом можно настроить свой ПК и IDE для того чтобы начать взаимодействовать с отладочной платой, которую я рассмотрел в прошлой статье. Изначально, до момента пока я не познакомился сам лично с ПЛИС от Gowin и не запустил демо-проект — юзабельность, скорость и простота работы с их IDE вызывала сомнение. Но как только попробовал — все опасения были развеяны и я остался доволен.

Опытом настройки я с вами хотел бы поделиться в этой статье. Всех интересующихся — я по традиции приглашаю под кат!

image
Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Комментарии 14

Алгоритмы на FPGA: Алгоритм Луна

Уровень сложности Простой
Время на прочтение 19 мин
Количество просмотров 4.4K
Туториал

ПЛИС-культ привет, хабрунити!

Задумывались ли вы когда-нибудь над тем, что может быть общего у банковской карточки, IMEI телефона и вагона РЖД? В этой статье вы найдете ответ на этот вопрос и увидите его реализацию для ПЛИС.

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

Обзор платы Tang Primer 20K на Gowin GW2A-LV18

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 7.3K
Обзор
После получения большого количества отзывов и комментариев на обзор платы на Cyclone IV из части из них четко прослеживались мысль: “А почему Cyclone IV, это же старый хлам!”. В ответ на это я решил сделать обзор на что-нибудь современное, функциональное и очень недорогое. И такой вариант нашелся — это отладочная плата Tang Primer 20K на ПЛИС от небезызвестной компании Gowin. На неё я и сделаю обзор в этой статье и расскажу про примеры проектов, доступных для этой платы.

Кого заинтересовала тема — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 63: ↑63 и ↓0 +63
Комментарии 39

Автоматическая сборка схемы в Simulink

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.4K
Туториал

Схема на картинке содержит в себе повторяющиеся части. Если их количество постоянно меняется в ходе разработки, то было бы неплохо, если бы всё это собиралось автоматически, правда? Как это реализовать читайте в данной статье :)

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

Altera Quartus Prime и ModelSim под Linux. Вводное руководство

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 4.5K
Туториал
В очередной раз, начав изучать что-то новое для себя, я столкнулся с типичной для меня проблемой: нет нигде быстро гуглящегося how-to и step-by-step руководства по быстрому созданию какой-либо простой конструкции на Verilog и описания способа эту конструкцию быстро симулировать без необходимости запуска кода в железе для проверки конечного результата. Я надеялся очень быстро найти готовый материал о том, как под Altera Quartus 20.1 и ModelSim 2020.1 под Linux всё по-быстрому сделать и идти дальше. В итоге не найдя ничего системно и последовательно описанного в одном месте я традиционно разобрался самостоятельно и решил это исправить своей очередной статьей на Хабре. 

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

image
Читать дальше →
Всего голосов 43: ↑42 и ↓1 +41
Комментарии 3

Обзор отладочной платы Altera Cyclone IV EP4CE6

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 6.6K
Обзор
Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3’’ LCD дисплей и камеру.

Посмотрев детально документацию и характеристики модулей — я особо не раздумывая решил ее заказать. После получения ее с пункта выдачи — я был в восторге и твердо для себя решил — нужно поделиться своей радостью со всеми интересующимися, сделав обзор этой отладочной платы со всеми ссылками и картинками. Поехали!
image
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 16

Вклад авторов