简单的fpga读写内部ram的问题。。麻烦帮帮忙。。谢谢

2024-12-24 19:50:18
推荐回答(3个)
回答1:

不知道你现在明白了没有,我是刚学完,感觉明白了,写入数据就是wea写使能为1,然后设置地址addra的同时,设置你要输入的dina即可完成写入,因为你要控制地址和输入数据,所以对于你来说,输入数据d,与a可以设成中间变量,不可以作为输入端口,因为输入端口你是不能设置的。比如wire [1:0]a, wire[1:0] d,然后写程序来控制a和d,达到写入数据的目的。这样顶层为 ram_top(clk,rst_n ,out);即可。其他都作为中间变量。读的话要是写使能wea变为0才能读的,输入你想读的地址即可输出

回答2:

初始化数据可以新建一个.hex或者.mif文件,引用ram ip核的时候向导里有个可以添加初始化文件的地方,关联到你写的那个文件就可以了。模块例化的时候,要把中间需要用到的变量定义成wire型的,相当是个声明的作用吧,不定义会出警告,有时也不影响运行结果但我遇到过会影响结果的情况,而且对于好的写代码习惯也是需要的

回答3:

111111