0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨一下SDC的各种语法构成和整体结构

冬至子 来源:码农的假期 作者:Clark Zhao 2023-07-06 15:28 次阅读

引言

SDC是一个设计从RTL到netlist的桥梁,是FE/ME/BE都需要掌握的一项基本技能。通常情况来说,由前端工程师(designer)提供SDC文件是最合理的,因为只有designer才是最了解整个设计的结构的,所以最能够合情合理的提供出约束文件,但是,ME/BE又必须要能够看得懂,因为只有这样,在做综合和PR以及timing signoff的时候,在遇到问题时能够最快的定位timing问题的合理性。所以,接下来连续更新的文章,会从基础到深入,并结合实例的方式,跟大家一起探讨一下SDC的各种语法构成和整体结构,最终达成的目标就是每个人能够独立完整的提供合理的约束文件。

基础介绍

SDC全称是Synopsys Design Constraints Format,是由S公司最早提出的一种约束文件格式。主要用于指定design内部的Timing关系,约束Power消耗和Area大小。但是在这当中,最为关键的便是指定design的时序。其语法结构是基于TCL语法实现的。主要应用于综合、PR、以及STA过程当中,当然在其他方面也会有很大用途,比如CDC check。现在的SDC可以看做是一项标准的指令系统,基本上所有的EDA工具都可以兼容性识别。

tools行为简介

要想知道怎么约束一个design,我们首先需要清楚的知道,工具的行为是如何的。如图1所示,我们design通常情况下都是同步结构的设计,tools在做timing分析的时候,会将design中所有的path都抽象成这样前后两级DFF的结构。并将前一级的DFF作为source register,也称作launch register,将后一级的register作为destination register,也称作capture register。如果check setup,tools的默认行为是从launch DFF的当前触发沿到capture DFF的下一个触发沿之间的时间,如图中蓝色箭头所示。而check hold timing,tools的默认行为是从launch DFF的当前触发沿到capture DFF的当前触发沿之间的时间,如图中绿色箭头所示。

图片

图1 design中的基本timing path

所以,要想让tools能够自动的check到design中的所有path的setup/hold。就需要保证design中所有的path都可以抽象成这种R2R的结构。而通常情况下,所有的design,在抽象之后,其timing path都可以抽象为图2中示例的四种结构,分别是R2R,R2O,I2R,I2O。那现在问题来了,图中的R2R的结构,是符合工具自动check timing的行为(当然,这里前提是clock定义好了);但是另外的三种结构,是不符合工具自动check timing的行为的。所以这就需要我们自己去构造出符合工具行为的path。

图片

图2 design结构抽象

如图3所示,对于另外的三种path,我们需要做的就是在整个design的输入端、输出端分别虚拟一级DFF,如图中红色虚线register所示。这样,无论哪种结构(I2R/R2R/R2O/I2O),在工具看来都有了完整的launch DFF和capture DFF,从而就能够自动的完成timing check。

图片

图3 timing path构造

我们虚拟构造前后级register的过程,其实就是我们SDC中,设置input delay、output delay的过程。

SDC构成分析

通过上面的分析,我们可以知道,对于一个design,我们需要设置input/output delay约束以构造前后两级虚拟register。当然,要设置input/output delay,我们首先需要完成clock的定义;除此之外,我们整个design当中还有很多path,我们不想让工具完全按照自己的行为去做timing分析,因此还需要设置一些timing exceptions;最后工具能够完成这种自动timing check的过程,还需要我们提供一些DRC相关的约束。因此,总结之后,整个SDC结构可以划分为两大类,如图4所示,其中一类是timing constraints,实现对design的timing约束;另一类是DRC constrains,实现对tools DRC方面的约束。当然,此划分也是按照我自己的理解来做的,不同的方面来看,可以做出不同种类的划分。

图片

图4 SDC构成

图中timing constrains是最为关键的一部分,最好是由FE(即designer)提供,DRC constraints可以ME/BE或者timing signoff的相关人员,结合经验来提供具体约束。图中must部分,是每个SDC文件中基本上必须要有的,另外not must部分,通常情况下也是肯定存在的,并且这一部分约束通常会放松tools对timing的check,因此一定要谨慎…

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • EDA工具
    +关注

    关注

    4

    文章

    264

    浏览量

    31708
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59692
  • DRC
    DRC
    +关注

    关注

    2

    文章

    148

    浏览量

    36120
  • 虚拟机
    +关注

    关注

    1

    文章

    908

    浏览量

    28064
  • SDC
    SDC
    +关注

    关注

    0

    文章

    48

    浏览量

    15528
