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

FPGA *

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

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

Разработка DIY компьютера на базе FPGA

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

Желание поиграть в проектирование собственного процессора обычно приводит к покупке платы с FPGA. Но мне захотелось сделать шаг дальше и начать не с Verilog-а, а с паяльника.

Это статья о том, как я занялся разработкой электроники, не имея почти никакого опыта в этой сфере. Цель - сделать устройство с FPGA на котором можно загрузить Linux, подключить экран и клавиатуру, а потом прямо там писать и компилировать код.

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

Читать далее

Новости

Да как отлаживать этот ваш Tcl?

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

puts "ПЛИС-культ привет, FPGA / RTL / Verification ХАБ!"

Последние несколько месяцев я плотно сижу в Vivado и Tcl и вот решил с вами поделиться своими "открытиями" в области отладки Tcl скриптов, которые вероятно не многие из вас вообще пишут или используют в своей работе.

Несмотря на свою архаичность, Tool Command Language все же остается самым востребованным языком управления средой проектирования для ПЛИС и ASIC. ЕМНИП все эти инструменты управляются через Tcl, Vivado так уж точно, поэтому было бы не плохо научиться или хотя бы посмотреть какие инструменты отладки этих самых пресловутых Tcl-сценариев вообще существуют или существуют ли они вообще, кроме православного puts

В этой заметке, я постараюсь вам показать, что advanced tcl debugging - это не миф, а вполне реальная сущность, которая была создана еще на заре двухтысячных и не то что бы эта сущность как-то изменилась за эти 20 с небольшим лет.

Открывайте ваши консольки, погнали!

Упрощение прототипирования и верификации RTL с помощью Python

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

Всем привет!

Хочу поделиться своим опытом использования Python на этапах прототипирования RTL-модулей и последующей верификации. Как RTL-инженер, я часто создаю модели на Python для быстрой проверки логики и алгоритмов будущего RTL. Это подход уменьшает вероятность последующих правок в логике RTL в случае если алгоритм не подходит. Однако при переходе к тестированию на SystemVerilog всегда возникала проблема с переиспользованием написанной Python модели устройства: нужно было писать обвязку на C и использовать DPI-C интерфейсы, чтобы интегрировать Python-код модели в верификационную среду. Это занимало время и было неудобно.

Недавно я открыл для себя библиотеку PyStim (Bind Python & SystemVerilog), которая кардинально упростила процесс. PyStim позволяет напрямую вызывать Python-методы и работать с Python-объектами из среды SystemVerilog без необходимости писать обвязку на C или использовать DPI-C. Это значительно снизило трудозатраты и ускорило адаптацию уже готового Python-кода в тестбенче.

Читать далее

Комбинационная логика с FPGA-тян

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

Привет! С вами снова Александр и мой бессменный ассистент FPGA-тян!

Сегодня мы разберём основы комбинационной логики, познакомимся с базовым логическими элементами и даже напишем прошивку для FPGA!

Читать далее

Тестовый стенд для испытания линейной камеры

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

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

Если проект аппаратный, то тут немного сложнее. Я расскажу про наш случай. Мы разрабатываем линейную камеру для контроля качества печати на флексографических машинах. При этом, конечно, мы не имеем возможности во время экспериментов всё время находиться рядом с печатным станком, мы тогда будем там просто мешать людям работать. То есть нам нужен простой испытательный стенд для разработчиков.

Далее расскажу, как делали.

Свободные инструменты для программирования FPGA

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

Подборка свободных инструментов для программирования FPGA, включающая в себя средства поддержки языков HDL, синтезаторы, симуляторы и некоторые другие.

Читать далее

Процессор на коленке ч.2

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

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

Программирование FPGA Gowin с использованием свободных инструментов

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

Краткая инструкция, о том, как запрограммировать чип FPGA Gowin с использованием только свободных программных инструментов и комплекта Sipeed Tang Primer 20K Dock.

Читать далее

Процессор на коленке ч.1

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


Предыстория


Захотелось мне как-то перевести управление станком на ПЛИС, а для этого понадобилось ядро процессора. Поиск на opencores не особо помог, x86 лицензированный, ARM лицензированный, NIOS… ну, вы поняли. Если выдумывать свою систему команд, может получиться криво, и главное, где брать компилятор. В общем, всё было сложно, так что на время идею пришлось отложить.
С недавних пор ситуация изменилась, архитектура RISC-V пошла в массы.

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

YADRO x Альянс RISC-V: что было на самом большом митапе в России по открытой архитектуре

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

Факт: как минимум 150 человек в нашей стране интересуются RISC-V настолько, что их не пугает девятибалльный шторм. Примерно столько мы собрали в офлайне 14 марта в Москве на совместном митапе YADRO с Альянсом RISC-V. Оценили, готов ли RISC-V для мобильных устройств, а для RISC-V, в свою очередь, — высокопроизводительные библиотеки. Рассмотрели экосистему RISC-V для сценариев АСУ ТП — автоматизированных систем управления технологическим процессом. И наконец, в большой дискуссии обсудили, готова ли открытая архитектура к развитию широкой экосистемы открытого ПО в различных областях. Записи выступлений и некоторые интересные тезисы — далее в статье.

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Студенты обожают 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.7K

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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