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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2904|回复: 3

关于specify的延迟

[复制链接]
发表于 2005-10-15 15:28:56 | 显示全部楼层 |阅读模式

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

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

x
一个简单的组合逻辑电路,用到延迟说明快;
module delay(out,a,b,c);
output out;
input a,b,c;
and a1(n1,a,b);
or o1(out,c,n1);//out=(a&b)|c
specify
(a=>out)=2;
(b=>out)=3;
(c=>out)=1;
endspecify
endmodule
下面是测试程序:
`timescale 1ns/100ps
module tp_delay;
reg a,b,c;
wire out;
parameter dely=10;
delay delay1(out,a,b,c);
initial begin
a=1'b1;b=1'b1;c=1'b0;
#dely a=1'b0;b=1'b0;
#dely c=1'b1;
end
initial $monitor($time,,,"a=%d b=%d c=%d out=%d",a,b,c,out);
endmodule
用MODELSIM仿真结果为:
t(ps)        a    b    c   out
0            1    1    0     x
100          1    1    0     1
10000        0    0    0     1
10200        0    0    0     0
20000        0    0    1     0
20100        0    0    1     1
问题是:在延迟中,究竟以哪个变量为主,定义中从a,b,c到out的延迟时间分别是2,3,1个时间单位.最初赋值a,b,c分别为1,1,0,但过了100ps,out的状态变为1,似乎以c的延迟时间.但第二个赋值开始后,a,b,c分别为0,0,0,out延迟了200,似乎又以着a的延迟时间,所以我很糊涂,请大侠指点一二.
发表于 2005-10-15 21:45:08 | 显示全部楼层

关于specify的延迟

显示是对的;
你看,0ps时,三个信号变化,由于c是最快的,所以100ps就显示out变化;随后信号不再变化,不再输出;
10ns时,a,b变化,由于a比b快,所以200ps后,out变化。
 楼主| 发表于 2005-10-16 19:18:46 | 显示全部楼层

关于specify的延迟

谢谢斑竹,但是我还是有些不明白.这里的延迟是什么意思.0ps时,a,b,c三个信号开始发生变化,由于,其中c变化最快,100ps后值为0,200ps后a变为1,300ps时b为1,但
由于out=(a&b)|c,应该再300ps时,out才能得到确定的值啊,这样out变化的时间不是依赖延迟最长的激励信号吗?还请斑竹讲解一下.
发表于 2012-7-19 15:50:10 | 显示全部楼层
我也渴求答案阿
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-19 06:54 , Processed in 0.073256 second(s), 9 queries , Gzip On, Redis On.

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