Handson

Home‎ > ‎

MessageBox



部分留言


===============我是可爱的分割线===============
Jade 2009-07-16
刘同学:
    你好,IP核的datasheet我之前已经看过了,IP核我也能生成,关键的是调用RAM的IP核时(IP核的地址我自己控制),我用测试文件仿真出来的波形里面的地址一直是0,没有变,而输出却有数据,我就奇怪了,地址没变,输出应该没有数据啊?
PS:好像我控制地址的程序不对,因为仿真的时候地址一直是0.你能看看问题出在哪里吗?RAM的IP核地址能控制吗?RAM的IP核到底是怎么存储数据的啊?地址怎么控制?你知道多少就写多少吧。谢谢!

Reply:
小孔,你好!
我刚刚测试了一下,数据是通过coe文件传入。因水平有限,下面的testbench文件仅供参考。
-----我是可爱的分割线-----
module tb_rom_v;

// Inputs
reg [4:0] addr;
reg clk;
reg rst;

// Outputs
wire [7:0] dout;

// Instantiate the Unit Under Test (UUT)
rom uut (
.a(addr),
.clk(clk),
.qspo_rst(rst),
.qspo(dout)
);

always #5
clk=~clk;

initial begin
// Initialize Inputs
addr = 0;
clk = 0;
rst = 1;

// Wait 100 ns for global reset to finish
#100;

// Add stimulus here
rst = 0;
addr=5'd0;
#10
addr=5'd1;
#10
addr=5'd2;
#10
addr=5'd3;
#10
addr=5'd4;
#10
addr=5'd5;
#10
addr=5'd6;
#10
addr=5'd7;
#10
addr=5'd8;
#10
addr=5'd9;
#10
addr=5'd10;
#10
addr=5'd11;
#10
addr=5'd12;
#10
addr=5'd13;
#10
addr=5'd14;
#10
addr=5'd15;
#10
addr=5'd16;
#10
addr=5'd17;
#10
addr=5'd18;
#10
addr=5'd19;
#10
addr=5'd20;
#10
addr=5'd21;

end

endmodule
-----我是可爱的分割线-----