什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么(转)

1、什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么? 
    同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 
    电路设计可分类为同步电路和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和 “完成”信号使之同步。由于异步电路具有下列优点--无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性--因此近年来对异步 电路研究增加快速,论文发表数以倍增,而Intel Pentium 4处理器设计,也开始采用异步电路设计。
    异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是 可以监控的。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时 钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。

2、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?
线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现(漏极或者集电极开路),由于不用oc门可能使灌电流过大,而烧坏逻辑门,同时在输出端口应加一个上拉电阻。(线或则是下拉电阻)

3、什么是Setup 和Holdup时间,setup和holdup时间区别. 
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿 有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定 不变的时间。如果hold time不够,数据同样不能被打入触发器。
建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果不满足建立和保持时间 的话,那么DFF将不能正确地采样到数据,将会出现stability的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量 就分别被称为建立时间裕量和保持时间裕量。

4、什么是竞争与冒险现象?怎样判断?如何消除? 
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。

5、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗? 
常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。 CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。cmos的高低电平分别 为:Vih>=0.7VDD,Vil<=0.3VDD;Voh>=0.9VDD,Vol<=0.1VDD. TTL的为:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v. 用cmos可直接驱动ttl;加上拉后,ttl可驱动cmos.

6、如何解决亚稳态。
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何 时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触 发器级联式传播下去。
解决方法:
1 降低系统时钟
2 用反应更快的FF
3 引入同步机制,防止亚稳态传播
4 改善时钟质量,用边沿变化快速的时钟信号
关键是器件使用比较好的工艺和时钟周期的裕量要大。

7、IC设计中同步复位与异步复位的区别。 
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。

8、MOORE 与 MEELEY状态机的特征。 
Moore 状态机的输出仅与当前状态值有关, 且只在时钟边沿到来时才会有状态变化. Mealy 状态机的输出不仅与当前状态值有关, 而且与当前输入值有关.

9、多时域设计中,如何处理信号跨时域。 
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步 器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立 保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信 号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概 率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。 如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。

10、给了reg的setup,hold时间,求中间组合逻辑的delay范围。 
Delay < period - setup – hold

11、时钟周期为T,触发器D1的寄存器到输出时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。 
T3setup>T+T2max,T3hold>T1min+T2min

12、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式。 
T+Tclkdealy>Tsetup+Tco+Tdelay;
Thold>Tclkdelay+Tco+Tdelay;

13、说说静态、动态时序模拟的优缺点。 
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过 对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计 进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;

14、一个四级的Mux,其中第二级信号为关键信号 如何改善timing。
关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改。

15、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大? 
和载流子有关,P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等

16、latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的。
latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。

17、BLOCKING NONBLOCKING 赋值的区别。 
非阻塞赋值:块内的赋值语句同时赋值,一般用在时序电路描述中

时间: 2024-10-06 22:31:33

什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么(转)的相关文章

触发器触发-同步电路和异步电路异处

前几天写verilog的时候遇到这个问题,以前没有注意到这个问题,真是不应该! 举例: 贴一段很简单的代码 module async(clk,rst_n,out); input clk,rst_n; output[7:0] out; reg[7:0] out; //async always @(posedge clk or negedge rst_n) begin if(!rst_n) out <= 8'h00; else out <= out + 1'b1; end //sync //alw

异步复位同步释放

同步复位与异步复位的优缺点 同步复位的优点: 一般能够确保电路是百分之百同步的. 确保复位只发生在有效时钟沿,可以作为过滤掉毛刺的手段. 同步复位的缺点: 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位.同时还要考虑如:时钟偏移.组合逻辑路径延时.复位延时等因素. 由于大多数的厂商目标库内的触发器都只有异步复位端口,采用同步复位的话,就会耗费较多的逻辑资源. 异步复位优点: 异步复位信号识别方便,而且可以很方便的使用全局复位. 由于大多数的厂商目标库内的触发器都有异步复位端口,

基础项目(9)异步复位同步触发程序设计讲解

