打印

请教!Quartus中D触发器仿真不了????

[复制链接]
4810|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jaych|  楼主 | 2010-10-13 12:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jaych 于 2010-10-13 12:56 编辑

以下是D触发器的代码:


module dflipflop(set,clk,reset,D,Q,Qn);
input set;
wire set;
input clk;
wire clk;
input reset;
wire reset;
input D;
wire D;
output Q;
reg Q;
output Qn;
wire Qn;
assign Qn=~Q;
always @( posedge clk or negedge set or negedge reset )
begin
if (!set)
Q<=1'b1;
else if (!reset)
Q<=1'b0;
else
Q=D;
end
endmodule


仿真出现:

而我查看了RTL

通过modelsim仿真,则是:


为什么在两次仿真中会得到不同的结果。
按照电路图,
resetset均为1时,输出Q应该等于输入D的,可是在Quartus仿真时却不然。


望高手解决疑惑~~~~!!!!

相关帖子

沙发
chengfeilong| | 2010-10-29 19:58 | 只看该作者
else
Q=D;
这个地方时不是应该用非阻塞赋值,
还有,在定义输入输出时,默认的就是wire型,不用再写出了。

使用特权

评论回复
板凳
sxhhhjicbb| | 2010-11-13 20:54 | 只看该作者
Q2下你住址的时候,reset和set都是高电平。电路路D值为三态所以Q值为三态。

使用特权

评论回复
地板
sxhhhjicbb| | 2010-11-13 20:56 | 只看该作者
modelsim中,你的reset和set都有了底电平的情况。所以Q得到赋值。估计是你的modelsim中的initial语句中加了初始化代码

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

37

帖子

1

粉丝