您现在的位置是:首页 > 正文

芯片设计之CDC异步电路(二)

2024-02-01 01:39:26阅读 2

上文芯片设计之CDC异步电路(一)对比讲述了异步电路在前仿真中的行为与实际芯片的行为区别,本文继续讲几种常用的异步电路处理。

(一)单bit信号同步器

最经典的2DFF 1-bit同步器如下,下图结构通常用于单bit控制信号的异步处理:

绝大数情况下,当第一个寄存器R1进入亚稳态后,在第二级寄存器R2采样R1的输出前,R1的输出已经能稳定在0或1。

注意:

  • cdc_s信号必须做到glitch free,也就是我们通常说的寄存输出;

  • int_s信号链路禁止组合逻辑,其本质也是杜绝glitch的出现。

 

偏执狂的IC designer肯定会问,第一级寄存器R1的行为到底是啥样子的?由于cdc_s信号是Tx clock Domain,而R1寄存器的采用时钟是Rx clock Domain,当Rx clock采样时,若cdc_s正好跳变(不满足setup/hold),那么就会出现如下两种情况,而前仿真是无法仿真出下图2种行为的(具体见芯片设计之CDC异步电路(一)一文)。

 

(二DMUX同步器

两级寄存器(先进工艺要求三级)的同步器通常用于控制信号的异步处理,但是data bus的异步处理呢?我们可以采用DMUX结构。

 

注意:

  • tx_sel、rx_sel有效时,cdc_d数据总线必须保持稳定;

     

(三握手处理

源时钟域先将数据发送到总线上,并给出一个valid信号,而目标时钟域同步valid信号后,若valid信号为高电平则采样总线数据,并返回一个ready信号给源时钟域。源时钟域再次同步该ready信号,若ready信号为高,则代表一次握手成功,数据传输完毕,开始进行下一次数据传输。

采用握手机制可以保证异步multi-bit数据传输不出现错误,但由于需要等待握手的完成再传输数据,因此传输效率较低。

 

(四)异步FIFO

老生常谈的异步FIFO,其本质是采用格雷码,在地址连续的情况下,其对应格雷码每个周期只变化1bit,因此可以直接异步采样。

注意:

  • FIFO的overflow、underflow问题;

  • tx_addr是连续的,即地址hamming distance是1;

  • FIFO深度须2^n;

    经典的FIFO结构如下:

     

    核心电路:是将FIFO读写地址指针的二进制码转成格雷码,方便同步器打两拍传递到对向时钟域去做空满判断。

空满判断:为了区别空满,我们增加1bit的地址(MSB),我习惯直接用Gray码比较读写指针判定空满:

  • 当Gray码读写指针完全相等时,FIFO空;

  • 当Gray码读写指针最高2bit相反,其余bit相同时,FIFO满;

    通常二进制码比较空满是:最高bit不同,其余bit相同,则FIFO满,而格雷码则不同哈。

     

    不能继续熬夜了,先睡觉了,抽空接着写。

     

    感谢阅读文章,如果文章有用,麻烦点个“在看”或转发分享。

网站文章

  • Java-集合(LinkedHashSet类)

    Java-集合(LinkedHashSet类)

    1)LinkedHashSet是HashSet的子类;2)LinkedHashSet底层是一个LinkedHashMap,底层维护了一个数组+双向链表;3)LinkedHashSet根据元素的hashCode值来决定元素的存储位置,同时使用链表维护元素的次序,这使得元素看起来是以插入顺序保存的;4)LinkedHashSet不允许添加重复元素。...

    2024-02-01 01:39:19
  • configure参数的理解

    configure脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上--help选项执行configure脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的.下面对每一个选项进行简略的介绍:--cache-file=FILEconfigure

    2024-02-01 01:38:49
  • 方向标Directional Sign

    方向标Directional Sign

    方向标题目信息输入输出注测试样例解答题目信息A carpenter has received an order for a wooden directional sign. Each board mu...

    2024-02-01 01:38:43
  • postgresql遇到“Connection refused”和“No route to host”大概的解决方法

    一般我们遇到这个问题的时候都是连接远程主机的时候,会出现这个报错 psql: could not connect to server: connection refused Is the server...

    2024-02-01 01:38:37
  • 数据结构(陈越、何钦铭)学习笔记

    数据结构(陈越、何钦铭)学习笔记

    本系列文章为浙江大学陈越、何钦铭数据结构学习笔记,系列文章链接如下:文章目录一、基本概念二、线性结构三、树四、图五、排序六、散列查找一、基本概念数据结构基础:P1-基本概念数据结构基础:P1-基本概念...

    2024-02-01 01:38:04
  • node nrm切换镜像源

    nrm add 镜像源名称 镜像源地址 ,如。nrm test 镜像源名称 ,如。nrm use 镜像源名称 ,如。nrm del 镜像源名称 ,如。2、查看可用的镜像源。

    2024-02-01 01:37:53
  • 计算机安装了打印驱动无法打印,我的电脑装了打印机及驱动程序为何还是不能打印文件...

    将打印机搬到客户端电脑上,用驱动程序光盘在此电脑上完整安装打印机驱动程序。HP Deskjet 3320、3323、3325、3420、3425、3538、3558、3658、3668、3743、37...

    2024-02-01 01:37:25
  • 计算机病毒有熊猫病毒,世界最厉害的电脑病毒排名 熊猫烧香病毒最使人讨厌...

    计算机病毒有熊猫病毒,世界最厉害的电脑病毒排名 熊猫烧香病毒最使人讨厌...

    现在我们的生活离不开计算机。时代发展的过程当中,我们遭受过好几次病毒有关。很多病毒无孔不入。成为一个现象级的概念。可能我们现在一个什么都很完善的年代里,但是在通往完善的过程当中,遭遇过很多挫折。今天就...

    2024-02-01 01:37:17
  • Flink1.14 Source概念入门讲解与源码解析(一) 最新发布

    Flink1.14 Source概念入门讲解与源码解析(一) 最新发布

    目前可以看出,Souce接口的更新,其实是因为Flink在1.12之前将批处理任务与流处理任务分为两种实现模式。在底层实现中描述输入的数据如何被划分为不同的InputSplit,继承于 INputSp...

    2024-02-01 01:37:10
  • HTML5新特性(基本)

    HTML5的基本新特性 视频音频的加入 表单的自动验证

    2024-02-01 01:36:42