加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

数字IC设计中异步FIFO的时序约束

03/27 08:57
8097
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

使用异步FIFO同步源自不同时钟域的数据是在数字IC设计中经常使用的方法。在异步FIFO中,读指针在读时钟域,写指针在写时钟域,所以不能单独运用一个计数器去产生空满信号了。因此,须要将写指针同步到读时钟域去产生空信号,将读指针同步到写时钟域去产生满信号。

对异步FIFO的读、写指针进行判断,我们首先需要将其同步到统一的时钟域下,而这就引发出了新的问题—-读、写指针在大多数情况下都不是个单bit信号,而是个多bit信号。如果读、写指针直接使用二进制的形式进行同步,则难以避免同步过程中会出现的多个bit信号同时变化的问题。如7(0111)跳转到8(1000),此时有4个bit信号都发生了变化,如果直接同步,则由于不同信号之间的延迟(skew)差别,可能导致亚稳态、错采、漏采等等问题。为解决因可能的skew问题造成的亚稳态所以采用格雷码异步FIFO,格雷码每相邻位之间只有一个比特的变化。FIFO的指针是递增的,这使得在传输递增的多bit信号时,格雷码具有天然的优势。

下图为常见格雷码异步FIFO组成框图,包含四个主要部分。FIFO写控制端用于判断是否可以写入数据,读控制端用于判断是否可以读取数据,FIFO Memory用于存储数据,两个时钟同步模块用于将读写时钟进行同步处理。

下图为时钟同步模块的组成示意图。写操作时,时钟同步模块先将写地址指针转换成格雷码,然后通过两级同步器(两级同步在读时钟下进行),将写地址指针同步到读时钟域下;读操作时,时钟同步模块先将读地址指针转换成格雷码,然后通过两级同步器(两级同步在写时钟下进行),将读地址指针同步到写时钟域下。

格雷码异步FIFO解决了跨时钟的数据同步化问题,但如果不额外约束还可能存在其他两个问题;一是格雷码各比特位延时不一致,导致同步器采样的地址不符合gray规律,导致FIFO功能异常;二是格雷码到两级同步器的延时太大,导致异步FIFO性能下降。

为了解决上述两个问题,一般采用set_max_delay来对写操作时from point(写地址格雷码转换模块中的最后一个寄存器的时钟端口)到to point(两级同步器的第一级寄存器的数据端口)的max delay进行约束;对读操作时from point(读地址格雷码转换模块中的最后一个寄存器的时钟端口)到to point(两级同步器的第一级寄存器的数据端口)的max delay进行约束;延时可设置为读写时钟中最快时钟周期的一半,也可以设置成源端时钟的一半。例如:

set_max_delay [expr 0.5*$period_fast_clk] -from [get_pins “XX/waddr_gray_reg/CP”] -to [get_pins “XX/synchronizer_2x_r1/D”]

为了解决上述两个问题,还会使用set_clock_groups -asynchronous将所涉及的读写时钟设置为异步时钟群组。这种约束和false path的区别很大;false path会认为该path上的timing arc不用去分析时序、DRV(max trans、max cap 和max fanout 等)以及串扰噪声情况,也就是说工具会认为false path上的时序和信号质量对设计功能没影响;set_clock_groups -asynchronous也不分析两个时钟域之间的交互的path上时序情况,但是会分析该path上的timing arc的DRV和串扰噪声情况,保证信号质量。例如:

set_clock_groups -asynchronous -group clock1 -group clock2

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
MDF7-22S-2.54DSA(56) 1 Hirose Electric Co Ltd Board Connector, 22 Contact(s), 1 Row(s), Female, Straight, 0.1 inch Pitch, Solder Terminal, Locking, Black Insulator, Receptacle, ROHS COMPLIANT
$4.69 查看
39-01-2040 1 Molex Rectangular Power Connector, 4 Contact(s), Female, Crimp Terminal, Receptacle,

ECAD模型

下载ECAD模型
$0.18 查看
51281-0894 1 Molex Card Edge Connector, 8 Contact(s), 1 Row(s), Female, Right Angle, 0.02 inch Pitch, Surface Mount Terminal, Locking, LEAD FREE

ECAD模型

下载ECAD模型
$1.84 查看

相关推荐

电子产业图谱

前华为海思工程师;与非网2022年度影响力创作者;IC技术圈成员。

微信公众号