网站搜索:
第4节 寄存器数组与存储器寻址
文章出处:与非网
更新于2008-05-18 07:53:59

寄存器数组

  • 在Verilog中可以说明一个寄存器数组。
    integer NUMS [7: 0]; // 包含8个整数的数组
    time t_vals [3: 0]; // 4个时间类型的数组
  • reg类型的数组通常用于描述存储器
    其语法为:
    reg [MSB : LSB] <memory_name> [first_addr : last_addr];
    [MSB : LSB]定义存储器字的位数
    [first_addr : last_addr]定义存储器的深度
    例如:
    reg [15: 0] MEM [0:1023]; // 1K x 16bit 的存储器
    reg [7: 0] PREP [‘hFFFE: ’hFFFF]; // 2 x 8bit 的存储器
  • 描述存储器时可以使用参数或任何合法表达式
    parameter wordsize = 16,memsize = 1024;
    reg [wordsize-1: 0] MEM3 [memsize-1: 0]; // 1K x 16bit 的存储器


存储器寻址

  • 存储器元素可以通过“数组下标”来寻址,也就是给出元素在存储器的位置来寻址。
    mem_name [地址表达式]
  • Verilog不支持多维数组。即只能对存储器字进行寻址,而不能对存储器中一个字的各个位进行寻址。  

 

<<上一节     下一节 >> 



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com