Обновить
21.9

FPGA *

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Комбинационная логика на SystemVerilog

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

Данная статья посвящена разработке аппаратуры на SystemVerilog со стороны человека, который сам только начинает углубленно в этом разбираться. Рассчитана она на то, чтобы другим новичкам было проще сориентироваться в незнакомой среде, поэтому некоторые аспекты здесь будет рассмотрены довольно поверхностно и упрощенно...

Читать далее

Синтез цифровых схем: что почитать при любом уровне подготовки

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

Осенью стартовал новый поток Школы синтеза цифровых схем — нашей бесплатной образовательной программы о современных приемах проектирования цифровых микросхем. От серийных ASIC и микропроцессоров общего назначения до реконфигурируемых FPGA и специализированных вычислителей. По этим и связанным темам выпущено немало профессиональной литературы. Мы попросили преподавателей Школы — Юрия Панчула и Александра Рябова — выбрать книги, которые помогут при обучении в школе и самостоятельном освоении синтеза цифровых схем.

Читать далее

На асинхронной логике можно сделать очень много, и особенно на FPGA

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

В естественной среде (в реальном мире), на асинхронной логике построено всё, и даже жизнь. Пытаться повторить последнее на FPGA разумеется можно только в виде игры, но и её пока что не будет. Хотя публикация имеет место быть, теперь с удвоенным объёмом материала, так как мне нельзя писать чаще раза в неделю, то я решил вторую публикацию включить сюда, материал которой мной планировался в статье "Асинхронные триггеры: цена стиля, и не каждая логика решения раскрывает суть решаемой ей задачи." Всё это - мой небольшой опыт работы с FPGA, который свидетельствует в пользу того, что материал распространённый ранее в сети, по части асинхронной логики, не то что не точный — а не соответствует естественному порядку вещей в действительности, это было‑бы можно объяснять специфичностью FPGA, но никакой такой специфичности на самом деле нет, не было, и вряд‑ли когда будет, поэтому пусть тот материал остаётся сам по себе, и рассматривать его далее, как минимум тут, не стоит. Итак поехали

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

Читать далее

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: сборка операционной системы

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

И снова здравствуй, Хабр! Мы добрались до второй части повествования о параллельном запуске двух ОС на FPGA с процессорной подсистемой. 

В этой статье мы сначала определим минимально необходимые компоненты для запуска Embedded Linux. Затем осуществим сборку под ARM стандартными инструментами производителя и под Soft-CPU «вручную». И наконец, подготовим загрузочный носитель, чтобы подойти во всеоружии к запуску и верификации проекта, которые ожидают нас в заключительной части цикла.

Читать далее

Quake 2 на нашем RISC-V, или как мы поднимали старый Radeon на FPGA

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

Всем привет! Меня зовут Александр Разинков, я разрабатываю системный софт в компании YADRO. В этом посте я расскажу о стресс-тестировании нашего RISC-V-кластера с помощью… Quake 2! Почему «квейк»? RISC-V активно развивается как основная application-платформа в мире, и игры — это хороший способ проверить возможности ядер, драйверов GPU и экосистемы в целом. В некоторых важных аспектах игры дают значительно большую нагрузку, чем стандартные программные тесты, особенно на память и интерконнект.

В ходе проекта мы получили отличный опыт работы с видеоподсистемой и графическим стеком Linux, которым стоит поделиться. Открыли для себя новую группу бенчмарков по графике и UX. Наконец, это первый на моей памяти запуск игр именно на российских ядрах RISC-V!

Читать далее

Устраняем ошибки USB-Blaster

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

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

Эта заметка для вас, если вы купили самый дешёвый программатор USB Blaster с али-экспресса, и он упорно отказывается работать в вашей ОС.

Читать далее

Делители часов

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

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

Большинству цифровых схем требуется несколько (или даже десятки) различных тактовых сигналов для управления различными подсистемами. Например, система на основе ППВМ может использовать тактовую частоту 48 кГц для создания аудиопотока, тактовую частоту 1 кГц для запуска таймера, тактовую частоту 10 МГц для запуска небольшого процессора и тактовую частоту 12 кГц для запуска контроллера двигателя. Было бы слишком дорого использовать отдельные внешние схемы осциллятора для создания такого количества различных тактовых сигналов, поэтому системы обычно производят необходимые им тактовые сигналы всего из одного или двух основных тактовых входов.

Читать далее

