遇到一个define的问题请教一下大神们
时间:10-02
整理:3721RD
点击:
在tb的def.svh文件里面define 一个rtl路径的一部分,带参数的。如下`define LA(a)tb.core.rtl``a``_sub
`define MT8
`define MN4
top.sv 里面的定义
wirea[31:0];
for(genvar i=0;i<`MT;i=i+1)
begin
for(genvar m=0;m<`MN;m=m+1)
begin
assign a[m+8*i] = LA(m).data[0];
end
end
这样子写会报出m识别成一个字符的语法错。rtla is synax error 之类的。
想知道这个define的定义错在哪里了。还是genvar的使用不对?
`define MT8
`define MN4
top.sv 里面的定义
wirea[31:0];
for(genvar i=0;i<`MT;i=i+1)
begin
for(genvar m=0;m<`MN;m=m+1)
begin
assign a[m+8*i] = LA(m).data[0];
end
end
这样子写会报出m识别成一个字符的语法错。rtla is synax error 之类的。
想知道这个define的定义错在哪里了。还是genvar的使用不对?
assign a[m+8*i] = `LA(m).data[0];