简单的读写内部ram的ip核问题。。麻烦会的朋友浪费少少时间帮帮忙,有急用。。多谢。
我加了一个2位宽,4个位深的ram ip核,程序如下,综合没错,接着向问问怎么向里面写数据,还有怎么将数据读出来? 麻烦帮帮忙。。十分感谢。。。因为要急用,所以没时间去慢慢看书。。。还有我见例程有些参数要定义wire变量弄弄到子程序里面,请问什么情况时候用到。。wire和reg的区别我大概清楚,就是不明白问什么有些子程序参数要定义wire变量。。先谢谢帮忙的人。。module ram_top(
clk,
a,
d,
out
);
input clk;
input a;
input d;
output out;
ram2 ram2_1 (
.clka(clk),
.wea(1), // Bus
.addra(a), // Bus
.dina(d), // Bus
.douta(out)); // Bus
endmodule wire 是电路连接线,reg是寄存器。
子程序的参数当然要用wire型与外部电路相连。
读写ram很简单,你只需要按照ip核的时序来写就可以了。
论坛里有很多ram的控制器代码 ram2 ram2_1 (
.clka(clk),
.wea(1), // Bus
.addra(a), // Bus
.dina(d), // Bus
.douta(out)); // Bus
endmodule
读写的话,需要控制wea信号,可能高电平是写,低电平是读
wire和reg类型,简单一点,在assign或者模块输入输出赋值,是wire,在always里面是reg。
或者如ls所言
页:
[1]