Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
localparam在“内部”时出错;至于;基于Verilog的循环 参数N=4,FOO={N{4'd1}; //然后在生成循环中 genvar i; 对于(i=0;i_Verilog_Hdl - Fatal编程技术网

localparam在“内部”时出错;至于;基于Verilog的循环 参数N=4,FOO={N{4'd1}; //然后在生成循环中 genvar i; 对于(i=0;i

localparam在“内部”时出错;至于;基于Verilog的循环 参数N=4,FOO={N{4'd1}; //然后在生成循环中 genvar i; 对于(i=0;i,verilog,hdl,Verilog,Hdl,我得到了这个错误,但不明白为什么 parameter N = 4, FOO = { N { 4'd1 } }; //And then in the generate loop genvar i; for( i = 0; i < N; i = i + 1 ) begin : gen_loop localparam THIS_FOO = FOO[ i * 4 +: 4 ]; end wire [1:0] rr = THIS_FOO[1:0]; wire [1:0]

我得到了这个错误,但不明白为什么

parameter N = 4, FOO = { N { 4'd1 } };
//And then in the generate loop
genvar i;
for( i = 0; i < N; i = i + 1 )
    begin : gen_loop
       localparam THIS_FOO = FOO[ i * 4 +: 4 ];
   end
wire [1:0] rr = THIS_FOO[1:0];
wire [1:0] rt = THIS_FOO[3:2];
第344行:未声明。
第345行:未声明。
由于以前的错误,模块被忽略。
请告诉我哪里错了


您的
localparam
begin:gen\u loop..end
范围内声明。此外,您的generate
for
循环创建了块的多个版本,并带有名称

Line 344: <THIS_FOO> is not declared. 
Line 345: <THIS_FOO> is not declared.
Module <TCL_vec> ignored due to previous errors.
所以这个_-FOO也有多个版本,访问它们的方法是使用交叉引用符号

gen_loop[0]
gen_loop[1]
...
是的,您必须知道要访问循环的哪个迭代

因此,在您的案例中,它抱怨是因为您没有在您想要访问它的范围内声明此_FOO

wire [1:0] rr = gen_loop[0].THIS_FOO[1:0];
wire [1:0] rt = gen_loop[1].THIS_FOO[3:2];
...