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

[复制链接]
5677|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

粉丝
快速回复 在线客服 返回列表 返回顶部