Все потоки
Поиск
Написать публикацию
Обновить
38.37

FPGA *

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

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

SEC-Сумматор с SIPOPISO на ∀ количество бит

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

Пока одни пытаются учить других как надо что-то там делать на ПЛИСах, я продолжаю постигать дзен в имплементации никому ненужных идей не несущих какой-либо практической ценности. Я уже делал и сумматор с одним уровнем логики, и рисовал картины-на-кристалле виваде, и делал ненормальное проектирование в вивадском ECO флоу (txtвидео), и даже делал Трахтенберга на ПЛИСах.

Сегодня мы продолжим путь издевательства над нашей дорогой областью программируемой логики и попробуем што-то новенькое: а именно мы перевернем типичную фразу "Да у нас в плис все параллельно" и сделаем последовательный сумматор на одном Full Adder, но который может складывать числа любой положительной разрядности ну на оооочень высокой тактовой частоте доступной простой смертной логике.

Читать далее

Стереокамера машинного зрения c поддержкой ИИ на базе FPGA и Arduino Portenta H7

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

В статье рассмотрен процесс проектирования модуля стереокамеры на базе двух монохромных сенсоров MT9V034. Для управления матрицами и сшивания картинки с двух видеопотоков используется FPGA Gowin GW2AR. Использование FPGA и сенсоров с глобальным затвором позволило точно синхронизировать время экспозиции, таким образом сшитое изображение содержит два кадра, которые снимают объект в одно и то же время с наносекундной точностью. Модуль подключается в качестве «шилда» к промышленной отладочной плате Arduino Portenta H7. Комбинированный видеопоток обрабатывается библиотекой машинного зрения OpenMV на Arduino. Разработка проекта ведется в специализированной IDE от OpenMV на MicroPython, что позволяет быстро прототипировать устройства с использованием алгоритмов машинного зрения. После отладки камера работает автономно, весь код исполняется микроконтроллером на Arduino. В библиотеке OpenMV реализовано большое количество функций обработки изображений, от базовых преобразований и фильтров, до машинного обучения. Поддержка TensorFlow Lite позволяет обнаруживать объекты на стереопаре, сопоставлять их и рассчитывать расстояние до этих объектов. Так же в библиотеке реализованы функции построения карты глубин, что позволяет использовать разработанную камеру для реализации алгоритмов автономной навигации.  

Читать далее

Введение в ПЛИС: 1. Что такое ПЛИС

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

Первая глава из цикла "Введение в ПЛИС". В ней мы попытаемся разобраться в том, что вообще из себя представляют программируемые логические интегральные схемы, какие бывают типы, вспомним историю развития ПЛИС. Также попробуем понять, чем они отличаются от других интегральных схем, в чем преимущества и недостатки. Обсудим в общих чертах, как с ними работать, кто является основными игроками на рынке программируемой логики. Данная статья носит обзорный характер и не требует специфических знаний.

Читать далее

Знакомство с AI, собеседование и основы DSP

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

Пару месяцев назад я проходил собеседование, где требовался некоторый опыт в DSP, и на вопрос, является ли CIC фильтр БИХ или КИХ, я ответил, что КИХ, на что мне ответили, что раз там в структуре рекурсия, то он именно БИХ. Я несколько удивился, но понял ход рассуждений собеседующего и в принципе согласился с таким подходом. Мой давний опыт с CIC фильтрами касался программирования DDC GrayChip и Analog Devices и моделирования трактов SDR на С и в Octave, при этом в качестве имплементации CIC для моделей я использовал всем хорошо известную функцию скользящего прямоугольного окна.

Читая Хабр и отмечая постоянный рост сообщений об успехах AI - и микросхемы он разрабатывает, и программы пишет, и даже угрожает Stack Overflow, решил, что пора познакомиться c этой технологией в каким-нибудь проявлении.

Установив в Chrome Merlin, спросил его как сделать эхолот для рыбалки, какие датчики можно для него купить, какой многоканальный быстродействующий АЦП можно купить на Али для RaspberyPI и как посчитать ширину диаграммы направленности антенной решётки из 8 элементов. В целом я не узнал ничего нового, кроме предупреждения, что с АЦП могут быть проблемы подключения по SPI по быстродействию, зато этот бот одобрил применение режима DMA для ввода данных. Ну и программу для расчёта ДН на С мне показали достаточно правдоподобную. Ссылок на товары на Али я не получил, но получил набор фраз для поиска. В общем, несмотря на периодические упоминания сложности обсуждаемых вопросов и потенциальной нехватки квалификации у вопрошающего, общение было если и не очень плодотворным, но вполне профессиональным и дружелюбным.

