Возможно ли использовать строку в качестве параметра интерфейса SystemVerilog. У меня есть 4 экземпляра одного и того же интерфейса, и мне было интересно, могу ли я включать различные файлы утверждения для каждого экземпляра.Использование строки имени файла в качестве параметра интерфейса SystemVerilog?
Моего интерфейс выглядит следующим образом:
interface dai_if #(P_WD_DATA = 24,
string P_FILE_NAME = "assertion_file_name")();
//Internal Signal Defined Here
`include "assertion_file_name"
endinterface : dai_if
В верхнем уровне, где я инстанцирует четыре экземпляра У меня есть следующий код:
module tb_top;
parameter P_WD_DATA = 24;
parameter string DAI_SER_IN_FILE = "dai_ser_in_checkers.v";
parameter string DAI_SER_OUT_FILE = "dai_ser_out_checkers.v";
parameter string DAI_PAR_IN_FILE = "dai_par_in_checkers.v";
parameter string DAI_PAR_OUT_FILE = "dai_par_out_checkers.v";
Тогда я инстансовый каждый из интерфейсов, как это :
dai_if #(.P_WD_DATA(P_WD_DATA),
.P_FILE_NAME(DAI_SER_IN_FILE))
dai_ser_ivif();
Это правильный метод, или я что-то упускаю?
Благодаря
Это именно то, что я искал. Благодарю. –