时序分析基本概念介绍——SDC概述

2023-11-04

今天我们要介绍的时序概念是设计约束文件SDC. 全称Synopsys design constraints. SDC是一个设计中至关重要的一个文件。它对电路的时序,面积,功耗进行约束,它是设计的命脉,决定了芯片是否满足设计要求的规范。Timing工程师在release sdc时必须非常小心,一个错误的false path或者case constant就有可能导致整块芯片不工作。

Timing Constraint 为使用者所给定,用来检验设计电路时序的准则。我们在做STA前首先要了解各种约束是做什么的。

Timing Constraint按照它们的用途,大致分为以下几类:

(1)描述芯片的工作速度,即时钟的频率,包括create_clock,create_generated_clock

(2)描述芯片的边界约束,包括
set_input_delay,
set_output_delay

(3)描述芯片的一些设计违反rule(DRV),包括
set_max_fanout, set_max_capacitance, set_max_transition

(4)描述设计中一些特殊的路径,包括
set_false_path, set_multicycle_path

(5)描述设计中一些需要禁止的timing arc,例如set_disable_timing

需要注意的是,设计的不同阶段我们使用的sdc都有所不同(当然,有的公司比较强大,会有一套golden sdc)。比如说,综合时由于模型的粗糙,我们会选择过约sdc,将时钟频率设得更高一些;CTS之前,由于skew的不确定性,通常我们也会加大uncertainty;还有signoff tool与PR工具correlation问题,margin的设置也会不一样。

那我们如何去合理定义一个设计的sdc呢?

这是一项非常有难度的工作,其实常用的sdc命令就以下几条,但要准确运用他们可不容易。

clock相关:

create_clock

create_generated_clock

set_clock_uncertainty

set_clock_groups

set_input_delay

set_output_delay

系统接口相关:

set_input_transition

set_load

set_driving_cell

时序特例相关:

set_false_path

set_multicycle_path

逻辑赋值相关:

set_case_analysis

接下来几篇文章会分别介绍这些命令

还有一个最重要的前提条件是:我们必须要尽早有一张结构清晰的clock结构图。而且是越早做越好。clock结构最好是让前端设计人员给你,当然也可以通过cad软件自己去画一张。这边介绍一个比较好用的绿色小软件TinyCad. 简单易学~~在这里插入图片描述
也可以通过Verdi来trace电路结构,这也是很方便的,只需要读入设计的网表就行在这里插入图片描述
好了,今天就大致介绍一下sdc的基本概念,以后会分别介绍几个重要的sdc命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时序分析基本概念介绍——SDC概述 的相关文章

  • javascript原生项目:剑网三

    javascript原生项目 剑网三 技术 html css javascript 页面 欢迎页 游戏列表页 充值页 登录页 项目效果 ps 项目源码文件评论区见

