July 12th

1.同步逻辑,异步逻辑,同步电路,异步电路

同步逻辑是时钟之间有固定的因果关系,异步逻辑是各时钟之间没有固定的因果关系。

同步电路:所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟clk,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。

异步电路:电路没有统一的时钟,异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是可以监控的。通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路的稳定需要有可靠的建立时间和持时间。

2.线与

      如图,两个漏极分别直接接到SCL线或SDA线的方法就是线与。所谓线与,指的是它们任意一开关只要对地导通,这根线就一定是低电平平。线与可以简化电路。因为如果按照我们平时的数字逻辑,要将2个低电平信号送到图中的SCL线或SDA线上时,是要经过一个2输入或门才能做到的,而现在却可以直接接上就“搞定”了。

 

     线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。用OC门实现线与,应同时在输出端口应加一个上拉电阻。


3.亚稳态

     原因:在同步系统中,如果触发器的setup time / hold time不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是究竟是0还是1,这是随机的,与输入没有必然的关系。 

     危害:逻辑误判,亚稳态的传播

     亚稳态的解决办法:1.降低时钟频率。其原因在于,提供较长的resolution time可减小亚稳态传递到下一级的机会,提高系统的MTBF。   2.引入同步机制,防止亚稳态传播。   3.关键是器件使用比较好的工艺和时钟周期的裕量要。

 

4.竞争-冒险

     将门电路两个输入信号同时向相反的逻辑电平跳变的现象称为竞争

     由于竞争而在电路输出端可能产生尖峰脉冲的现象就称为竞争-冒险

     竞争-冒险的判断:1.如果逻辑函数可以简化为Y=A+A'或Y=A*A',则可判定存在竞争冒险。  2.卡诺图法,不是很懂

     解决办法:1.接入滤波电容。  2.引入选通脉冲。 3.修改逻辑设计,增加冗余项。 

 

5.常用逻辑电平

     TTL  CMOS   LVTTL     LVCMOS     LVDS    RS232    RS485    RS422    ECL   PECL   LVPECL

     TTL电平:Voh > 2.4 Vol < 0.4   Vih >2.0  Vil < 0.8   TTL电平一般过冲都会比较严重,可能在始端串22欧或33欧电阻

     CMOS电平:Voh = Vcc   Vol = GND    Vih > 0.7Vcc   Vil < 0.2Vcc

     LVTTL:对于5V电源的TTL电平,因为2.4V与5V之间还有很大空闲,对改善噪声容限并没什么好处,又会白白增大系统功耗,还会影响速度。所以后来就把一部分“砍”掉了,也就是LVTTL。  3.3V的LVTTL:Vih >2.0  Vil < 0.8    2.5V的LVTTL:Vih >1.7  Vil < 0.7

     LVCMOS:对应 LVTTL,出现了LVCMOS,可以与对应电平的LVTTL直接相互驱动。 3.3V LVCMOS      2.5V LVCMOS

 

6.同步复位与异步复位

     无论同步还是异步复位,在对触发器时序进行分析的时候,都要考虑复位端与时钟的相位关系。一般都推荐使用“异步复位,同步释放”的方式。

     同步复位,复位信号可以理解为一个普通的数据信号,它只有在时钟的跳变沿才会其作用,一般只要复位信号持续时间大于一个时钟周期,就可以保证正确复位。

           always @ (posedge clk) begin

                 if (!Rst_n)

                   ...

                end

     异步复位,无论时钟沿是否到来,只要复位信号有效,就对系统进行复位,表面上看跟时钟没有关系,但真实情况是异步复位也需考虑时钟跳变沿。在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。

             always @ (posedge clk or negedge Rst_n) begin

                   if (!Rst_n)

                  ...

                  end

 

7.Mealy状态机和Moore型状态机

     状态机一般分为三种类型:
          Moore型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状);
          Mealy型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入);
          混合型状态机。

     Moore型与Mealy型两种状态机的不同点在于,Moore型状态机的输出信号是直接由状态寄存器译码得到,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。

 

8.多时域设计中处理信号跨时域

     跨时域的信号要经过同步器同步,防止亚稳态传播。

     例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。

     这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。

     这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,像异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。

     如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题 。

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值