Обновить
64K+

FPGA *

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

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

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

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

Привет, Хабр! Меня зовут Алина, я руковожу группой модульной верификации в YADRO. Свой путь в отрасли я начинала со схемотехники и разработки RTL под FPGA. На Хабре даже есть моя статья про использование опций синтеза в Vivado, написанная еще до того, как различные стратегии на основе AI стали нормой. В черновиках лежит вторая часть той статьи, где я делаю вид, что понимаю математику, которая лежит в основе синтеза цифровой схемы из RTL :) Однако тот текст так и остался черновиком, а я ушла в верификацию и работаю в ней уже больше шести лет.

Скорость верификации IP-компонентов зависит не только от верификаторов. Чтобы ее увеличить, ряд полезных практик в свою работу могут внедрить и соседние команды — управления проектами, RTL-дизайна и архитектуры. Далее в статье я такими практиками поделюсь.

Читать далее

Новости

О преподавательских работах в Азербайджане, с фотографиями

Время на прочтение2 мин
Охват и читатели7.9K

Получил письмо от декана азербайджанского университета ADA University в Баку с просьбой распостранить информацию, что они нанимают большое количество преподавателей. Декан кстати из России, уроженец Дагестана. В университете у них висят портреты как западных деятелей, так и российских - Чехова, Менделеева итд. Многие из преподавателей - азербайджанцы, которые ездили учиться в США и вернулись поднимать родину. Но есть и много иностранцев. Из студентов процентов 70% владеют русским, но 30% не владеют, плюс есть толика иностранных студентов, поэтому официальный язык всего английский. Но во время моего семинара два года назад мы переходили на русский по необходимости, как и разумеется студенты говорят на азербайджанском друг с другом и владеющим азербайджанским преподавателям.

Читать далее

Чип размером с приусадебный участок

Время на прочтение2 мин
Охват и читатели7K

Может начать рисовать комиксы против проповедников ИИ, которые говорят "не смотри в генерируемый код, просто проверяй его в тестовом стенде"? Ниже первый эксерсиз.

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

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

А ведь если поставить такой блок в реальное устройство, там накрутится за полчаса триллион транзакций (гигагерц - миллиард в секунду - умножить на 20 минут по 60 секунд = 1200 миллиардов).

Это что же - поставить в чип двести триллионов D-триггеров для flop-based FIFO которое оно сгенерило? А если рассматривать худший сценарий работы за сутки - ставить квадриллион D-триггеров? Это чип размером с приусадебный участок.

Сделал в LinkedIn пост на английском:

Читать далее

Формальная верификация «для богатых»: используем Jasper C2RTL App из Cadence JasperGold

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

Привет! Меня зовут Андрей, я занимаюсь верификацией аппаратного обеспечения в YADRO. В разработке цифровых устройств (GPU, CPU, AI-ускорители) большое внимание уделяют трактам обработки данных (datapath). Архитекторы создают эталонные модели блоков на языках высокого уровня (C/C++), чтобы быстрее проводить архитектурные исследования и отладку алгоритмов. Конечная реализация выполняется на RTL (Verilog/SystemVerilog). 

После реализации в виде RTL-кода всегда хочется проверить соответствие итогового дизайна оригинальной модели — здесь помогает формальная верификация. Если вам повезло работать в крупной полупроводниковой компании с доступом к коммерческим инструментам формальной верификации, можно подумать о проверке логической эквивалентности между C и RTL-кодом.

Один из популярных инструментов для такой проверки — это Jasper C2RTL App в составе платформы Cadence JasperGold. В этой статье мы рассмотрим, как работает C2RTL, из каких этапов состоит процесс верификации с ним, как формируются проверки (ассерты) и с какими ограничениями сталкиваются инженеры.

Читать далее

Как я перешла из тестирования в аппаратную верификацию без опыта в процессорных архитектурах

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

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

Меня зовут Любовь Молчева, я руководитель группы unit-верификации дивизиона разработки полупроводниковых продуктов YADRO. До этого вся моя карьера была связана с программной разработкой и тестированием. Перейдя в верификацию полупроводников, я обнаружила, что многие управленческие и инженерные навыки остаются нужными, а требования новой роли во многом совпадают с уже накопленным опытом. В этой статье разберу, какие навыки из software оказываются полезны в hardware, с какими сложностями сталкиваешься в первые месяцы и как выстроить погружение в новую область без ощущения, что начинаешь карьеру с нуля.

Читать далее

