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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 28925|回复: 10

为什么后仿真时信号会在中间出现不稳定态? (无内容)

[复制链接]
发表于 2005-1-5 18:21:05 | 显示全部楼层 |阅读模式

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

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

x
发表于 2005-1-5 18:27:30 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

你说的是数字电路后仿真吗?
出现不定态的原因一般都是电路某处的触发器的建立/保持时间不满足要求。因后仿真的延时和前仿真有差异,很有可能会造成前仿真满足时序要求的电路,在后仿真时出现问题。
你可以追溯到出问题的触发器,用软件工具报一下信号路径的时序信息。然后再修正错误。
 楼主| 发表于 2005-1-5 18:45:46 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)



下面引用由boris2005/01/05 06:27pm 发表的内容:
你说的是数字电路后仿真吗?
出现不定态的原因一般都是电路某处的触发器的建立/保持时间不满足要求。因后仿真的延时和前仿真有差异,很有可能会造成前仿真满足时序要求的电路,在后仿真时出现问题。
你可以追溯 ...

用modelsim好象只能够查看顶层端口信号!各模块内部的信号看不见呀!
怎样知道是能够寄存器出错了呀??????
发表于 2005-1-5 20:29:17 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

modelsim?  use " vsim +no_notifier ....  "
发表于 2005-1-5 22:25:33 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

其实最有可能是你没有reset。
 楼主| 发表于 2005-1-6 08:56:53 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)



下面引用由seyior2005/01/05 08:29pm 发表的内容:
modelsim?  use " vsim +no_notifier ....  "

我用vsim -t 1ps +no_notifier +maxdelays -L simprims_ver  -lib work E1_TOP_T_tf_tf glbl进行后仿真是没有错误显示,但是去掉还是有!
能够告诉我,加 +no_notifier 是什么意义?

 楼主| 发表于 2005-1-6 09:13:04 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)



下面引用由bravelu2005/01/05 10:25pm 发表的内容:
其实最有可能是你没有reset。

我用的是在上电后DLL始终开始工作然后用一个SRL16(设INIT=16'h000f)来产生复位信号.
SRL16 SRL16_inst
(
    .Q(RST),       // SRL data output
    .A0(1'b1),     // Select[0] input
      .A1(1'b1),     // Select[1] input
    .A2(1'b1),     // Select[2] input
    .A3(1'b1),     // Select[3] input
    .CLK(CLKDV_dll),   // Clock input
    .D(1'B0)        // SRL data input
  );
这样行不?
 楼主| 发表于 2005-1-6 10:20:12 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

为什么这个错误老是改不了!!!!!!!
5_2087_7.bmp
发表于 2005-1-6 11:55:29 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

这个不定态产生的源头是在哪里?
 楼主| 发表于 2005-1-6 15:04:16 | 显示全部楼层

为什么后仿真时信号会在中间出现不稳定态? (无内容)

我现在就是不知道源头在那!
always @(posedge rst or negedge clock)
begin
if (rst)begin
//count=3'b000;
//r=0;
//w=0;
rd0=0;
rd1=0;
wr0=0;
wr1=0;
end
else
begin
rd0=rd1;
rd1=rd;
wr0=wr1;
wr1=wr;
end
end

always @(posedge rst or posedge clock)
begin
if (rst)begin
count=5'b00001;
r=0;
w=0;
end
else begin
if (((~wr0)&&wr1))
//if (ww)
begin
count=5'b00001;
w=1;
end
else
if ((!rd0)&rd1)
//if (dd)
begin
count=5'b00001;
r=1;
end
else if (count==5'b10000)begin
w=0;
r=0;
end
else if (count==5'b10000) count=5'b10000;
else  count=count<<1;
end
end
assign we=(w) ? 0 : 1;
assign oe=(r) ? 0 : 1;
就是we和oe信号有问题!
好郁~~~~~~~~~~~~~~~~~~~~~~~闷呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 03:39 , Processed in 0.025806 second(s), 10 queries , Gzip On, Redis On.

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