verilog testbench 常量数组
时间:10-02
整理:3721RD
点击:
写testbench的时候,激励信号,由于编码有N种组合想写个常数数组实现
发现verilog没有这功能。
笨办法是写N段代码
有没有好一点的办法,用循环来实现?
谢谢!
发现verilog没有这功能。
笨办法是写N段代码
有没有好一点的办法,用循环来实现?
谢谢!
顶上去,现在审核怎么要这么长时间
可以用reg [x:0] reg_name [0:y]定义啊。
可以用generate来实现例如:
module gray2bin1
(
bin,
gray
);
parameter SIZE = 8;
output
[SIZE-1:0] bin;
input
[SIZE-1:0] gray;
genvar i;
generate
for(i=0; i<SIZE; i=i+1)begin: bit
assign bin = ^gray[SIZE-1:i];
end
endgenerate
endmodule
等同于下面的语句:
assign bin[0] = ^gray[SIZE-1:0];
assign bin[1] = ^gray[SIZE-1:1];
assign bin[2] = ^gray[SIZE-1:2];
assign bin[3] = ^gray[SIZE-1:3];
assign bin[4] = ^gray[SIZE-1:4];
assign bin[5] = ^gray[SIZE-1:5];
assign bin[6] = ^gray[SIZE-1:6];
assign bin[7] = ^gray[SIZE-1:7];
// use Array of 32-b registers
reg [32:0] array[N-1:0];