bladeRF 2.0 micro xA9: обзор реальных проектов, приложений и фреймворков

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели8.4K

Я решил продолжить обзор bladeRF 2.0 micro xA9 через рассмотрение списка проектов, которые наиболее ярким образом демонстрируют возможности данного SDR в реальных применениях. Многие из этих вариантов прямо или косвенно базируются и обусловлены возможностями данного SDR. Перебирая все упоминания проектов с поддержкой bladeRF, я пришел к выводу, что bladeRF 2.0 micro xA9 лучше всего раскрывается там, где нужны не просто прием и декодирование, а широкий захват, передача, full duplex, MIMO, FPGA и кастомные GNU Radio/Soapy/libbladeRF сценарии. Самые сильные и практически ценные направления рассмотрим ниже. Но обо всем по порядку. 

Всем заинтересовавшимся — добро пожаловать под кат =)

Читать далее

DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU

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

Привет! Меня зовут Данил, я разрабатываю прикладное ПО для радиочастотных систем YADRO. В этой статье я расскажу об одном из вариантов сбора данных AXI-Stream для обработки на CPU, рассмотрю в этом контексте возможности и требования блока AXI DMA, а напоследок порассуждаю о когерентности кешей и о том, что на самом деле здесь требуется от драйвера ядра.

Читать далее

Типичные ошибки новичков в FPGA: от выбора платы до неинтуитивных кнопок

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

Привет, Хабр! Меня зовут Артём Аверченко, я преподаю в ОмГТУ дисциплины, связанные с FPGA. В этой статье я обобщу свой десятилетний опыт лабораторных работ в этой области и опишу ошибки, которые чаще всего совершают начинающие. Разумеется, на исчерпывающий список я не претендую — едва ли его здесь можно составить в одиночку. Но постараюсь дать как можно больше полезной информации.

Читать далее

SD карта как память программ для RISC-V ядра YRV на FPGA Tang Nano 9K

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

Решаем вопрос нехватки оперативной памяти на недорогих отладках в домашнем софтядерном процессоростроении. Попытка реализовать прототип PicoSoC, но на ядре YRV и с SD картой на отладке Tang Nano 9K.

Читать далее

Формальная верификация «для бедных»: выбираем open source-решение

Время на прочтение15 мин
Охват и читатели7.3K

Как убедиться, что в аппаратном дизайне нет багов? Результаты обычных тестов иногда сигнализируют только о том, что ошибки не нашлись, а не о том, что их нет вовсе. На помощь приходит формальная верификация — метод, который проверяет все состояния системы в поисках ошибки. Для промышленной верификации есть три решения: VC Formal от Synopsys, Cadence от JasperGold и коммерческая часть Yosys. Проприетарные инструменты проверены «в бою», но доступны далеко не всем.

Меня зовут Борис Новосёлов, я младший инженер по верификации в YADRO, и я изучил альтернативы с открытым исходным кодом: CIRCT, Slang, Synlig и другие. Вы узнаете, как работают эти инструменты и на что обратить внимание при выборе решения для своего проекта.

Читать далее

Дешифратор BCD‑7seg своими руками: от таблицы истинности до иерархической схемы в Digital Deeds

Время на прочтение7 мин
Охват и читатели7.7K

Как из таблицы истинности и четырёх битов родился семисегментный дешифратор? Разбираем два способа синтеза логических выражений, минимизацию и сборку в Digital Deeds. Спойлер: ни одной готовой микросхемы, только логика и желание понять, как это работает внутри.

Читать далее

Черная магия FPGA-разработчика: как мы превращаем идеи в железо

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

Привет, Хабр! Меня зовут Кирилл Алексеев, я старший инженер по разработке аппаратного обеспечения в отделе интеграции систем на кристалле радиочастотного центра YADRO. В мире FPGA я уже больше 10 лет. 

В учебных программах разработка под FPGA (ПЛИС, программируемые логические интегральные схемы) освещается довольно мало. Может возникнуть ощущение, что это «странная» область предназначена только для радиофизиков или гиков. Но и в эту сферу уже давно пришел прогресс с системами контроля версий, таскбордами, VS-кодом, Python-скриптами и даже с элементами объектно-ориентированного программирования при верификации цифровых схем. Этой статьей я хочу «десакрализировать» тему FPGA-разработки, обозначив крупными мазками стек используемых технологий и отразив повседневные задачи, которые стоят перед FPGA-разработчиком. Для примера возьмем workflow нашего отдела. 

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

