硬件语言定义数组

来源:互联网 发布:网络病毒的加密技术 编辑:程序博客网 时间:2024/06/05 20:19

1.用Verilog语言定义数组

这里的内存模型指的是内存的行为模型。Verilog中提供了两维数组来帮助我们建立内存的行为模型。具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任何一个单元都可以通过一个下标去访问。这样的数组的定义方式如下:

reg [wordsize : 0] array_name [0 : arraysize];

      例如:

reg [7:0] my_memory [0:255];

其中 [7:0] 是内存的宽度,而[0:255]则是内存的深度(也就是有多少存储单元),其中宽度为8位,深度为256。地址0对应着数组中的0存储单元。

         如果要存储一个值到某个单元中去,可以这样做:

         my_memory [address] = data_in;

      而如果要从某个单元读出值,可以这么做:

         data_out = my_memory [address];

   2. 用VHDL语言定义数组

TYPE RAMType is ARRAY(arraysize downto 0) OF std_logic_vector(wordsize DOWNTO 0);--定义这样的结构体数组
SIGNAL mem:RAMType:=(others=>(others=>'0'));--使用mem[7]

使用方法:mem(index)<= datain;


0 0