В настоящее время я разрабатываю модель Testbench на основе Verilog для DUT, у меня есть опыт работы с System Verilog TB и Verification IP, и я впервые разрабатываю чистый Verilog TB.
Я завершил базовую подготовку c блоков для запуска симуляции и ее работы должным образом. Но я застрял на реализации функционального покрытия (что я хочу сделать в блоке Sample Monitor). Я извлек функциональное покрытие из спецификаций, но как мне реализовать его в коде Verilog?
У нас есть ниже ( пример кода для демонстрации синтаксиса) поддержка в System Verilog для функционального покрытия,
covergroup example_group @ (posedge en);
parity : coverpoint par {
bins even = {0};
bins odd = {1};
}
endgroup
Есть ли способ реализовать функциональное покрытие в виде бункеров, точек и групп (в System Verilog) для отслеживания общего функционального покрытия в коде на основе verilog ?
Изменить: Я понял, что нет альтернативного синтаксиса для покрытия в Verilog, и я не хочу усложнять и тратить больше времени на реализацию покрытия счетчики. Также я не могу преобразовать свой Verilog TB в System Verilog из-за некоторых внутренних проблем с соглашением.