Обновить
64K+
YADRO
Тут про железо и инженерную культуру
509
Рейтинг
33 659
Подписчики
Сначала показывать

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

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

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

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

Читать далее

Чем занимается инженер отдела сопровождения разработки: от предсерийного образца до стабильного продукта

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

Разработка аппаратного продукта — это результат совместной работы архитекторов, схемотехников, конструкторов и программистов. Однако ни одна аппаратная платформа не сможет пойти в серию без специалистов, которые соберут все воедино: выполнят сборку, проведут отладку, доработают решения, запустят систему и при необходимости выполнят ремонт.

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

Читать далее

Анатомия User Plane в 5G: разбираемся, как все устроено

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

Привет всем! Меня зовут Саша Иргер, я эксперт по разработке ПО в департаменте проектирования и разработки пакетного ядра сети в YADRO. Вчера мой коллега опубликовал на Хабре статью про Policy Control: как и зачем классифицировать трафик в сотовой сети. Сегодня продолжу тему и разберу, как конкретно работает User Plane. По сути, он организован так, чтобы удовлетворить требования от Policy Control. Давайте посмотрим, что здесь интересного.

Читать далее

Policy and Charging Control: зачем классифицировать трафик в сотовой сети и как это сделать

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

Привет, Хабр! Меня зовут Влад Редров, я старший инженер-программист в отделе разработки компонентов опорной сети 5G в YADRO. Сегодня расскажу про Policy and Charging Control (PCC): будем ставить проблемы, а потом через способы их решения наращивать набор PCC-фич и осознавать логику их работы. Разберем, как ограничивать скорость сессии для каждого мобильного устройства через Session-AMBR и QoS-характеристики, применять QoS-характеристики к разным сервисам, тарифицировать каждый сервис отдельно и еще много всего интересного. Погнали!

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Пишем AI-помощника для ревью пулл-реквестов: как выбрать модель и разработать серверную часть

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

Привет, Хабр! Я Полина Ященко, старший инженер по разработке ПО в YADRO. Мы с командой тестируем гипотезы и активно применяем искусственный интеллект, чтобы усовершенствовать процессы разработки. Так, недавно мы зарелизили AI-ревьюера — бота-помощника, который помогает искать проблемы в стиле и логике кода.

Мы разработали бота, чтобы упростить процесс ревью пулл-реквестов. В команде есть стажеры, которые совершают базовые ошибки, включая открытие очень больших PR, и иногда просто не хватало сил, чтобы вовремя их смотреть. Как мы выбирали модель и разрабатывали серверную часть, расскажу под катом. Отмечу, что наш бот не отличается высокой производительностью, зато отлично решает свою задачу — помогает инженерам находить и исправлять повторяющиеся ошибки.

Читать далее

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

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

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

Читать далее

Почему департамент третьей линии поддержки строит архитектуры и работает с разными вендорами

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

Всем привет, меня зовут Артём Смирнов. Я руковожу департаментом мультивендорных решений и экспертизы в YADRO

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

Читать далее

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

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

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

Читать далее

Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутри

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

Привет, Хабр! Меня зовут Анастасия Черникова, я занимаюсь разработкой компиляторных технологий и инструментов на базе LLVM в Синтакоре.

Неопределенное поведение (undefined behavior, UB) по-разному выглядит с точки зрения компилятора и разработчика. Для первого оно, как правило, открывает дополнительные возможности для оптимизации. Для программиста же UB может стать проблемой, особенно если оно остается незамеченным и не учитывается при разработке.

В этой статье рассмотрим подход к поиску UB с использованием статического анализа. В качестве примера я использую clang-tidy: сначала разберу, как устроены существующие чекеры и как работают AST matchers, а затем покажу, как расширять их и добавлять собственные проверки, если стандартных возможностей оказывается недостаточно.

Отправиться на поиски UB

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

DIY-клавиатура на базе Sofle RGB, или как я учился паять

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

Cовременные IT очень сложно представить без клавиатуры. Эта досочка с кнопками сопровождает человечество еще со времен печатных машинок и до сих пор остается надежным и верным помощником при работе с информацией. Даже распространение сенсорных экранов и доступного и точного голосового ввода мало повлияли на популярность этого способа ввода.

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

Меня зовут Александр Обливальный, я разрабатываю ПО для объектных СХД в YADRO, и мой клавиатурный путь можно описать тремя словами: «Мне дали попробовать».

Читать далее

Первый хак Кремниевой долины: история о взломе цифровой технологии кремния для производства интегральных ОУ

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

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

Погрузиться в мир аналоговой схемотехники

Дремлющий демон GPIO: простой и надежный мониторинг событий в embedded-системах

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

Иногда старые проекты дают о себе знать в самый неожиданный момент — так случилось и с моим Linux GPIO Daemon. Коллеги из департамента методик и автоматизации тестирования в YADRO заинтересовались разработкой, и я наконец решил довести его до ума. Расскажу о демоне, который реагирует на события линий: текстовым сообщением об изменении состояния в сокет либо запуском скрипта. Это аналог incron-ng, только мониторит он не файлы, а линии GPIO. А в конце обсудим, как найти и затем не терять нужный нам gpiochip.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Как научить планшет видеть несколько объектов в кадре одновременно: multi-label классификация

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

Представьте, что вам нужно научить камеру планшета почти мгновенно определять, что происходит в кадре. И это не просто «автомобиль» или «человек»: нужно различать и связывать разные категории объектов: документы, людей, QR, штрихкоды и так далее. Казалось бы, достаточно взять предобученную модель и заточить для запуска на конкретном железе, в нашем случае это планшет KVADRA_T.  

Привет, Хабр! Меня зовут Анастасия Шпилёва, и я работаю в команде разработки программных ИИ-компонент MLKit компании YADRO. В статье расскажу, почему я остановилась на multi-label классификации изображений. А также — как я собирала, размечала и валидировала датасет, от которого во многом зависит эффективность модели.

Читать далее

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

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

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

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

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
Ульяна Соловьева