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

FPGA *

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

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

Когда хочется портировать старые игры, но нет ни сил, ни времени: запускаем отсекатель лучей на RISC-V RV32I

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

Всех, кто работает с софт-ядрами, наверное, можно разделить на две категории: первые хотят запустить на своем ядре Linux, вторые — DOOM. Я отношусь ко второй: идея запустить DOOM на ядре YRV, что я синтезирую на отладках, любезно предоставленных FPGA-Systems.ru, преследует меня постоянно и не дает спать.

Как запустить DOOM с ходу, непонятно, ведь у меня все-таки некоммерческий микроконтроллер. Поэтому начну с подготовительного упражнения, чтобы понять, что возможно реализовать на аппаратной части. Когда мы говорим про DOOM, то вспоминаем другие игры любимой компании id Software — Wolfenstein 3D, Catacomb 3D и Hovertank 3D. В них все начинается с алгоритма отсечения лучей (raycasting), с которым и будем поработать. С raycasting можно получить и doom-образный геймплей, надо лишь улучшить разрешение и текстуры.

Читать далее

Новости

Введение в ПЛИС: 2. Языки описания аппаратуры

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

Вторая глава из цикла "Введение в ПЛИС". В ней мы переходим от общих понятий к практике — начинаем изучать язык Verilog, его базовые конструкции и принципы проектирования. Материал остаётся доступным для новичков, но потребует больше внимания к деталям.

Читать далее

Как устроиться на работу инженером: советы от экспертов, проводящих собеседования

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

Не проходит и недели, чтобы в топе Хабра не появилась статья о собеседованиях в софтверной разработке. Но собеседования специалистов, ориентированных на работу с «железом», таким вниманием, увы, обделены. Чтобы это исправить, мы поговорили с коллегами, которые проводят собеседования с будущими инженерами YADRO по направлениям схемотехники, верификации, RTL-дизайна, FPGA и аппаратной разработки. А затем обобщили их опыт и мнение в советах для тех, кто хочет связать карьеру с этими областями.

Читать далее

Как бороться с использованием ChatGPT студентами (не запрещая его прямо)

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

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

Как же обломать крылья этой мечте? Запрещать чатгпт бессмысленно, но как сделать так, чтобы с чатгпт стало сильно труднее чем без него? Чтобы студенты пинали его и так и сяк, но решения бы не получалось, а вот у студентов, которые решили сесть и подумать сами - решение бы получалось?

Читать далее

Доступ к SDRAM памяти на FPGA и «множество Мандельброта»

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

Здравствуйте. Меня зовут Дмитрий. Сегодня мы научимся работать с SDRAM памятью и нарисуем множество Мондельброта на экране.

Данная статья является продолжением статьи Создание видеокарты Бена Итера на FPGA чипе. Если вы не читали то очень рекомендую. Ну а мы начинаем.

Читать далее

OSHW проекту marsohod.org 15 лет

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

Совсем недавно осознал, что нашему Open Source HW проекту marsohod.org уже пятнадцать лет. С ума сойти можно. Когда время-то пролетело? Как-то даже не верится. Наверное можно попробовать подвести какие-то итоги. Ну или сделать хоть самому себе отчет о проделанной работе..

Читать далее

Затолкаем, братцы!!! UART Lite через PCIe прямиком в Linux: драйвер за вечер (почти)

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

Что если можно было бы подключить своё AXI-устройство на FPGA к Linux через PCIe за вечер? В этой статье рассказываю, как написать драйвер для UARTLite через XDMA, собрать свою TTY и начать работать с GPS прямо из терминала!

Залетай, что смотришь....

Путь в микроэлектронику через верификацию: руководство для начинающих

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

Привет, Хабр! Меня зовут Дмитрий Кишко, я руководитель группы функциональной верификации в YADRO. Представьте, что вы строите космический корабль. Он еще не взлетел, но любая ошибка в конструкции уже может стоить миллионы или даже сорвать всю миссию. В разработке микроэлектроники ситуация похожа: перед тем как чип попадет на производство, его работу проверяют сотни раз, но не физически, а в симуляторах. Этот этап называется функциональной верификацией, и без него современная электроника просто «не взлетит».

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

Читать далее

Пополнение среди ультрабюджетных девбордов: FPGA — «отладка» за 201 р

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

Пополнение среди ультрабюджетных девбордов: FPGA - "отладка" за 201 р.

Самая дешёвая "оценочная плата" с ПЛИС Xilinx Spartan-6 на AliExpress обойдётся в ровно 3000р. На Авито и майнерских "Купи-Продайках" - в 10 раз дешевле. С более "жирным камнем". Никакого подвоха, всё честно.

Читать далее

Cтандарт RISC-V RV32I и математика с плавающей точкой

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

Стандарт RISC-V RV32I не содержит команд умножения и деления, поэтому интересно, достаточно ли в софт-ядре реализовать стандарт RV32I, чтобы можно было вычислять что-то серьезное. На примере RISC-V процессора YRV, описанного в книге «Inside an Open-Source Processor, мы рассмотрим, как, используя компилятор GCC, рассчитать такие тригонометрические функции, как синус, косинус и тангенс и вывести на экран результат. Даже нарисуем олдскульную синусоиду в VGA-режиме.

