求助 verilog 数组初始化的问题
时间:10-02
整理:3721RD
点击:
有一个十进制的数组2 3 6 5 8 4 1 2 3,想用这组数作为输入,然后再作为索引,怎么初始化?怎么存储?求高手帮忙。
自己顶一个,就帮忙
晕倒,你是做C的吧
type mem is array (0 to 8) of std_logic_vector (3 downto 0);
signal a:mem:=(2, 3, 6, 5 , 8, 4, 1, 2, 3);
楼上的是VHDL的声明方式。
在Verilong HDL 中我的习惯是这样: 声明一组阵列 reg [3:0] Buffer_Reg_Array [7:0],
这样你再用一个Index的计数器对阵列进行索引。我用的索引通常有两种,都是在计数器从0加到8,
A: Buffer_Reg_Array [Index] 《= 。
B : CASE (Index)
4'h1 : Buffer_Reg_Array [0] <= ...
....
DEFAULT :...
ENDCASE
如果你的逻辑不是很复杂的话,建议第一个,简单易懂,但是这样的设计在综合的时候的电路比较复杂,效率差,如果你追求效率,尤其是高速的时候用第二个。
以上是一家直言,仅供参考。
这个简单,先学学语法吧.