写在前面的话 在FPGA设计中,很多同学会纠结到底是应该使用同步复位还是应该使用异步复位.实际上,无论是同步复位还是异步复位都有各自的优缺点.在这里梦翼师兄和大家一起学习另外一种复位信号的处理方式-异步复位同步释放.  基本概念 FPGA设计中常见的复位方式有同步复位和异步复位,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效:异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位:这两种复位方式在实际应用中都有其弊端存在,所以,一般都推荐使用异步复位同步释放的方式,是提高系统

异步复位 同步释放

在FPGA设计中常遇到复位的设计,一般情况下,复位分为同步复位和异步复位. 异步复位与同步复位相比,其利用到了D触发器的CLR端,消耗硬件资源小,所以在很多情况下各个模块的复位方式选取为异步复位.但是异步信号容易产生潜在的危险:当异步复位信号在时钟上升沿附近取消复位状态时,时序电路很可能在此出现问题. 解决这个问题的一个方法为,对异步复位信号进行预处理,使其成为异步复位.同步释放的形式. 我设计的电路如下: library ieee; use ieee.std_logic_1164.all; u

C# 异步转同步

当我们的程序运行时,调用了一段异步的逻辑A,这段异步的逻辑无法转化为同步(如动画.下载进度等) 而,我们又需要等待异步逻辑A处理完成,然后再执行其它逻辑B. 那就迫切需要将异步转同步了! //参数bool:若要将初始状态设置为终止,则为 true:若要将初始状态设置为非终止,则为 false AutoResetEvent autoResetEvent = new AutoResetEvent(false) AutoResetEvent 可以在线程间发送信号互相通信,通过调用 AWaitOne 来

JQuery 之 Ajax 异步和同步浅谈

Ajax 同步和异步的区别 同步是当 JS 代码加载到当前 Ajax 的时候会把页面里所有的代码停止加载,页面出现假死状态:当这个 Ajax 执行完毕后才会继续运行其他代码此时页面假死状态才会解除.反之异步则 Ajax 代码在运行时,其余的 JS 脚本依旧能够运行. 在 Jquery 中可以通过 async 的 true 和 false 设置同步或异步,在默认的情况下是为 true 即为异步. 接下来请看下 Sample Code: $.ajax({ type: "post", url

入门级的按键驱动——按键驱动笔记之poll机制-异步通知-同步互斥阻塞-定时器防抖

文章对应视频的第12课,第5.6.7.8节. 在这之前还有查询方式的驱动编写,中断方式的驱动编写,这篇文章中暂时没有这些类容.但这篇文章是以这些为基础写的,前面的内容有空补上. 按键驱动——按下按键,打印键值: 目录 概要 poll机制 异步通知 同步互斥阻塞 定时器防抖 概要: 查询方式: 12-3 缺点:占用CPU99%的资源.中断方式:12-4 缺点:调用read函数后如果没有按键按下,该函数永远不会结束,一直在等待按键按下. 优点:使用到了休眠机制,占用cpu资源极少.poll机制: 1

异步执行同步等待结果

需求: 我们的Server服务接收Http请求,经过一系列的异步请求其它Server(对,我们的Server是一个FrontServer)后,生成最终的结果,返回给请求者. 在这个过程中,需要我们的Server等待一定时间,如果结果无法得出,也需要给前端返回错误码. 这是一个非常常见的需求,我们的方案很朴素,直接用POSIX的pthread_xx 函数调用,具体如下 struct SessionTask { pthread_mutex_t result_lock; pthread_cond_t

[异步][事务][流程][设计]同步当场处理并返回处理结果,异步后如何返回. 如何解决?

举个例子1: 钱有100,两口子之前有约定要剩下90, 老公看到有100,花10元,花完以后因为事件异步,数据不一致,此时老婆刷新页面也看到100,再花10元.那最终是80元. 不符合用户的预期. 这个问题如何解决? 见http://www.jdon.com/46473#23145064 异步需要一个异步回调.(或者实现一个通知接口. 不如回调实现来的漂亮.) 异步需要事件 异步需要重试机制 昨天咨询了下我们的高T. 他认为是这样实现的: 这个场景在国外银行很常见,国外有夫妻卡. 先说说不用异步