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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2331|回复: 9

[求助] 帮忙看一下为什么没有输出?

[复制链接]
发表于 2012-4-1 11:23:14 | 显示全部楼层 |阅读模式

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

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

x
module rd_logic(
clk,
rst,
wr_ack,
valid,
rd_en
    );

input clk;
input rst;
input wr_ack;
input valid;
output rd_en;
reg [5:0] wr_count=6'b000000;
reg [5:0] temp=6'b000000;
reg rd_en;
always @(posedge clk or posedge rst)
begin
if(rst)
  wr_count<=0;
else
  begin
  if((wr_ack==1)&&(valid==0))
  
  wr_count<=wr_count+6'b000001;
  
  else
  begin
  if(wr_count==6'b110010)
   begin
   
   temp<=wr_count;
   wr_count<=0;
   
   if((wr_ack==0)&&(valid==1))
        temp<=temp-6'b000001;
            else
         temp<=temp;
   end
  else
   wr_count<=wr_count;
  end
  end
end

always @(posedge clk or posedge rst)
begin
if(rst)

  rd_en<=0;
  
else
begin

  if(temp==6'b110010)
  
   rd_en<=1;
   
  else if (temp==6'b000000)
  
   rd_en<=0;
   
  else
  
   rd_en<=rd_en;
   
end

end

endmodule


说明:利用wr_count 计数,为50时,rd_en有效,开始读数据,将wr_count的值赋给一个临时变量temp,成功读出一个数据时,temp值减1,直到temp值为零时,表示着五十个数据已经成功读出,再进行计数,满五十重复以上操作。

可是输出一直为零,不知道哪里的逻辑不对,帮忙看看,谢谢!
 楼主| 发表于 2012-4-1 11:26:37 | 显示全部楼层
Q.JPG
发表于 2012-4-1 14:56:18 | 显示全部楼层
什么狗屁code
发表于 2012-4-2 00:04:14 | 显示全部楼层
首先,你的reg [5:0] wr_count=6'b000000;  reg [5:0] temp=6'b000000;这么写是不对的,仿真没有问题,综合的时候会出错的,应该在复位模块中对其赋值。
其次,我觉得问题可能出在temp<=wr_count; wr_count<=0;你好好想想你的时序。。。。。。。。。。
发表于 2012-4-2 00:05:03 | 显示全部楼层
首先,你的reg [5:0] wr_count=6'b000000;  reg [5:0] temp=6'b000000;这么写是不对的,仿真没有问题,综合的时候会出错的,应该在复位模块中对其赋值。
其次,我觉得问题可能出在temp<=wr_count; wr_count<=0;你好好想想你的时序。。。。。。。。。。
 楼主| 发表于 2012-4-4 22:24:22 | 显示全部楼层
回复 3# bakelay


    哪凉快哪呆着去,得瑟什么呀!
 楼主| 发表于 2012-4-4 22:26:18 | 显示全部楼层
回复 5# jiaruihit


    嗯,好,我在仔细检查一下~
发表于 2012-4-4 22:52:58 | 显示全部楼层
说实话写的确实很不怎么样。reg [5:0] wr_count=6'b000000 意思是wr_count是恒定值。如果你想赋初始值,在testbanch里用initial语句。你写的是 if((wr_ack==1)&&(valid==0))时计数器加1,加到50时有输出,可你波形图里wr_ack==1&&valid==0才有几个周期啊?还有好多逻辑错误,看着感觉像第一次写代码似的
发表于 2012-4-5 08:32:24 | 显示全部楼层
仿真看一下temp的值是否正确
问题有可能是出在这里的
然后再确认一下testbench有没有问题的
 楼主| 发表于 2012-4-5 08:44:22 | 显示全部楼层
回复 8# wlyj000


    刚学不久
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-7-7 02:56 , Processed in 0.118548 second(s), 9 queries , Gzip On, Redis On.

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