Читать далее

Создание видеокарты Бена Итера на FPGA чипе

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

Здравствуйте. Меня зовут Дмитрий. Данная статья является продолжением статьи Сборка компьютера sap-1 (компьютер Бена Итера) в игре Turing Complete (если вы её не читали то очень советую). Сегодня мы продолжим исследовать блог Бена Итера, но вместо компьютерной игры мы соберем простейшую видеокарту на FPGA чипе.

Итак почему я выбрал FPGA? Конечно в игре Turing Complete можно собрать видеокарту, но её нельзя подключить к монитору что-бы проверить работу, поэтому мне пришлось перейти на что-то более осязаемое. Поэтому сегодня мы изучим язык Verilog предназначенный для описания микросхем.

Читать далее

Векторизация в RISC-V. Основы

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

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

В процессорах архитектуры x86 SIMD инструкции добавляются по принципу ad hoc. Из-за такого подхода, легаси и требований обратной совместимости в x86 накопилось много проблем.

Архитектура RISC-V относительно молодая, и при её разработке учтён прошлый опыт. В основе подхода к SIMD в RISC-V заложили идею чистого векторного процессора.

В этой статье рассмотрим основные принципы работы векторного процессора и базовые векторные операции с памятью и арифметикой.

Читать далее

Scala/Chisel против SystemVerilog: генерируем сложные цифровые схемы

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

В наши дни общепризнанный стандарт для RTL-описаний — это язык SystemVerilog, но популярность сейчас набирает его альтернатива, Chisel. Далее я расскажу подробней об этом языке, его преимуществах, недостатках и рисках, связанных с переходом на Chisel со стандартного стека. Отдельно остановлюсь на функциональном программировании — возможности Chisel, которой нет в SystemVerilog, — и на дополнительных возможностях Chisel, улучшающих механизм переиспользования модулей. А также о том, почему код на Chisel менее подвержен ошибкам и всегда работает. Ну, почти всегда.

Читать далее

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

Алгоритм межкадровой разности на FPGA стереокамере

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

В этой статье я расскажу о продолжении работы над своим проектом стереокамеры на базе FPGA Gowin. В последней версии я добавил блок расчета попиксельной межкадровой разницы, используя встроенную в один корпус с FPGA SDR SDRAM память

Читать далее

В Мексике студенты отличаются дисциплиной, а у спецназа большие автоматы

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

Провел семинар по SystemVerilog, Gowin FPGA и Tiny Tapeout в городе Тихуана, Мексика. Главное впечатление: я в первый раз в жизни вижу студентов, которые приходят в 8 утра, делают упражнения по верилогу до 6 вечера, с перерывом на полуторачасовый обед, и при этом все 20 студентов выполнили все вариации упражнений которые я от них хотел.

Читать далее

Из студентов в инженеры: как перестать бояться и полюбить системную верификацию

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

Привет, Хабр! На связи Михаил Степанов, инженер в группе функциональной верификации YADRO. Еще в прошлом году мы с моим коллегой Романом Казаченко участвовали в хакатоне по разработке микропроцессоров как студенты, а сейчас — помогаем с задачами для SoC Design Challenge как сотрудники компании-организатора. В статье расскажем, что ждет участников трека «Системная верификация СнК» в этом году и как подготовиться к этому испытанию.

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

Читать далее

PAL видеоадаптер на FPGA с буфером кадра

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

Наверное, каждый второй разработчик на ПЛИС в начале своего пути пытался визуализировать работу своих схем. Кто-то подключал TFT-дисплей, кто-то — VGA монитор. А у меня под рукой оказался только телевизор с композитным входом. Ну что ж, работаем с тем, что есть!

Читать далее

От ASCII к ASIC: портируем donut.c на крошечный кремниевый срез

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

Прошло много лет с тех пор, как я написал donut.c, и всё это время я не раз задумывался, можно ли как-то упростить этот проект. Например, может быть, нашёлся бы способ очертить пончик лучами, дописав для этого немного кода. В октябре 2023 года я написал твит о совершенно внезапном просветлении, позволившем мне найти новый подход к этой проблеме — без привлечения памяти, без каких-либо синусов, косинусов, без квадратных корней, деления, строго говоря, даже без умножения. Всё нужное можно отобразить с помощью одних только сдвигов и сложений. Вот обновлённая версия на C.


Читать дальше →

Гений. Миллиардер. Плейбой. Филантроп. Участник «Технотекста-7»

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

Открылся прием заявок на седьмой «Технотекст» — конкурс лучших статей Хабра. В этом году мы в YADRO вновь поддерживаем номинацию «Железо: проектирование и технологии производства» и призываем «железных человеков» присылать свои материалы. В ней есть за что побороться: для каждого победителя заготовлен большой набор подарков: платы, осциллографы, книги, инструменты… и даже сертификаты на рассыпуху. Для лучшего молодого автора — отдельный призовой комплект, а для тех, кому немного не хватило до победы, — поощрительные наборы мерча. Другие подробности — в посте.

Читать далее

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

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

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

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

Читать далее
1
23 ...