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];//表示调用第三组的第四位

你可能感兴趣的:(Verilog语法,verilog)