Читать далее

О мостиковых схемах и асинхронной логике

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

Александр Кушнеров
10.01.2025

 Аннотация – Дизайн замкнутых комбинационных схем основан на законах поглощения конъюнкций и дизъюнкций. Если в такой схеме используется только один выход, то её транзисторная реализация будет избыточной, а граф этой реализации будет содержать ложные циклы. Значения на выходах комбинационной схемы, в том числе и замкнутой, можно считать правильными лишь через какое-то время, необходимое для завершения всех переходных процессов. В статье показано как дополнить замкнутую схему индикатором завершения переходных процессов, т.е. сделать её асинхронной.

1. Введение

Замыкание выхода комбинационной схемы на один или несколько её входов может дать новую комбинационную схему. Поскольку данные обрабатываются от входов к выходам, обратную связь можно представить как направленную петлю на графе. С другой стороны, графы, которые задают контактные мостиковые схемы, содержат не направленные петли (циклы). Именно из-за петель такие схемы часто являются минимальными. Преобразование графа мостиковой схемы в последовательно-параллельный соответствует схеме на логических элементах. Это преобразование размыкает все петли и называется декомпозиция в базисе И/ИЛИ. Мы будем рассматривать декомпозицию, которая даёт минимальное количество логических элементов. Чтобы корректно замкнуть полученные схемы нужно выполнить определённые условия. В качестве этих условий мы используем известную замкнутую схему.

В инженерной практике релейно-контактные мостиковые схемы начали использоваться по крайней мере со второй половины 1890-х годов [1]. Однако, привлечение булевой алгебры для их анализа и синтеза состоялось лишь во второй половине 1930-х годов [2]. Рассмотрим простейшую мостиковую схему из пяти замыкающих ключей (контактов), назовём её K5. Каждый ключ в этой схеме управляется своей переменной. Присвоить переменные можно например так, как показано в Табл. 1. Последовательное соединение ключей записывается как произведение переменных, а параллельное – как сумма. Таким образом, чтобы записать булеву функцию схемы в дизъюнктивной нормальной форме (ДНФ), нужно найти все возможные пути от входа к выходу.

Читать далее

Chisel вместо Verilog, искажение тактового дерева и прототипирование ASIC: прокачиваем FPGA-скилы новыми темами

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

Осенью мы в YADRO совместно с сообществом FPGA Systems собрали FPGA-энтузиастов сразу в двух городах — Москве и Санкт-Петербурге. Получилось почти 12 часов докладов — по проектированию на FPGA и ASIC, альтернативным HDL, запуску GPU AMD на ПЛИС с RISC-V, искажению времени и другим фантастическим явлениям темам. Самые полезные, по мнению зрителей, — в этом посте.

Читать далее

Хотите перейти из FPGA в ASIC design? Вот упражнение для разминки. И сомбреро в подарок

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

Уже пара тысяч человек успели поработать с упражнениями по SystemVerilog и FPGA из репозитория BGM - basics-graphics-music. Они используются в Школе Синтеза Цифровых Схем в России и Беларуси, а также на Verilog Meetup в Silicon Valley, а предыдущие версии использовались на семинарах в Украине, Казахстане, Киргизии, Грузии, Армении и Азербайджане.

Прошлым летом мы перенесли два упражнения из BGM и одно упражнение из systemverilog-homework в инфраструктуру Tiny Tapeout для проектирования ASIC. Tiny Tapeout - это компания, которая работает с eFabless и фабрикой Skywater и позволяет студентам и любителям сделать собственные микросхемы за карманные деньги.

И вот сейчас хотелось бы интегрировать BGM и Tiny Tapeout всерьез, для планируемого семинара в Мексике. Идея простая: группа из 30 студентов упражняется неделю на верилоге на платах Tang Nano 9K с графическими экранчиками и интерфейсными модулями TM1638. А потом их дизайны переносятся в репозитории на основе варианта темплейта от Tiny Tapeout - и мы вместе оформляем заказ на производство чипа на фабрике.