Митап FPGA-Systems: RnD-цикл современных SoC, физическая имплементация для FPGA и ASIC, обзор систем прототипирования

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

26 октября в 11:00 стартует первая осенняя встреча сообщества FPGA-Systems, организованная совместно с YADRO. Инженеры поделятся опытом и расскажут про разработку ASIC, физический дизайн, новый чип AG32 от AG micro и многое другое. Митап интересен не только программой, но и открытой демозоной с наработками инженеров — приходите лично, чтобы посмотреть на FPGA во плоти.

Регистрируйтесь, чтобы попасть на митап в Питере или получить ссылку на трансляцию в VK, YouTube или Rutube, где можно будет задать вопросы спикерам.

Изучить программу

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

Разыменовываем NULL на RISC-V ядре scr1

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

Во время работы в ASIC дизайн центре я потратил немало времени на отладку ошибок и падений ядра, просматривая временные диаграммы на шинах AXI от процессора к памяти. Иногда оказывалось, что адрес чтения из памяти оказывался 0x00000000 - классический случай разыменования нулевого указателя в C. На системах с ОС это приводит к известному всем C программистам segfault-у. И в bare metal системах разыменование NULL может приводить к интересным ситуациям. В этой статье рассмотрим, что происходит при разыменовании NULL, используя для пример open source RISC-V ядро scr1 и open source инструмент симуляции RTL Verilator.

Читать далее

Готовимся организовать совместный русско-украинско-мексиканский семинар по ПЛИС в Мексике, возможно привлечем и беларусов

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

Инструкции к открытым примерам basics-graphics-music (BGM) теперь доступны на 5 языках: английском, испанском, русском, украинском и белорусском. Эти примеры используются в России и Беларуси (Школа Синтеза Цифровых Схем), Калифорнии (Verilog Meetup), Армении, Азербайджане и других местах.

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

Читать далее

Синтез Цифрового БИХ Фильтра Низких Частот

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

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

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

Далее я покажу некоторые приёмы расчета IIR фильтра по известным коэффициентам.

Читать далее

Запускаем Arduino от DIY-батарейки из лимона

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

В 2018 году я уволился из российского подразделения Atmel (компании, которая разработала микроконтроллеры ATmega, применяемые в Arduino) и был приглашён в южноамериканское подразделение NXP. На собеседовании в числе прочих был один весьма забавный вопрос: «Как вы запустите демоплату с микроконтроллером MCXA143VLH, если окажетесь в античной Греции?» Мой ответ про батарейку из лимона приятно удивил собеседника.

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

Опустить электроды в лимонный сок

Моделируем работу ПЛИС красиво

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

Настройка визуального представления сигналов при моделировании в среде ModelSim (часть 1)

Добрый день читателям Хабра! Меня зовут Алексей, я занимаюсь работой с ПЛИС (FPGA) уже более 15 лет. Хабр читаю давно, но статьи здесь никогда не писал. В общем решил попробовать. Не знаю, насколько на Хабре интересны темы, связанные с ПЛИС? Но всё же, вдруг кому-то эта небольшая статья будет полезна.

Читать далее

Zynq 7000. HDMI для платы Zynq Mini для baremetal

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

Я давно носил идею проверки HDMI на платах Zynq, и вот наконец-то дошли руки до этого интересного топика. В этой статье я покажу, что вывод изображения через HDMI достаточно прост, но ограничусь только рассмотрением вывода изображения из baremetal-приложений, а вопросы про Linux оставлю для следующей статьи. В первую очередь изучим возможность простого вывода изображения в HDMI из генератора тестовых изображений с использованием Test Pattern Generator в PL-логике, а затем коснёмся применения AXI Video DMA.

Всем интересующимся добро пожаловать под кат!

Читать далее

Ошибаться и учиться на реальных задачах: как студенты получают опыт работы с FPGA и процессорными ядрами

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

Пока одни студенты готовятся к сессии и сдают долги, другие разрабатывают системы на кристалле и тестируют клиентские устройства. Герои этой статьи — молодые инженеры, выпускники стажировки YADRO Импульс 2024. Два месяца они стажировались в компании, а затем получили предложения о работе и продолжили работу над начатыми проектами. 

В каком вузе учиться, чтобы в 20 лет стать младшим инженером в крупной компании, как за два месяца разобраться в запуске тестов на FPGA-платах и какие навыки приобретают стажеры в YADRO — узнаете в статье.

Читать далее