Читать далее

Аппаратная платформа обработки сетевого трафика

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

Добрый день, уважаемые коллеги!

Как я уже говорил, наша компания ведёт разработку аппаратных платформ для средств защиты информации (СЗИ). На основе этих платформ мы делаем свои аппаратно‑программные комплексы (ПАК), решающие те или иные задачи, обеспечивающие безопасность. Стоит отметить, что такие платформы — только часть в ПАК, причём самая негибкая, и самая изюминка, как правило, содержится в программном обеспечении. Давайте припомним, что IBM PC тоже в основном состоял и состоит из аппаратной платформы, а всё многообразие применений даёт всякое разное ПО 😊

Читать далее

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

Как не угробить FPGA в космосе: архитектура скрабберов и борьба с радиацией

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

Представьте, что ваш код на ПЛИС может самопроизвольно измениться в любой момент. Для космоса это не фантазия, а суровая реальность. Разбираем архитектуру скрабберов: внутренний vs внешний, Readback vs Blind, практические рекомендации по защите FPGA от SEU/SEFI.

Читать далее

Создание USB контроллера на FPGA чипе и подключение клавиатуры

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

Здравствуйте меня зовут Дмитрий сегодня мы напишем контроллер USB-шины и подключим к нему клавиатуру.

Читать далее

Как мы прототипировали контроллер PCI Express от стороннего производителя

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели12K

Привет! Я Константин Павлов, старший инженер по разработке СнК в компании YADRO. В этой статье я поделюсь опытом, полученным нами при прототипировании подсистемы PCI Express на ПЛИС.

Прототипирование здесь — это когда мы берем код на SystemVerilog, предназначенный для запуска исключительно на ASIC, и далее через минимальные воздействия адаптируем его, чтобы запустить на FPGA. Зачем это нужно? Дело в том, что производство ASIC занимает очень много времени, а ошибки крайне дороги. Поэтому, чтобы дать возможность программистам отлаживать код, писать драйверы, настраивать систему, причем гораздо раньше, чем реальный чип будет произведен, — для этого и делают ранние прототипы на ПЛИС.

Я перечислю стандартные этапы прототипирования, а затем подробно остановлюсь на более интересных приемах работы с кодом, которые нам пришлось применить.

Читать далее

Как запрограммировать ad9361

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели9.4K

В статье рассматривается процесс создания программы для инициализации и управления микросхемой ad9363. Описанный подход применим для всего семейства ad936x. Всё реализовано под клон ADALM-Pluto с помощью Vivado 2021 и Vitis 2021 на Си.

Читать далее

Nuand bladeRF 2.0 micro xA9: мощный SDR доступный не каждому

Уровень сложностиСложный
Время на прочтение27 мин
Охват и читатели11K

Наконец-то дошли руки, чтобы сделать подробный обзор этого мощного и не очень дешевого SDR на базе FPGA Cyclone V и AD9361. Интерес к bladeRF 2.0 micro xA9 у меня появился ровно по той причине, по которой многие упираются в потолок HackRF и других бюджетных SDR: на уровне "послушать и что-то увидеть" они работают, но как только хочется системно строить чуть более сложные радиокейсы (широкая полоса, стабильный поток данных, MIMO, полный дуплекс и т. д.), ограничения становятся непреодолимым потолком. 

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

Всем заинтересованным - добро пожаловать под кат! =)

Читать далее

Выступил отрицателем AI на конференции SNUG Silicon Valley

Время на прочтение3 мин
Охват и читатели18K

AI - не микроархитектор, не проектировщик и не верификатор. Это все-лишь гламурный поисковик уже решенных и опубликованных задач. Именно такой вывод следовал из предоставленных мною на конференции SNUG Silicon Valley 2026 фактов как десятки студентов мучали ИИ чтобы решить мои задачки. Одну задачку ИИ решил лишь через полгода после выкладывания решений в интернет, другую за два месяца, потом пошла третья. При этом задачки были довольно банальные - мы в Самсунге даем делать такие статические конвейеры с контролем потока данных практикантам.

Вот постер, сопровождающий мою статью:

Читать далее

Как становятся верификаторами — и почему на рынке их дефицит. Мой опыт

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

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

Дисклеймер: в статье нет технических деталей, так что матерые RTL-разработчики могут заскучать. А еще в ней нет лайфхаков, которые помогут за секунду определиться с карьерой и за три дня стать Илоном Маском. Зато есть реальный жизненный опыт.

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

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