А какое участие я хочу от вас? А вот какое:

Читать далее

К звёздам на отечественной БИС 1537ХМ2: смотрим на модуль интегрированной инерциально-астроспутниковой системы

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


Здравствуйте уважаемые друзья!

Мне всегда была интересна отечественная вычислительная техника. А уж когда дело коснулось звездной навигации, то я не смог остаться равнодушным. Следует заметить, что приведенные в репортаже снимки не являются тайной и астронавигационный прибор выставлен на всеобщее обозрение в музее «Космос», находящемся на ВДНХ.

Под катом — фото и видео отечественной, большой интегральной схемы, «Генератора равновероятной случайной последовательности» и ряд электронных компонентов, которые удалось идентифицировать.

Кому не безразличны отечественные разработки, добро пожаловать!
Читать дальше →

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

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

Всем привет! Меня зовут Дарья Ильянова, и сегодня я хочу поделиться с вами опытом создания гетерогенной вычислительной системы для нейросетей, над которой мы работали в команде студентов Инженерно-математической школы НИУ ВШЭ и VK. Вместе с Филиппом Баулиным и Артемом Минеевым мы спроектировали прототип аппаратно-программного ускорителя для машинного обучения.

Читать далее

Использование Cortex-M3 hard core processor в ПЛИС GOWIN

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

В статье описывается опыт использования ARM ядра, встроенного в ПЛИС GOWIN GW1NSR-4C, в качестве процессора общего назначения для формирования PSK31 сигнала. Сигнал формируется с помощью генератора синуса, который был описан в предыдущей статье. Используются отладочная плата LilyGO T-FPGA, в составе которой ПЛИС GW1NSR-LV4CQN48PC6/I5, ЦАП на основе DAC904, ide GOWIN FPGA Designer и образовательная версия GMD.

Читать далее

Генератор синуса и коротковолновый радиопередатчик

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

В этой статье описан способ генерации синусоидального сигнала на ПЛИС через использование ROM памяти и реальный пример практического применения этого генератора для коротковолнового радиопередатчика RTTY (Radioteletype. - прим. Ред.). Будет описан способ передачи значения частоты из микроконтроллера в ПЛИС через SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI - прим. Ред.). Используются отладочная плата LilyGO T-FPGA, в составе которой ПЛИС GW1NSR-LV4CQN48PC6/I5 и микроконтроллер ESP32-S3, ЦАП на основе DAC904, ide GOWIN FPGA Designer, Visual Studio Code с расширением PlatformIO и matlab 2020.

Читать далее

Метод «Безумного Макса» для тренировки проектировщиков кастомных вычисляющих структур

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

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

Как натренировать такое умение? Для новых домашних работ в программе Школы Синтеза Цифровых Схем мы решили разодрать на блоки реальный процессор и дать студентам задачу собирать разные специализированные вычислительные устройства из этих блоков, примерно как герои фильма "Безумный Макс: Дорога ярости" собирали свои боевые драндулеты из частей реальных автомобилей.

В качестве первой жертвы мы выбрали ...

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: загружаем платформу и верифицируем проект

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

Здравствуй, Хабр! На связи вновь Павел Панкратов — ведущий инженер-программист дивизиона искусственного интеллекта YADRO. Мы добрались до финала моего повествования о параллельном запуске двух операционных систем на FPGA с процессорной подсистемой.

В этой статье мы запустим подготовленный проект и верифицируем его. А в качестве бонуса посмотрим на один из способов разработки ПО под Soft-CPU, минуя IDE Vitis. Плюс загрузим ОС Soft-CPU с помощью QEMU.

Читать далее

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

Сдвиговый регистр или то, о чём не расскажут в статьях для начинающих :: атрибуты синтеза

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

Сдвиговыйрегистр — это одна из наиболее часто применяемых конструкций в проектах на ПЛИС. Сегодня мы уделим внимание тому, как можно и нужно писать VHDL и Verilog код для сдвиговых регистров, но при этом, чтобы синтезатор понял, что мы хотим реализовать сдвиговый регистр из нескольких триггеров или же задействовать для его реализации специальные ресурсы, такие как SRL регистры.

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

read_enable: in std_logic;

