数组传递:
reg [5:0] a [0:7][0:2];//定义了个三维数组,一共是3组数据,每组数据有8个,每个数据是6位
a[1];//这种默认的是取得a的第一组数据
在.sv文件中是可以进行数组的传递的,但在.v文件中是不可以的,如果遇到这个问题,将文件中的相关文件改成.sv就可以
genvar、integer
两个都是用于表示变量的关键字
genvar
genvar只能用在‘generate’块中,通常用在循环中,用于多个实例化的生成,生成重复的硬件模块或逻辑;
不能用在一般的计算或信号表示;
无符号整型;
在仿真时看不到这个变量
genvar i;
generate//没有这个generate也行
for (i = 0; i < 4; i = i + 1) begin : gen_loop
// 实例化硬件模块
my_module u_my_module (
.input_port (input_signal[i]),
.output_port (output_signal[i])
);
end
endgenerate
integer
带符号的整型变量,
通常用于计数、计算,可以在模块、函数、任务、初始块中使用
integer counter;
initial begin
counter = 0;
forever begin
#10 counter = counter + 1;
end
end
integer i;
always @(posedge clk)being
for(i=0;i<5;i=i+1)
//任务,注意这里的任务都是在同一个时钟节拍下进行的
a[i]=1;//这里的a[0]、a[1]、a[2]、a[3]、a[4]都是在同一个时钟节拍下等于1的,在仿真过程中看到的是i从0直接变为5
end
end
7951

被折叠的 条评论
为什么被折叠?



