集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3418|回复: 6

例化RAM的使用~~求助

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-4-16 21:08:48 | 显示全部楼层 |阅读模式
我产生了一个16KRAM IP核,想把产生的随机数存入其中,但是,怎么也不行,检查表达式通过,可是,却没有将数据存入,哪位能帮我看一下,自己学真是太痛苦了;
module randomsystem(clk,rst,data_in,data_out,we,addr);
input clk,rst,we;//we --write enable
input [3 : 0] addr;
input[15:0]data_in;
output [15 : 0] data_out;
reg[15:0]data_out;
reg[15:0]data;
integer i,j;
parameter taps=16'h1001;//initial value of LFSR
[email=always@(posedge]always@(posedge[/email] clk or negedge rst)
begin
if (!rst)
data<=16'h0001;
else
begin
for (i=0;i<=15;i=i+1)
if(taps)
data[i+1]<=data^data[3];
else
data[i+1]<=data;
data[0]<=data[15];
$display("random=%d",data);
end
end
sigportBram uut (
  .clka(clka),
  .dina(dina),
  .addra(addra),
  .wea(wea),
  .douta(douta)
);
endmodule
老怪甲 该用户已被删除
 楼主| 老怪甲 发表于 2010-4-16 21:09:26 | 显示全部楼层
你好好检查你的代码,在@条件下产生的data,你用到什么地方去了?例化的RAM的端口信号里面你有使用这个data吗?
sigportBram uut (
  .clka(clka),
  .dina(dina),
  .addra(addra),
  .wea(wea),
  .douta(douta)
);
这上面的端口信号里面,自己好好看看。
yihui 发表于 2011-1-14 14:58:29 | 显示全部楼层
thanksgiving
snow37023702 发表于 2011-4-1 10:56:29 | 显示全部楼层
回复 2# 老怪甲


    你好,我想问一下,在一个模块中例化了一个双口ram,并存入了数据,如何在另一个模块中调用这个ram,取出其中的数据?
zqlzq 发表于 2011-4-2 12:10:26 | 显示全部楼层
好,顶一下……
wangli_peking 发表于 2011-4-5 21:28:35 | 显示全部楼层
还有就是wea信号,你确定你的时序给的是正确的么?
wangli_peking 发表于 2011-4-6 21:55:19 | 显示全部楼层
回复:“你好,我想问一下,在一个模块中例化了一个双口ram,并存入了数据,如何在另一个模块中调用这个ram,取出其中的数据?”
方法一:你在例化有双口ram的模块增加  addrb, .web(如果需要再加上enb),  doutb接口与另一个接口相连
方法二:直接不要把ram例化在某个模块里面,与另一个模块一样让ram出于它们同级的位置,一个模块控制写,另一个模块可以去读
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-22 20:51 , Processed in 0.068936 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表