Рубрика «верификация»

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

Читать полностью »
Защита детей как причина для глобальной деанонимизации - 1

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

Читать полностью »

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

Читать полностью »

Новость для тех, кто хочет сделать начало следующего года особенным для своего развития. Второй год мы запускаем бесплатные практические курсы по востребованным инженерным направлениям. К уже классическим трекам по верификации, DevOps и Go-разработке добавился новый: «Программирование микроконтроллеров RISC-V: от основ работы с открытой архитектурой до создания собственного устройства». РегистрируйтесьЧитать полностью »

Здравствуй! На связи вновь Павел Панкратов — ведущий инженер-программист дивизиона искусственного интеллекта YADRO. Мы добрались до финала моего повествования о параллельном запуске двух операционных систем на FPGA с процессорной подсистемой.

В этой статье мы запустим подготовленный проект и верифицируем его. А в качестве бонуса посмотрим на один из способов разработки ПО под Soft-CPU, минуя IDE Vitis. Плюс загрузим ОС Soft-CPU с помощью QEMU.

Напомню, что в первой частиЧитать полностью »

Если вы хотя бы раз слушали доклады FPGA Systems, вы знаете, что это настоящий интенсив с новыми знаниями по FPGA-разработке и не только. Заключительная конференция сообщества в этом году, организованная с YADRO, — не исключение. 30 ноября, в субботу, вас ждет восемь докладов от инженеров из МИЭТ, БЮРО 1440, ЭРЕМЕКС, YADRO. От новостей китайских ПЛИС (BMTI) — докладчик недавно посетил их производство — до разбора практических кейсов. Например, как запустить видеокарту AMD на ПЛИС с RISC-V. 

Места на офлайн уже разобрали, но онлайн-трансляция доступна всем. Изучайте программу и подключайтесь к интересному именно вам докладу. И обязательно Читать полностью »

ПЛИС-культ привет, FPGA хабрунити.

На днях состоялся анонс уже второго номера народного FPGA журнала
FPGA-Systems Magazine :: № BETA (state_1). В нем 200+ страниц и 20+ статей и небольших заметок по направлениям FPGA / RTL / Verification (ПЛИС сегодня это не только про знание HDL и Vivado c Quartus'ом). Журнал бесплатный и распространяется в виде pdf-ки.

Зачем? Есть же хабр!

Читать полностью »

В этом переводе презентации британского математика Кевина Баззарда мы увидим, что следующий комикс xkcd безнадежно устарел.

image

Каково будущее математики?

  • В 1990-х компьютеры стали играть в шахматы лучше людей.
  • В 2018 компьютеры стали играть в го лучше людей.
  • В 2019 исследователь искусственного интеллекта Christian Szegedy сказал мне, что через 10 лет компьютеры будут доказывать теоремы лучше, чем люди.

Конечно, он может быть не прав. А может быть и прав.
Читать полностью »

Введение

Методология разработки имитационных моделей и симуляторов по различным техническим дисциплинам в основном ориентирована на снижение уровня абстракции учебного материала. Наряду с теоретическим учебным материалом наглядное имитационное моделирование того или иного технологического процесса или операции позволяет учащемуся в более полной мере освоить преподаваемый материал с максимальным приближением к естественным условиям. При этом имитационные модели и симуляторы могут рассматриваться только как вспомогательный инструмент учебного процесса. Основное назначение данной категории образовательных ресурсов – базовое (начальное) ознакомление с принципами работы сложных технических объектов в условиях отсутствия возможности использования реального промышленного оборудования, либо в целях предварительного повышения компетенции учащегося перед прохождением производственной практики.
Читать полностью »

В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilator. Так же будет рассмотрена универсальная методолгия верификации — UVM.

Установка ПО для SystemC UVM

1. Верилятор

Одним из языков описания аппаратуры является verilog. На этом языке можно написать модуль.

Например, есть схема счетика:

image

Его код будет выглядеть так:

reg [3:0]counter;
always @(posedge clk or posedge reset)
  if(reset)
    counter <= 4'd0;
  else
    counter <= counter + 1'd1;

После симуляции получим вейвформы:

image

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

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

Для тестирование кода проекта помимо таких языков как Verilog, SystemVerilog, Python (для написания моделей), можно использовать язык SystemC. SystemC — язык проектирования и верификации моделей системного уровня, реализованный в виде C++ библиотеки с открытым исходным кодом.

Один из способов верификации Verilog модулей с помощью SystemC является трансляция verilog файлов в С++. Поможет нам в этом Verilator.

Verilator — это самый быстрый бесплатный симулятор Verilog HDL, который превосходит большинство коммерческих симуляторов. Verilator компилирует синтезируемый SystemVerilog (обычно это не код тестового стенда), а также некоторые утверждения SystemVerilog и Synthesis в однопоточный или многопоточный код C ++ или SystemC. Verilator был разработан для больших проектов, где быстродействие симуляции имеет первостепенное значение, и особенно хорошо подходит для генерации исполняемых моделей процессоров для групп разработчиков встроенного программного обеспечения. Verilator используется для имитации многих очень больших многомиллионных конструкций шлюзов с тысячами модулей и поддерживается многими поставщиками IP-технологий, включая IP от Arm и всех известных поставщиков RISC-V IP.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js