vhdl如何定义数组?

2019-03-25 07:37发布

用RAM 的IP核进行读写操作,要用数组将写进ram的值存储下来,下面是代码,编译不通过,出现Error (10476): VHDL error at testRam.vhd(61): type of identifier "datain" does not agree with its usage as "integer" type是我的输入的数据和地址都应该换成整数输入么?

TYPE matrix_index is array (31 downto 0) of std_logic_vector(31 downto 0);

SIGNAL men_data: matrix_index;

begin
       
        process(clock,rst)
                begin
               
                if(clock='1'and clock'event) then
                        if(rst='1')then
                                count <=(others=>'0');
                        else
                                if wren='0'then
                                                count <= count +1;
                                end if;
                        end if;
                end if;

                if(clock='1'and clock'event) then
                        if(rst='1')then
                                datain<=(others=>'0');
                                address1<=(others=>'0');
                        else
                                if wren='1'then                                   --写有效
                               
                                        datain<=datain+1;
                                        address1<=address1+1;
                                        men_data(datain)<=datain;
                                else                        --读有效 读出某个地址上的数据
                                        address1<=men_data(count);
                                end if;
                        end if;
                end if;
        end process;


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。