关于IC设计的一些问题1

1.格雷码的特点

①格雷码是两组相邻之间只有一位不同,其余各位都都相同,且0和最大位对应的格雷码也只有一位不同。

②格雷码是循环码,其特性使得其在形成和传输过程个引起的误差很小。

③二进制转格雷码:从最右边第一位开始,依次将每一位和左邻一位异或,作为格雷码对应的值,最左边一位不变。

2.FIFO的特点

①FIFO是一种先进先出的数据缓存器。与普通缓存器的区别是没有外部读写地址线,因此使用起来十分方便,其缺点是只能顺序写入写出数据,其数据地址由内部读写指针自动加1完成。

②根据时钟域的不同可以分成同步FIFO和异步FIFO;

一 同步FIFO的读时钟和写时钟是同一个时钟,FIFO内部的逻辑是同步逻辑,常用于交互数据缓冲。同步FIFO的空满状态可以使用1个计数信号产生

二 异步FIFO的写时钟和读时钟是异步时钟,读和写在不同的时钟下驱动FIFO内部的写逻辑和读逻辑的交互需要进行异步处理,异步FIFO常用于跨时钟域交互。异步FIFO的空满状态需要将读写指针转换成格雷码,然后再写/读时钟域下同步,判空时读写指针的格雷码完全相同,判满时读写指针的格雷码高两位不同,其余都相同。

③为了产生FIFO的空满状态,引入FIFO count计数器,用于指内部储存数据的个数。

一只有写操作时,FIFO count加1,只有读操作时,FIFO count减1,其他情况FIFO count保持。

二 当FIFO count为0时,说明FIFO是空的,FIFO EMPTY置位,当FIFO count =FIFO depth时,说明FIFO已满,FIFO_FULL置位。

3 同步复位和异步复位的优缺点

①同步复位的优点:当时钟有效沿到达之后才有效,抗干扰能力强,可以有效消除高于时钟频率的复位毛刺,有利于时序分析。缺点:大多数的逻辑门的DFF是异步复位端口,使用同步复位会大幅度增加逻辑资源的浪费,同步复位过度依赖时钟,且复位信号不能少于一个时钟周期。

②异步复位的优点:复位简单,只要有复位信号就可以有效复位,无需增加逻辑消耗。缺点:容易收到毛刺的干扰,造成虚假复位,若复位i新年好时钟刚好在时钟边沿撤销,很容易造成寄存器的输出产生亚文态。

4.什么是竞争冒险,怎么消除?

竞争:将门电路两个输入信号同时向相反的逻辑电平跳变(一个从1变为0,一个从0变为1)的现象称为竞争。

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

消除的方法:

一增加滤波电容。由竞争-冒险而产生的尖峰脉冲一般都很窄,所以只要在在输出端并接一个很小的滤波电容即可把尖峰脉冲的幅度削弱至门电路的阈值电压以下。

二修改逻辑/增加冗余项。通过增加冗余项,使得在某些输入不变的情况下,其中一个变量无论怎么变,输出都是1,进而不会产生竞争-冒险现象。

5.什么是同步电路和异步电路?

①同步电路指的是电路里面的所有触发器的输入端都源自一个系统的时钟脉冲相关,触发器的状态变化和系统时钟的状态变化相同步。

②异步电路指的是只有部分触发器的输入端与系统的时钟脉冲保持一致,只有这些触发器的状态变化和系统时钟的状态变化时候一致的,其他触发器的状态变化不与系统的时钟脉冲保持一致。

6.什么是亚稳态?如何消除?

①亚稳态是由于起存起D端没法满足建立时间或者保持时间的要求,导致其输出Q端不能确定,因此称之为亚稳态。可以采用两级寄存器同步,消除亚稳态。

7.为什么我们要采用异步复位,同步释放的方式?

首先,在异步复位中存在一个问题,即异步信号在触发器时钟有效沿附近释放的话,就会导致触发器的亚稳态,而同步复位也存在一个问题,即复位信号保持的有效电平必须大于一个时钟周期,才能确保正确采样,而采用异步复位,同步释放可以解决这两个问题。

8.同步设计中,FIFO对前后级的握手信号怎么产生?

只要FIFO一直没满,就可以一直接收数据,即对上级的应答信号READY就一直拉高。FIFO不为空,就可以一直向下发送数据,即数据发送信号VALID一直拉高。

9.跨时钟域的传输方式有哪些?

①单bit信号传输:

一 从快时钟域到慢时钟域时可能存在信号变化过快,慢时钟域采集不到的i情况出现,需要先对时钟域做电平展宽,在慢时钟域下同步展宽信号所生成的脉冲信号,最后在快时钟域下同步脉冲信号,用于拉低电平信号。

二 从慢时钟域到快时钟域:一般只需要经过一个两级触发器即可,其原理是第一级触发器可能猜到的值时亚稳态,但是经过一个周期的恢复时间,第二级采集到的值大概率时稳定的。

②多bit信号传输:

一 FIFO,使用异步FIFO可以解决多bit跨时钟传输的问题,因为FIFO本身具有储存的功能,如果写时钟域是快时钟域,读时钟域没有采集到的数据也会存储在FIFO中,不会漏采。,需要注意异步FIFO中判断空满时,地址数据也要进行读写时钟域之间的互相传输,这时候需要先将地址转换成格雷码,防止空满判断出现错误。

二 握手法:

Ⅰ写时钟域发送一个开始信号,读时钟域检测到后准备进行数据传输。

Ⅱ进行写时钟域向读时钟域的数传输,数据传输完毕后,读时钟域向写时钟域发送一个ack信号,表明自己已经接收到了数据。

Ⅲ写时钟域停止本次传输,等待下一次的数据传输。

三:从满时钟域到快时钟域时,可以将信号转换成格雷码,并同步,在快时钟域将格雷码转换成二进制即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值