FPGA高级设计:时序分析和收敛

原创 FPGA技术江湖 2024-05-06 07:06

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。


今天给大侠带来FPGA 高级设计:时序分析和收敛,话不多说,上货。



这里超链接一篇之前的STA的文章,仅供各位大侠参考。

FPGA STA(静态时序分析)

什么是静态时序分析?静态时序分析就是Static Timing Analysis,简称 STA。它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。



下面举一个最简单的例子来说明时序分析的基本概念。

假设信号需要从输入到输出在FPGA 内部经过一些逻辑延时和路径延时。我们的系统要求这个信号在 FPGA 内部的延时不 能超过 15ns,而开发工具在执行过程中找到了如图 1 所示的一些可能的布局布线方式。

么,怎样的布局布线能够达到我们的要求呢?仔细分析一番,发现所有路径的延时可能为 14ns14ns16ns17ns18ns有两条路径能够满足要求,布局布线就会选择满足要求的两条路径之一。


图 1 静态时序分析模型

因此,有些说法是错误的,不分什么情况就说时序不收敛,其实在不加约束的情况下谈 时序约束是没有意义的。




附加约束的基本作用:


1、提高设计的工作频率

对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。 通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高 工作频率。 


2、获得正确的时序分析报告

几乎所有的 FPGA 设计平台都包含静态时序分析工具,利用这类工具可以获得映射或 布局布线后的时序分析报告,从而对设计的性能做出评估。静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输 出正确的时序分析报告。 


3、指定 FPGA/CPLD 引脚位置与电气标准

FPGA/CPLD 的可编程特性使电路板设计加工和 FPGA/CPLD 设计可以同时进行,而不必等 FPGA/CPLD 引脚位置完全确定,从而节省了系统开发时间。这样,电路板加工完成后, 设计者要根据电路板的走线对 FPGA/CPLD 加上引脚位置约束,使 FPGA/CPLD 与电路板正确连接。另外通过约束还可以指定 IO 引脚所支持的接口标准和其他电气特性。为了满足日 新月异的通信发展,Xilinx 新型 FPGA/CPLD 可以通过 IO 引脚约束设置支持诸如 AGPBLVDSCTTGTLGTLPHSTLLDTLVCMOSLVDCILVDSLVPECLLVDSEXTLVTTLPCIPCIXSSTLULVDS 等丰富的 IO 接口标准。另外通过区域约束还能在 FPGA上规划各个模块的实现区域,通过物理布局布线约束,完成模块化设计等。 




静态时序分析中使用的各个模型分析:


1、周期(PERIOD)的含义

周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期的概念是 FPGA/ASIC 时序定义的基础概念。面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。周期约束是一个基本时序和综合约束,它附加在时钟网线上,时序分析工具根据PERIOD 约束检查时钟域内所有同步元件的时序是否满足要求。PERIOD 约束会自动处理寄存器时钟端的反相问题,如果相邻同步元件时钟相位相反,那么它们之间的延迟将被默认限制为 PERIOD 约束值的一半,如图 2 所示


图 2 周期定义

时钟的最小周期为:

TCLK = TCKO + TLOGIC + TNET + TSETUP - TCLK_SKEW 

TCLK_SKEW = TCD1 - TCD2(稳定时为负的)


其中 TCKO 为时钟输出时间,TLOGIC 为同步元件之间的组合逻辑延迟,TNET 为网线 延迟,TSETUP 为同步元件的建立时间,TCLK_SKEW 为时钟信号 TCD2 TCD1 延迟的差别。


2、关于输入到达时间


图 3 输入到达时间示意图


定义的含义是输入数据在有效时钟沿之后的 TARRIVAL 时刻到达。则 

TARRIVAL = TCKO + TOUTPUT + TLOGIC1


根据上面介绍的周期(Period)公式,我们可以得到:

Tcko + Toutput + Tlogic + Tinput + Tsetup - Tclk_skew = Tclk2) 


将公式 1 代入公式 2Tarrival + Tinput + Tsetup - Tclk_skew = Tclk,而 Tclk_skew 满足时序关系后为负,所以 TARRIVAL + TINPUT + TSETUP < Tclk3)。

这就是 Tarrival 应该满足的时序关系。其中 TINPUT 为输入端的组合逻辑、网线和 PAD的延迟之和,TSETUP 为输入同步元件的建立时间。 


3、数据延时和数据到达时间的关系


图 4 数据延时和数据到达时间的关系


TDELAY 为要求的芯片内部输入延迟,其最大值 TDELAY_MAX 与输入数据到达时间 TARRIVAL 的关系如图 4 所示。也就是说:

TDELAY_MAX + TARRIVAL = TPERIOD4) 

所以:

TDELAY < TDELAY_MAX = TPERIOD - TARRIVAL5) 


4、要求输出的稳定时间

从下一级输入端的延迟可以计算出当前设计输出的数据必须在何时稳定下来,根据这个 数据对设计输出端的逻辑布线进行约束,以满足下一级的建立时间要求,保证下一级采样的 数据是稳定的。计算要求的输出稳定时间如图 5 所示: 


图 5 要求的输出稳定时间示意图

公式的推导如下:

定义:TSTABLE = TLOGIC + TINPUT + TSETUP