收藏 人收藏

    评论

    相关推荐

    探讨一下菊花链拓扑结构

    对于点到点拓扑我们只需要注意选择合适的匹配方式,并优化好整个channel的阻抗即可,但是当个网络上的器件超过两个时,信号可以选择的拓扑结构就会变得非常丰富了。
    的头像 发表于 06-15 15:47 1.8w次阅读
    <b class='flag-5'>探讨</b><b class='flag-5'>一下</b>菊花链拓扑<b class='flag-5'>结构</b>

    探讨一下,CRC校验的优势

    本帖最后由 ntmusic 于 2014-6-11 11:31 编辑 探讨一下,使用计算的2字节的CRC校验码和使用固定的2字节数据作为校验在保证数据传输正确方面有什么不同?
    发表于 06-11 11:21

    探讨一下这个可行?

    电子元器件、打板PCB、探讨等等,既可以省钱也可以交到有想法有创意的朋友,供电子DIY爱好者方便DIY。欢迎各位坛友起讨论一下,尽可能的提出
    发表于 05-30 21:26

    双色非标模具模胚在整体结构方面具备的特点

    的应用。本文就来为大家介绍一下,这种双色非标模具模胚在整体结构方面具备的特点。1、体型较大:就双色非标模具模胚的整体结构来看,其
    发表于 07-22 11:46

    TVM整体结构,TVM代码的基本构成

    出的代码或者指令,硬件驱动,软件端调用。  以上是TVM的主要结构,在来看一下TVM代码的基本构成。    图中箭头表示了相互逻辑关系。  Support:架构的些通用组件,比如so
    发表于 01-07 17:21

    了解一下Markdown的基本语法知识

    目录你好! 这是你第次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。硬件本次调试使用...
    发表于 08-04 08:26

    探讨一下机械硬盘为啥那么容易坏掉

    可能是在开机状态轻微的搬动了一下机箱,可能引起了盘片的闪崩。本着学习与自我学习的态度跟大家起来探讨一下机械硬盘为啥那么容易坏掉。机械硬盘
    发表于 09-08 08:04

    探讨一下机械硬盘为啥那么容易坏掉

    可能是在开机状态轻微的搬动了一下机箱,可能引起了盘片的闪崩。本着学习与自我学习的态度跟大家起来探讨一下机械硬盘为啥那么容易坏掉。首先,我
    发表于 09-08 06:00

    探讨一下深度学习在嵌入式设备上的应用

    下面来探讨一下深度学习在嵌入式设备上的应用,具体如下:1、深度学习的概念源于人工神经网络的研究,包含多个隐层的多层感知器(MLP) 是种原始的深度学习结构。深度学习通过组合低层特征形
    发表于 10-27 08:02

    监控系统设备构成的分层次结构详析

    监控系统设备构成的分层次结构详析 在这介召一下监控系统中采用的设备构成的分层次结构,在计算机网络中运用的拓扑
    发表于 12-18 09:56 1722次阅读

    探讨一下三星的自动智能充电小车

    探讨一下三星的自动智能充电小车 这个产品是把二手的充电电池再配合个逆变器转成交流,然后给车辆的交流充电口进行充电,上面配置了个简单的激光雷达,配置了所在区域的路径规划,里面还有
    的头像 发表于 09-17 11:03 4355次阅读

    XDC时钟约束的三种基本语法

    XDC 是 Xilinx Design Constraints 的简写,但其基础语法来源于业界统的约束规范SDC。XDC 在本质上就是 Tcl 语言,但其仅支持基本的 Tcl 语法
    的头像 发表于 01-30 17:29 9577次阅读

    简单探讨一下关于电线电缆的结构材料的相关知识

    是什么?接下来,淇玥高温线缆小编和大家探讨一下关于电线电缆的结构材料的相关知识。 从电线电缆的横截面来观察分析不同种类的产品,在结构元件上,总体可以分为导线、绝缘层、屏蔽和护层以及填充
    发表于 09-10 10:07 870次阅读

    电磁炉加热一下就停一下什么原因

    电磁炉加热一下就停一下什么原因。
    的头像 发表于 06-04 10:01 3.8w次阅读

    探讨一下关于贴片机在使用过程中会遇到的问题

    当大家在使用贴片机时,和使用任何SMT设备样,都可能会遇到各种的问题,所以为了更好的发挥贴片机的作用,大家必须要去更多的了解它,这里,托普科小编就跟大家来探讨一下,关于贴片机在使用过
    发表于 11-25 17:22 1641次阅读