Проектирование RTL на SCALA, схемотехника в российских САПР и верификация RISC-V: 8 докладов заключительной FPGA Systems

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

Если вы хотя бы раз слушали доклады FPGA Systems, вы знаете, что это настоящий интенсив с новыми знаниями по FPGA-разработке и не только. Заключительная конференция сообщества в этом году, организованная с YADRO, — не исключение. 30 ноября, в субботу, вас ждет восемь докладов от инженеров из МИЭТ, БЮРО 1440, ЭРЕМЕКС, YADRO. От новостей китайских ПЛИС (BMTI) — докладчик недавно посетил их производство — до разбора кейсов. Например, как запустить видеокарту AMD на ПЛИС с RISC-V. 

Места на офлайн-формат уже разобрали, но онлайн-трансляция доступна всем. Изучайте программу и подключайтесь к интересному именно вам докладу. И обязательно регистрируйтесь — так вы получите ссылку на трансляцию и ее запись после митапа. 

Читать далее

SDR радиоприёмник в FPGA плате Марсоход3GW2 (Gowin)

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

Когда-то давно, аж 2013-й год, на Хабре была статья "Простой SDR приёмник на ПЛИС" автора @iliasam. Я попытаюсь повторить этот проект на другой элементной базе: FPGA плата Марсоход3GW2, микросхема Gowin GW1NR-LV9QN88PC6/I5.

Законы Цифровой Обработки Сигналов кажется остаются всё те же, что и раньше. Посмотрим, что у меня получится.

Читать далее

Асинхронная логика — насколько же это может быть быстро… (+ небольшая победа над багом в Gowin EDA)

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

Речь пойдёт всё так‑же о асинхронной логике. Похоже, что тут никто и никого не ждал... к такому выводу можно прийти, если посмотреть на сравнения, в сети и материалах, по части синхронной и асинхронной логики, и на фактические цифры, ну и на традиционную забагованность (в частности Gowin EDA) в таких нужных местах как массивы, впрочем эта забагованность вполне победима посредством небольшого «шаманства», об этом будет тоже. Приходится делать «двухшаговые » публикации, потому что если свалить всё в прошлую — то это вряд ли станет всё читабельным, а одного шага явно мало для полноценной публикации, особенно на фоне борьбы с чужими багами. Если не лень читать новые «приключения» в асинхронном, и не только, мире — то пожалуйста.

Читать далее

Введение в ПЛИС: Содержание курса

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

Цикл статей посвящен изучению базовых принципов работы с ПЛИС. Данная статья включает в себя оглавление с ссылками на последующие публикации и введение курса. Последующие статьи будут раскрывать отдельные темы курса, возможно, также появятся вспомогательные статьи по разбору проектных заданий и сборник материалов профессионального уровня.

Читать далее

Разработка цифровой аппаратуры нетрадиционным методом: CGA видеоадаптер на SpinalHDL

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

В предыдущей статье (ч.1, ч.2) я рассказывал как построить свою полностью открытую вычислительную систему на опенсорсных решениях — некую синтезируемую систему-на-кристалле, которая будет адаптирована под ваши задачи, в которой всё до последнего триггера находится под вашим управлением и не зависит ни от рыночной конъюнктуры, ни от политических решений. В этой статье я расскажу и покажу как добавить к этой СнК простейший видеоадаптер под тип старого доброго Color Graphics Adapter (CGA), но с современным (HDMI) интерфейсом, с графическим и текстовым режимами и аппаратным скроллингом для плавной прокрутки изображений. Как и в предыдущей статье, речь пойдет о проектировании аппаратуры на языке SpinalHDL и синтезе её для микросхем ПЛИС, используя опенсорсный тул. Все эксперименты я буду проводить на плате «Карно» с ПЛИС Lattice серии ECP5, но весь мой код, за исключением части касающейся настроек PLL, будет аппаратно независимым и легко адаптируемым под любой тип микросхем ПЛИС из поддерживаемых тулчейном Yosys/NextPNR.

Читать далее

Введение в ПЛИС: Материальное обеспечение курса

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

В рамках подготовки курса "Введение в ПЛИС" были отобраны несколько относительно недорогих, но функционально разносторонних плат. Здесь я бы хотел рассмотреть возможности, которые они дают в плане обучения студентов.

Читать далее

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