同步D触发器和异步D触发器

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

同步和异步

实验时间:寒假第三周

实验地点:老校区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 工具现在也假定设计是同步的。

相关文档
最新文档