在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 2426|回复: 2

[求助] 请教RAM读写的问题

[复制链接]
发表于 2015-8-17 21:12:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
按照本论坛某位前辈的方法,新建了一块RAM,然后仿真,代码及结果如下,现在的问题是:
1.仿真的结果douta出来的数据和我初始化的数据对不上,这是为什么呢?2.dina数据是做什么用的?
请高手指教~

顶层文件:
module ram2(
  input clk,input rst_n,
input ram1_en,
input [7:0] dina,
input [2:0] addr,
input wea,
output [7:0] douta
    );
ram1 sp_ram (
      .clka(clk), // input clka
      .rsta(rst_n), // input rsta
      .ena(ram1_en), // input ena
      .wea(wea), // input [0 : 0] wea
      .addra(addr), // input [2 : 0] addra
      .dina(dina), // input [7 : 0] dina
      .douta(douta) // output [7 : 0] douta
      );

endmodule


测试文件:
module ramtest;


// Inputs

reg clk;

reg rst_n;

reg ram1_en;

reg [7:0] dina;

reg [2:0] addr;

reg wea;


// Outputs

wire [7:0] douta;


// Instantiate the Unit Under Test (UUT)

ram2 uut (

.clk(clk),

.rst_n(rst_n),

.ram1_en(ram1_en),

.dina(dina),

.addr(addr),

.wea(wea),

.douta(douta)

);


initial begin

// Initialize Inputs
clk = 0;
ram1_en = 1;
rst_n = 0;
dina = 0;
addr = 0;
wea = 1;

#60 wea = 0;

end

always #10 clk = ~clk;
always #20 begin dina <= dina + 1; addr <= addr+1; end

endmodule


初始化的coe文件:
MEMORY_INITIALIZATION_RADIX=2;
MEMORY_INITIALIZATION_VECTOR=
01001111,
01000010,
01000011,
01000100,
01000101,
01000010,
01000100,
01000001;


结果

结果
发表于 2015-8-26 11:44:35 | 显示全部楼层
个人觉得你的激励有问题,你的复位没有撤销,所有的指令应该在复位撤销后在发送。
回复 支持 反对

使用道具 举报

发表于 2015-8-26 16:48:39 | 显示全部楼层
dina是写入的?似乎可以设置不要这个端口吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-13 21:33 , Processed in 0.017773 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表