Verilog中的数组

  1. 概念:
    向量表示      : reg [7:0] count
    一维数组表示  : reg count [7:0] (默认每个元素位宽为一)
                    reg [7:0] count [3:0] 4个位宽为8元素的一维数组
    二维数组      :reg [7:0] count [3:0][3:0] 可以看作矩阵

  2. 赋值:
    向量:可以直接对整个向量赋值,也可以只对向量中的某些位赋值
    数组:只能对数组的某个变量或者数组的某个变量的某些位赋值

  • 对数组里的每个元素赋值:
    reg [0:3] Xrom [1:4]
    . . .
    Xrom[1] = 4’hA;
    Xrom[2] = 4’h8;
    Xrom[3] = 4’hF;
    Xrom[4] = 4’h2;
  • 用文件初始化:
    $readmemb (加载二进制值)
    $readmemb (加载十六进制值)
    调用格式:
    $readmemb(“simu.txt”, mem_2d);
    $readmemb(“simu.txt”, mem_2d,99,30);//只加载99到30
    $readmemb(“simu.txt”, mem_2d,66);//加载从66到0 都是从文件头开始加载 举例如下:
    reg [7:0] mem_2d [99:0];
    initial begin
    $readmemb(“simu.txt”, mem_2d);
    end
  1. 数组的调用:
    向量调用很简单直接调用就可
    数组调用如下:
    reg [7:0] count [3:0];
    reg [7:0] count1 [3:0][3:0];
    assign date1 = count[0][0];//表示将矩阵里0,0这个数赋给date
    assign date = count [2][3:0];//表示调用第三组的第四位
  • 20
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Verilog,可以使用数组来存储一组变量。可以使用数组来存储多个信号或数据,并对它们进行处理。以下是关于Verilog数组的用法: 1. 申明数组 使用reg或wire类型来申明数组。申明数组时需要指定数组的大小和每个元素的位宽。例如: ``` reg [7:0] my_array [0:3]; ``` 上面的代码定义了一个四个元素的数组,每个元素由8位组成。 2. 初始化数组 可以使用大括号来初始化数组,每个元素用逗号分隔。例如: ``` reg [7:0] my_array [0:3] = '{8'h11, 8'h22, 8'h33, 8'h44}; ``` 上面的代码定义了一个包含四个元素的数组,每个元素的值分别为0x11、0x22、0x33和0x44。 3. 访问数组元素 可以使用下标来访问数组元素。下标从0开始,到数组大小减1结束。例如: ``` reg [7:0] my_array [0:3] = '{8'h11, 8'h22, 8'h33, 8'h44}; reg [1:0] index = 2; //访问数组的第三个元素 reg [7:0] value = my_array[index]; ``` 上面的代码将数组的第三个元素(下标为2)的值赋给了变量value。 4. 循环访问数组 可以使用for循环来循环访问数组的元素。例如: ``` reg [7:0] my_array [0:3] = '{8'h11, 8'h22, 8'h33, 8'h44}; integer i; for (i = 0; i < 4; i = i + 1) begin $display("my_array[%0d] = %h", i, my_array[i]); end ``` 上面的代码使用for循环访问了数组的所有元素,并输出它们的值。 以上就是Verilog数组的基本用法。需要注意的是,在Verilog数组的使用有一些限制,例如不能在always块使用数组作为敏感信号。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值