My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members

vmodel

vmodel is verilog simulation tool for MATLAB based on Verilator. Goto english pages

vmodel это средство моделирования устройств описанных на языке Verilog внутри MATLAB. В качестве синтезатора vmodel использует Verilator.


По работе мне приходилось много времени тратить на отладку модулей, которые реализуют математику. Стандартные средства, которые предоставляют симуляторы Verilog (например: Active HDL) для этого не очень-то подходят.

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

С другой стороны возможности анализа результатов тестов тот же Active HDL предоставляет довольно скудные. Как правило можно смотреть результаты моделирования в виде временных диаграмм и сохранять их в файл. Построить поверхность ошибки или оценить статистические свойства ошибки преобразования довольно сложно (обычно предлагается сохранить результаты в файл и интерпретировать их в MATLAB).

Однажды коллега на работе предложил мне использовать Verilator. Первое, что мне бросилось в глаза - это скорость. Verilator по ощущениям оказался раза в два быстрее Active HDL.

Что делает Verilator? Он синтезирует ваш код на Verilog в модуль на c++. Дальше вам достаточно только написать ваш тест на c++ и все вместе скомпилировать. Это оказалось достаточно удобным решением. Но к сожалению я довольно слабый программист на C, тем более на С++. К тому же, для реализации тестов на С++ все равно многое приходится дописывать самому.

В тоже время в MATLAB есть все что надо для создания хороших тестов и анализа результата, кроме возможности моделировать HDL. Я в свое время пробовал использовать Aldeс MATLAB co-simulation, но он оказался на моем компьютере запредельно медленным. Некоторое время я пытался приучить себя к Verilator'у (чему явно способствовал переход на Linux), но потом пришел к выводу, что продуктивнее приучить MATLAB к Verilator'у. Так появился vmodel.

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

С уважением, Романов Алексей, руководитель проекта vmodel


  1. Инструкция по установке
  2. Инструкция по использованию
  3. Документация для разработчиков
  4. Авторы
Powered by Google Project Hosting