Генерация и верификация HDL-кода
Почти 60% FPGA (программируемых пользователем вентильных матриц) и ASIC (специализированных интегральных схем) требуют повторной сборки после устранения функциональных дефектов. Продукты компании MathWorks для генерации HDL-кодов, косимуляции (совместного моделирования) и проверки помогают успешно справиться с этой задачей.
Решения MathWorks позволяют автоматизировать многие длительные и чреватые возникновением ошибок операции при переходе от алгоритмов к FPGA или ASIC. Работая с независимыми моделями, можно еще до их внедрения быстро исследовать архитектуру, настройки фиксированных точек и оптимизацию.
Продукты позволяют:
- Обеспечить соответствие FPGA и ASIC спецификациям проекта системы
- Создавать альтернативные варианты проекта за считанные минуты, а не недели
- Генерировать системо-независимые VHDL- и Verilog-коды для FPGA и ASIC
- Экономить время и силы при проверке
Закажите бесплатный комплект материалов по генерации и верификации HDL-кода (материалы на английском языке)
Simulink HDL Coder
Simulink Fixed Point
MATLAB Coder
Simulink Coder
Генерация кода HDL
Автоматическая генерация кода на языке описания аппаратных средств (HDL) позволяет проводить быструю итеративную проверку алгоритма и прийти к подходящим компромиссам. Благодаря этому инженеры могут выбрать лучшее воплощение разработки, соответствующее требованиям к системе.
Генерация кода HDL из моделей Simulink и алгоритмов на языке MATLAB
Simulink ® можно использовать для разработки моделей систем, содержащих цифровые, аналоговые и программные элементы. Что касается цифровых систем, здесь пользователь может моделировать элементы информационных каналов, в том числе хорошо оптимизированные фильтры и машины с конечным числом состояний, а также создавать пользовательский алгоритм IP при помощи MATLAB ®.
Разработчик получает возможность исследовать различные варианты реализации алгоритма, преобразовывать модели в представление с плавающей точкой и генерировать удобочитаемый код HDL, который можно синтезировать при помощи серийных промышленных средств синтеза. Уже имеющийся код HDL IP можно встроить в сгенерированный при помощи технологии черного ящика, реализованной в EDA Simulator Link™.
Проверить функционирование разработки с использованием популярных эмуляторов EDA (например Mentor Graphics® ModelSim®) можно при помощи автоматически сгенерированных испытательных заданий HDL.
Итерации быстрой разработки и реализация
Simulink HDL Coder ™ позволяет быстро найти компромисс между мощностью аппаратуры и скоростью вычислений. Выбирая подходящую конвейерную обработку и архитектуру, разработчик получает лучшую аппаратную реализацию своего алгоритма. Выбирать можно, к примеру, между каскадной, последовательной и древовидной реализациями. Чтобы учесть требования изменившейся спецификации, достаточно изменить модель Simulink и автоматически сгенерировать код HDL.
Для оптимизации быстродействия оборудования следует выбрать правильную архитектурную реализацию.
Легкое тестирование новых идей и целевых платформ с использованием единой модели
Моделирование системы на высоком уровне абстракции позволяет повторно использовать разработку, делает проект транспортабельным и независимым от целевой платформы. К примеру, разработчик может использовать библиотеку моделей Simulink, быстро получая для каждого варианта модели код HDL, не редактируя при этом сам код Verilog или VHDL. Кроме того, проект можно сделать доступным для нескольких команд. И, наконец, возможно прототипирование на ПЛИС и массовая реализация на прикладных интегральных схемах (ASIC).
Функциональная верификация кода HDL
Более 50% времени и ресурсов при разработке аппаратуры расходуется на верификацию. Так происходит, потому что требования зачастую сформулированы неоднозначно, а ошибки бывают обнаружены уже после интеграции подсистем при аппаратной реализации. Этих ошибок (и соответствующей дорогостоящей переработки) можно избежать, используя модель системного уровня в качестве эталона для валидации и верификации на ранних этапах проекта.
Реализация тестовых алгоритмов без написания тестовых скриптов
Чтобы не писать тестовые скрипты, следует повторно использовать код MATLAB или модели Simulink в качестве экспериментальных стендов для проверки текущей реализации разработки. Модель следует рассматривать как исполняемую спецификацию, в которой описаны цифровой, аналоговый и программный режимы работы большой системы. Тот же самый код MATLAB и те же модели Simulink, которые использовались при разработке алгоритмов и тестов, можно повторно использовать для реализации и верификации в качестве экспериментальных стендов для эмуляторов HDL. Такой подход избавляет от необходимости вручную создавать экспериментальные стенды HDL, создавать входные и выходные тестовые векторы, писать скрипты для сравнения результатов.
Оперативная валидация различных вариантов реализации комплексных алгоритмов
Для динамического анализа реализации HDL на системном уровне можно использовать модели, которые наглядно описывают поведение комплексных алгоритмов. Также можно заменить часть реализации HDL моделью для дополнительных исследований. Реализация кода MATLAB или моделей Simulink при помощи ModelSim или других симуляторов позволяет немедленно увидеть поведение алгоритма, влияние архитектуры и выбрать варианты оптимизации разработки.
Ликвидация пробелов в процессе разработки: уменьшение количества ошибок и трудоемких задач при верификации алгоритма
Продукты MathWorks можно использовать совместно с имеющимися инструментами проверки функциональности кода HDL, поэтому разработчики могут применять их, практически не испытывая неудобств. Благодаря этому можно наладить более тесное сотрудничество между специалистами по системам управления и специалистами по разработке аппаратуры. В результате такой работы команды смогут тратить меньше времени на исправление ошибок, возникающих при передаче разработки из отдела в отдел, и более эффективно заниматься своими прямыми обязанностями: улучшать проект и проверять различные варианты реализации.


