微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog testbench 常量数组

verilog testbench 常量数组

时间:10-02 整理:3721RD 点击:
写testbench的时候,激励信号,由于编码有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];

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top