代码:数组传递、genvar、integer

数组传递:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值