首先ram是存储器,是有大小限制的,这个可以根据数据总线和地址总线看出来。
地址信号需要你自己产生,你程序中应该还有一个败巧陪控制模块,这个控制模块一方面接收你串口来的数据,一方面用察蠢来产生使能信号、写信号、地址信号。地址信号你可以用一个加法器,从0开始加,然后传递给ram就行了,先写地址总线,再写数据总线,这样宽闭稳定写。
1 NIOS增加一些地址枯烂线 数据线没悔漏,直接连到前码ram的接口访问2 利用avalon总线,把ram挂上去,一般需要做一个接口模块用于avalon总线协议,然后在SOPC里挂上去分配地址
1方式实现比较简单,如果ram只是给nios用,2方式比较好,可以简洁点。
不知道你扮迅现在明白了如缺稿没有,我是刚学完,感觉明白了,写入数据就是wea写使能为1,然后设置地址addra的同时,设置你要输入的dina即可完成写入,因为你要控制地址和输入数据,所以对于你来说,输入数据d,与a可以设成中间变量,不可以作为输入端口,因为输入端口你是不能设置的。比如wire [1:0]a, wire[1:0] d,然后写程序来控制a和d,达到写入数据的目的。这样顶层为 ram_top(clk,rst_n ,out)即可。其他都作为中间变渣孝量。读的话要是写使能wea变为0才能读的,输入你想读的地址即可输出欢迎分享,转载请注明来源:内存溢出
评论列表(0条)