从前面介绍的周期(Period)公式,可以得到(其中 TCLK_SKEW = TCLK1 - TCLK2):

TCLK = TCKO + TOUTPUT + TLOGIC + TINPUT + TSETUP + TCLK_SKEW 


将 TSTABLE 的定义代入到周期公式,可以得到:

TCLK = TCKO + TOUTPUT + TSTABLE + TCLK_SKEW 


所以:TCKO + TOUTPUT + TSTABLE < TCLK


这个公式就是 TSTABLE 必须要满足的基本时序关系,即本级的输出应该保持怎么样的 稳定状态,才能保证下级芯片的采样稳定。有时我们也称这个约束关系是输出数据的保持时 间的时序约束关系。只要满足上述关系,当前芯片输出端的数据比时钟上升沿提早 TSTABLE 时间稳定下来,下一级就可以正确地采样数据。其中 TOUTPUT 为设计中连接同步元件输出端的组合逻辑、网线和 PAD 的延迟之和,TCKO 为同步元件时钟输出时间。


下面阐述的是上面的时序概念对应于 Altera 中的几个重要的时序问题。


下面主要介绍 Altera 对应的这些时序概念和约束方法。前面首先介绍的第一个时序概念周期(Period),这个概念是 FPGA/ASIC 通用的一个概念,各方的定义相当统一,至多是描 述方式不同罢了,所有的 FPGA 设计都首先要进行周期约束,这样做的好处除了在综合与 布局布线时给出规定目标外,还能让时序分析工具考察整个设计的 Fmax 等。 

Altera 的周期定义如图 6 所示,公式描述如下:


图 6 Altera-clock period 


Clock Period = Clk – to – out + Data Delay + Setup Time - Clk Skew

即: Tclk = Tco + B + Tsu - (E-C) Fmax =1/Tclk 


对比一下前面的介绍,只要理解了 B 包含了两级寄存器之间的所有 logic net 的延时 就会发现与前面公式完全一致。 



其他一些重要的概念:

1Clock Setup Timetsu) 

要想正确采样数据,就必须使数据和使能信号在有效时钟沿到达前就准备好,所谓时钟建立时间就是指时钟到达前,数据和使能已经准备好的最小时间间隔。如图 7 所示:

 

图 7 tsu 示意图


这里定义Setup时间是站在同步时序整个路径上的,需要区别的是另一个概念Micro tsuMicro tsu 指的是一个触发器内部的建立时间,它是触发器的固有属性,一般典型值小于1~2nsXilinx 等的时序概念中,称 Altera Micro tsu setup 时间,用 Tsetup 表示,请 大家区分一下。

回到 Altera 的时序概念,Altera tsu 定义如下:

tsu = Data Delay – Clock Delay + Micro tsu 


2Clock Hold TimetH) 

时钟保持时间是只能保证有效时钟沿正确采用的数据和使能信号的最小稳定时间。其定 义如图 8 所示: 


图 8 tH示意图


时钟保持时间是只能保证有效时钟沿正确采用的数据和使能信号的最小稳定时间。其定 义如下图所示:定义的公式为:tH = Clock Delay – Data Delay + Micro tH 注:其中 Micro tH 是指寄存器内部的固有保持时间,同样是寄存器的一个固有参数, 典型值小于 1~2ns 


3Clock-to-Output Delaytco) 

这个时间指的是当时钟有效沿变化后,将数据推倒同步时序路径的输出端的最小时间间隔。如图 9 所示: 


图 9 tco 示意图


定义:tco = Clock Delay + Micro tco + Data Delay 


注:其中 Micor tco 也是一个寄存器的固有属性,指的是寄存器相应时钟有效沿,将数 据送到输出端口的内部时间参数。它与 Xilinx 的时序定义中,有一个概念叫 Tcko 是同一个概念。


4Pin to Pin Delaytpd) 

tpd 指输入管脚通过纯组合逻辑到达输出管脚这段路径的延时,特别需要说明的是,要求输入到输出之间只有组合逻辑,才是 tpd 延时。


5Slack

Slack 是表示设计是否满足时序的一个称谓,正的 Slack 表示满足时序(时序的余量),负的 Slack 表示不满足时序(时序的欠缺量)。

Slack 的定义和图形如图 10 所示:

图 10 Slack 示意图


Slack = Required clock period – Actual clock period Slack = Slack clock period – ( Micro tCO + Data Delay + Micro tSU ) 


6、始终偏斜

Clock Skew 指一个同源时钟到达两个不同的寄存器时钟端的时间偏移,如图 11 所示:

图 11 clock skew 示意图

END


往期精选 

 
 

【免费】FPGA工程师招聘平台

今日说“法”:FPGA芯片如何选型?

SANXIN-B01开发板verilog教程V3电子版

学员笔记连载 | FPGA Zynq 千兆以太网回环

就业班学员学习笔记分享:FPGA之HDMI、以太网篇

求职面试 | FPGA或IC面试题最新汇总篇

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

项目合作 | 承接FPGA项目公告

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2023.01.02更新)

FPGA就业班,2023.04.15开班,系统性学习FPGA,高薪就业,线上线下同步!

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

备注姓名+公司/学校+岗位/专业进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 118浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 76浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 189浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 105浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 502浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 58浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 123浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 64浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 156浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