|
Project Information
|
vmodelvmodel 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 |