1、同步电路和异步电路专业:集成电路设计与集成系统班级:四班学号:20092180姓名:朱海潮同步电路是说电路里的时钟相互之间是同步的,同步的含义不只局限于同一个 CLOCK,而是容许有多个 CLOCK,这些 CLOCK 的周期有倍数关系并且相互之间的相位关系是固定的就可以,比如,10ns, 5ns, 2.5ns 三个 CLOCK 的电路是同步电路。我们现在的综合,STA 都是针对同步电路的。 异步电路是指 CLOCK 之间没有倍数关系或者相互之间的相位关系不是固定的,比如 5ns, 3ns 两个 CLOCK 是异步的。异步电路无法作真正意义上的综合及 STA,如果在同步电路里夹杂有异步电路,就
2、set_flase_path。所以异步电路只有靠仿真来检查电路正确与否。【同步电路设计】同步电路的优点:1、同步电路比较容易使用寄存器的异步复位/置位端,以使整个电路有一个确定的初始状态;2、在可编程逻辑器件中,使用同步电路可以避免器件受温度,电压,工艺的影响,易于消除电路的毛刺,使设计更可靠,单板更稳定;3、同步电路可以很容易地组织流水线,提高芯片的运行速度,设计易实现;4、同步电路可以很好地利用先进的设计工具,如静态时序分析工具等,为设计者提供最大便利条件,便于电路错误分析,加快设计进度。5、所有的锁存器可以同时运行,延迟时间的计算变得极为简单;6、无错运行,无竞争运行;7、任意的锁存器之
3、间都可以自由交换数据;8、适用于 CAD 系统。同步电路设计的规则:1、尽可能在整个设计中只使用一个主时钟和同一个时钟沿,主时钟走全局时钟网络。2、在 FPGA 设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作异步接口考虑。3、当全部电路不能用同步电路思想设计时,即需要多个时钟来实现,则可以将全部电路分成若干局部同步电路(尽量以同一个时钟为一个模块) ,局部同步电路之间接口当作异步接口考虑。4、当必须采用多个时钟设计时,每个时钟信号的时钟偏差要严格控制。5.电路的实际最高工作频率不应大于理论最高工作频率,留有设计余量,保证芯片可靠工作。6、电路中所有寄存器、状态机在单板上电复位
4、时应处在一个已知的状态。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路。同步时序逻辑电路的特点是各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。电路的主要信号(如输出信号)都是由某个时钟沿触动触发器产生出来的,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如触发器,当上升延到来时,寄存器把端的电平传到输出端。同步时序电路可以很好地避免毛刺;布局布线
5、后仿真和用逻辑分析仪采样实际工作信号都没有毛刺。在同步电路设计中一般采用 D 触发器,异步电路设计中一般采用 Latch。Latch 是电平触发,register 是边沿触发,register 在同一时钟边沿触发系动作,符合同步电路的设计思想,而 latch 则属于异步电路设计,往往和导致时序分析困难,不适当的应用 latch 则会大量浪费芯片资源。仅仅为了测试,锁存器变得复杂,而且不能使用自由时钟,很不方便。但是同步电路也有一个如图 1 所示的很大优点。因为内部的锁存器用一个共用时钟完成同步任务,所以可以把任何一个锁存器的输出定为 0.另外一个锁存器的输出,通过各种组合电路,一直连到一个锁存
6、器的输入口,计算此间的逻辑门单元数目,就能得出这条线路的延迟时间。在这一点上,比起非同步电路有了长足的进步。因为非同步电路必须要考虑数据及时钟路线两方面的延时时间。所有的能内部锁存器都是用完全相同的系统时钟运行,形成了双锁存器结构,不必担忧竞争,这为电路设计带来了一个全新的设计方法。正如图 2 所示,我们完全可以忽略解码器的信号失效(hazard) ,因为那只限于内部使用的信号线。解码器的输出没有直接和其它的锁存器的时钟线路相连。所以,即使出了错误,在它运行到下一个时钟之前如果进行修正,就不必担心运行差错。如图 3 所示,内部锁存器是可以自由交换数据的。只有使用和双锁存器相同的时钟进行同步运行
7、,才可以交换数据。但是同步式电路通常可以满足此项条件。如何解决亚稳态亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器 输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。解决方法:1 降低系统时钟;2 用反应更快的 FF;3 引入同步机制,防止亚稳态传播;4 改善时钟质量,用边沿变化更快的时钟信号。关键是器件使用比较好的工艺和时钟周期的裕量要大。【异步电路设计】与同步电路相比,异步电路设计具有以下优点:1、
8、低功耗。由于精细度时钟门控和零备耗功;2、高速。运算速度有实际局部延时决定,而不是有全局最差(worst-case)延时决定;3、低电磁噪声辐射。局部时钟倾向于在随机时刻启动;4、对于电源电压、温度以及制作过程中参数的变化具有鲁棒性。时序是基于匹配延时的(并且能够对电路和导线延迟不敏感) ;5、更好的可重组性(composability)和模块化(modularity) 。采用简单的握手接口和局部时钟;6、没有时钟分配和时钟偏移(skew)问题。因为没有全局时钟信号,所以不需要在整个电路中以最小相位偏斜来分配时钟。异步设计中常见问题及其解决方法异步电路设计主要体现在时钟的使用上,如使用组合逻辑
9、时钟、级连时钟和多时钟网络;另外还有采用异步置位、复位、自清零、自复位等。这些异步电路的大量存在,一是增加设计难度,二是在出现错误时,电路分析比较困难,有时会严重影响设计进度。很多异步设计都可以转化为同步设计,对于可以转化的逻辑必须转化,不能转化的逻辑,应将异步的部分减到最小,而其前后级仍然应该采用同步设计。异步逻辑转化为同步逻辑的方法:1、组合逻辑产生的时钟;2、行波计数器/行波时钟;4、不规则的计数器;5、分频器;6、多时钟的同步化;7、RS 触发器;8、上升沿检测;9、下降沿检测;10、上升/下降沿检测;11、对计数器的译码对计数器译码,可能由于竞争冒险产生毛刺。如果后级采用了同步电路,
10、我们完全可以对此不予理会。如果对毛刺要求较高,推荐采用 Gray 编码(PLD)或 One-hot 编码(FPGA)的计数器,一般不要采用二进制码;12、门控时钟门控时钟是非常危险的,极易产生毛刺,使逻辑误动作。在可编程器件中,一般使用触发器的时钟使能端,而这样不增加资源,只要保证建立时间,可使毛刷不起作用。13、锁存器;14、多级时钟或多时钟网络;异步时序电路的最大缺点是容易产生毛刺,在布局布线后仿真和用逻辑分析逻辑分析仪观测实际信号时,这种毛刺尤其明显。一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为
11、存储元件。电路的稳定需要 有可靠的建立时间和保持时间,待下面介绍。下面介绍一下建立保持时间的问题建立时间() 是指在触发器的时钟上升沿到来以前,数据稳定不变的时间。如果建立时间不够,数据将不能在这个时钟上 升沿被打入触发器;保持时间( )是指在触发器的时钟上升沿到来以后,数据稳定不变的时间。如果保持时间不够,数据同样不能被打入触发器。数据稳定传输 必须满足建立时间和保持时间的要求,否则电路就会出现逻辑错误。什么是竞争与冒险现象?怎样判断?如何消除? 在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险
12、现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。【个人观点】电路设计可分为同步电路设计和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路布使用的时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。由于异步电路具有下列优点无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性因此近些年来对异步电路的研究增加快速,论文发表数以倍增,而 Intel Pentium 4 处理器设计,也开始采用异步电路设计。尽管异步集成电路具有同步电路不具有的一系列优点,目前的集成电路设计绝大部分仍然采用同步设计方法. 这主要是由于异步集成电路设计方法仍
13、不成熟和同步设计方法已为人熟知. 为此, 异步集成电路设计方法成为一个重要的研究领域。同步-异步电路转换设计方法从已有的同步电路描述着手, 将其全局时钟网络替换为本地握手电路, 然后使用与同步电路设计相同的 EDA 工具和流程来实现相应的异步电路。基于异步电路的发展前景越来越大,异步电路技术能否得到广泛应用,把成熟的同步电路设计方法转化成异步电路设计方法成为了关键。前面提到,同步电路可以很容易地组织流水线,提高芯片的运行速度,设计容易实现,那么将同步流水线转换成异步流水线,可以运用成熟的同步电路设计方法来实现异步电路设计。一种基于宏单元的异步电路设计自动化流程, 该流程能够快速地将同步流水线转
14、换成异步流水线, 提高了设计效率。基于宏单元异步电路设计流程可以与现有的同步EDA 设计工具进行整合, 采用设计人员熟悉的语言与工具, 支持工艺厂商提供的标准单元库. 该异步电路设计流程具体描述如下: 1) 采用Verilog/VHDL 对系统进行RT L 描述, 并进行仿真; 2) 对同步电路进行分析, 得出其流水线结构, 并将各级流水段的全局时钟信号替换为本地时钟信号; 3) 根据流水线结构生成相应的控制通路, 其中控制通路中的模块采用宏单元方式实现; 4) 对步骤2) 得到的数据通路进行综合, 并与步骤3) 得到的控制通路组合为最终的异步电路门级网表; 5) 布局布线, 并进行后仿; 6) 进行DRC/LVS 验证及功耗、性能等分析。经过实验比较,异步设计的组合逻辑充分优化带来了较大的面积开销,所以芯片总面积增加了约1.1%。在完全流水工作情况下, 异步微处理器的性能要差于同步微处理器,而在流水线处于非连续工作时, 异步电路性能将不受或较少受到握手开销的影响。而异步流水线是非连续工作,所以性能提高了6% 左右。该流程的另一重要好处是其直接对HDL 代码进行处理,而不涉及到具体的制造工艺,因此应用比较灵活。异步数据通路自动生成方法也可以直接应用到现有解同步设计流程中,以进一步提高解同步异步电路的性能。