同步D触发器和异步D触发器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同步D触发器和异步D
触发器
集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-
同步和异步
实验时间:寒假第三周
实验地点:老校区16楼实验室
实验学生:刘欢
实验原理:1.同步时序电路:同步时序电路是指各触发器的时钟端全部
连接在一起,并接系统时钟端;只有当时钟脉冲到来时,电路的状态才能改
变;改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输
入x有无变化;状态表中的每个状态都是稳定的.
2.异步时序电路:异步时序电路是指电路中除以使用带时钟的
触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件;电路
中没有统一的时钟;电路状态的改变由外部输入的变化直接引起.可将异
步时序逻辑电路分为脉冲异步时序电路和电平异步时序电路.
实验内容:在这里我用D触发器来很明显的体现出同步和异步的区别。先
用verilog描述一个异步的D触发器,即就是当有时钟clk、reset、
set、信号时该处发起都会随时发出响应。然后描述一个同步的D触发
器,当有时钟脉冲时才会做出响应,而reset和set发生时只会等时终
发生变化才会做出响应。然后在测试用例中使用相同的信号,观察两个
触发器的区别。
异步D触发器:
module D_AT(output reg q,input d,input clk,input reset,input
set);//AsyncPostBackTrigger触发器
always @ (posedge clk or negedge reset or negedge set) //带有置位和复位的触发器
begin
if(!reset) //低电
平有效
q <= 0;
else if(!set)
q <= 1;
else
q <= d;
end
Endmodule
同步的D触发器:
module D_ST(output reg q,input d,input clk,input reset,input set);//synchronizer trigger
always @ (posedge clk)
begin
if(reset == 1) //高电平有效
q <= 0;
else if(set == 1)
q <= 1;
else
q <= d;
end
Endmodule
波形图:
对上图进行分析:q1为同步触发器输出信号,q2为异步触发器输出信号。因为同步是以高电平有效的,所以在set由低变高时,会发生置位,又因为是同步触发器,所以要等到CLK上升沿时才会变化,在图中很显然能表现出来;而异步触发器是低电平有效,所有当RESET由高变低时,会发生复位,又因为它是异步触发器,所以只要有复位信号就就会复位,不用管CLK是否有沿变化,图中很显然能够看出来。
注意:在设计电路的时候尽可能使用同步设计。因为异步设计问题常常会由于电压、温度或工艺制程的微妙变化而间歇性的表现出来。同步设计是一种正规的设计方法,他可以保证设计能够在要求的速度范围内正常工作,只要时序满足一定的范围延迟即使不能完全控制,也是相对可控的。同步设计不仅比异步设计更加可靠,而且大多数EDA工具现在也假定设计是同步的。