随机推荐

  • 『数据结构』跳跃表

    本篇博客主要介绍一下跳跃表的原理和简单实现 什么是跳跃表 增加了向前指针的链表叫做跳表 跳表全称跳跃表 简称跳表 跳表是一个随机化的数据结构 实质就是一种可以进行二分查找的有序链表 跳表在原有的有序链表上面增加了多级索引 通过索引实现快速查
  • 七种经典排序算法小记

    首先要感谢MoreWindows的心得分享 通过他的文章 我更深入了解了这七种排序算法的思路 同时 也自己揣摩 手动敲代码实现了这些算法 为了加深理解 又给每一行代码加了注释 在此 特记下学习这七种排序算法的过程和心得 补充 冒泡排序 直接
  • Qt绑定UI界面和Qt类的四种方法

    1 Qt类头文件中 声明命名空间 namespace Ui class Widget 声明UI指针对象 public explicit Widget QWidget parent 0 private Ui Widget ui 源文件的构造函
  • webpack

    一 区别 前面两节我们有提到Loader与Plugin对应的概念 先来回顾下 loader 是文件加载器 能够加载资源文件 并对这些文件进行一些处理 诸如编译 压缩等 最终一起打包到指定的文件中 plugin 赋予了 webpack 各种灵
  • 拓世AIGC

    在 机器 自然力和科学的应用 一书中 马克思曾指出 火药 指南针 印刷术 这是预告资产阶级社会到来的三大发明 火药把骑士阶层炸得粉碎 指南针打开了世界市场并建立了殖民地 而印刷术则变成了新教的工具 这段话深刻阐释了科学技术对人类社会带来的深
  • 深度学习中的token和tokenization

    作为一名即将入学的研究生 在这个假期准备看一些论文为自己的科研做准备 结果刚开始就出现了停顿 在论文中出现了名词token 我无法对它做出很好的翻译 导致论文读不下去 网上对它的解释多种多样 经过查阅学习后 我的理解如下 我阅读的是英文文献
  • MySQL字符编码的修改及查看

    MySQL字符编码的修改及查看 1 修改MySQL的默认编码集 也称全局编码集 修改MySQL的全局配置文件 etc my cnf 在其中添加 character set server utf8 编码格式 collation server
  • C++11中Lambda表达式的基本用法和总结

    文章目录 前言 lambda的基本形式 lambda中的捕获列表 的常用方式 lambda表达式中mutable关键字 lambda作为形参传参的用法 前言 对于Lambda表达式 其实本质就是一个函数 其用法也和函数差不多 只不过它和函数
  • 简单了解JVM

    jvm作用 把一套程序在不同的平台上运行 可以实现自动的内存管理 自动的垃圾回收 jvm分为四大结构 1 类加载系统 负责从硬盘上加载字节码文件 2 运行时数据区 存储时的数据 分为栈 方法区 堆 本地方法栈 程序计数器 3 执行引擎 负责
  • Oracle入门笔记(二)——SQL Developer的基本使用

    Oracle各种连接和连接配置 1 Oracle自带SQL plus工具的使用 2 Navicat连接Oracle 3 SQL Developer连接Oracle 4 Oracle表空间 4 1永久表空间 4 2临时表空间 5 SQL De
  • 微信小程序实现画布生成海报功能

    微信小程序可以通过使用 标签来实现生成海报的功能 以下是基本实现步骤 1 在 WXML 文件中创建一个 标签 并设置其宽度和高度属性
  • MySQL磁盘使用率是什么_磁盘利用率和饱和度理解

    在这篇文章里 会介绍磁盘利用率 Utilization 和饱和度 Saturability 相关的知识 在之前的博客里面 我写了一些关于CPU使用率和饱和度之间有什么实质性不同 以及CPU使用率 饱和度如何从不同维度影响响应时间 RT 的文
  • lua 取一个数字的整数部分

    lua在对两个整数进行除法操作时不会向C那样将结果转换成整数 而是自动转换成浮点数 lua没有数据类型之分 如果要实现此功能需要取得结果中的整数部分 math ceil x Returns the smallest integer larg
  • Redis 持久化机制详解

    Redis是内存数据库 数据都是存储在内存中 为了避免进程退出导致数据的永久丢失 需要定期将Redis中的数据以某种形式 数据或命令 从内存保存到硬盘 当下次Redis重启时 利用持久化文件实现数据恢复 除此之外 为了进行灾难备份 可以将持
  • 首次进入小程序拒绝相机权限,再次允许camera组件显示不出来

    第一次进去拒绝授权开启摄像头后 再次进去允许授权 但是页面camera组件显示不出来 百度了一下 大家都说直接给camera组件写个显示隐藏 试过了 不是很理想 最终想到的解决办法 拒绝授权后进入的方法 官方的函数名 handleCamer
  • sqli-labs:less-21

    和20题很像 然后一看cookie是一个base64编码的 解码一下 是Dumb 所以cookie一个是注入点 只是有个base64编码 随便提一下 base32 只有大写字母和数字数字组成 或者后面有三个等号 base64 只有大写字母和
  • 【MATLAB】使用Classification Learner工具箱训练和预测数据

    近日对matlab内置的classification Learner 工具箱有所接触 现在整理一下关于使用该工具箱训练模型和预测数据的相关操作 一 原始数据 其中列向量为样本 行向量内为每个样本的6个特征 最后一列为样本的响应变量 即为样本
  • PyCharm社区版安装教程和环境配置及使用

    一 PyCharm官网下载 访问官网地址 https www jetbrains com pycharm 点击首页 Download 按钮 进入下载页面 选择Community下的 Download 如图 点击后进入 Thank you f
  • ntp服务器修改时区,部署ntp服务器笔记与时区的介绍与修改

    准备工作 server ip 10 1 1 119 client ip 10 1 1 56 关闭selinux vi etc selinux config SELINUX disabled 关闭iptables service iptabl
  • 时序分析基本概念介绍——SDC概述

    今天我们要介绍的时序概念是设计约束文件SDC 全称Synopsys design constraints SDC是一个设计中至关重要的一个文件 它对电路的时序 面积 功耗进行约束 它是设计的命脉 决定了芯片是否满足设计要求的规范 Timin