前言

继续学习sdc的配置知识,这次思考的缘由是在写上一篇 【芯片前端】sdc学习日常——端口delay的正向设置与反向设置 中,写了这样一句话“还有一种方式,是把约束更恶劣的设置放在下面写,这样即使sigx被约束了两次,也会按更恶劣的配置进去。我理解更恶劣的应该是慢时钟的设置”。

但事实上写这句话时,我是非常困惑的,因为这和我之前工作里项目里的经验不一样的。我记得很清楚,之前的要求是把快时钟port的约束放在后面,这样当一个信号误被约束在两个port中时,令其约束在快时钟域的set_input_delay/set_output_delay中。在之前的实操中也一直是这样做的,当然我同时设置了-add并且进行细致的port review来保证没有错约和漏约的问题。

错约的后果

因此这次想讨论的问题就是,如果有错误约束,那么将慢信号约到快时钟域和快信号约到慢时钟域,哪一种会造成问题。

以set_input_delay示例,书中对其有明确的解释:

那么很明确的,input_delay =  clk2Q + C1 + C2的时间,换句话说留给C1的时间就是clk_period - input_delay。通过dc timing report也可以印证此事:

从report的计算里也可以很明确的看出,计算时序时是通过endpoint的时钟clk_period - input_delay来计算的时序违规。

在实际的sdc约束中,一般会以对应port的clk_period * ratio来设置delay。那么如果将快信号约束到慢时钟,clk_period * ratio会偏大,等效于输入信号的时序预期更加恶劣;将慢信号约束到快时钟,clk_period * ratio会偏小,等效于输入信号的时序预期更加乐观。而在更加恶劣的预期下match了时序要求,在真实情况下也必然是match的。而在乐观预期下match时序了,在真实情况delay更大的场景下,就有可能出现时序问题。

所以是不是说,应该将慢时钟域的set_delay语句放在下面写才是合理的?

【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考相关推荐

  1. set_input_delay/set_output_delay

    input delay和output delay是在SDC中经常会遇到的问题,看似简单其实还有很多模棱两可的问题的.特别是为什要设置input delay和output delay?常用的30%和70 ...

  2. 2021年秋招面经分享·ZEKU / OPPO【芯片前端设计工程师】

    前言 如果想参考本人背景情况的可见这篇概述 ============================ 正文开始 ============================== [时间线] 7.23 ze ...

  3. 【芯片前端】四年经验|芯片前端|IP设计岗|面试问题|总结分享

    面试基本落下帷幕,对聊到的问题和知识点做一下总结.很多问题回答的不好,结束后也进一步的思考了很多又有了一些新的拓展,也一并总结在这里. 异步FIFO相关 1.异步FIFO的实现原理. 把关键知识点说清 ...

  4. 芯片前端设计面经笔经总结

    芯片前端设计面经总结 总体来说,面试问的主要是项目+基础,不同公司侧重需求可能不同,基础主要靠看书总结,项目就老老实实把教研室项目吃透,是没有什么问题的. 前期准备 侧重学习了跨时钟域.低功耗的方法( ...

  5. 2020年数字设计/芯片前端面试经验-格科微+盛科科技+瑞晟+长江存储+兆芯

    // 格科微电子 介绍项目,对笔试题提问,只支持线下,只在学校三方下来后发带薪酬的OFFER // 笔试题见 点|墨 // 盛科科技 只支持线下,苏州做交换机的企业,强制一周三天加班到20.30 盛科 ...

  6. XDC约束技巧之时钟篇

    Xilinx©的新一代设计套件 Vivado 中引入了全新的约束文件 XDC,在很多规则和技巧上都跟上一代产品 ISE 中支持的 UCF 大不相同,给使用者带来许多额外挑战.Xilinx 工具专家告诉 ...

  7. 【Vivado使用误区与进阶】XDC约束技巧之时钟篇

    [Vivado使用误区与进阶]XDC约束技巧之时钟篇 Xilinx 的新一代设计套件Vivado中引入了全新的约束文件XDC,在很多规则和技巧上都跟上一代产品ISE中支持的UCF大不相同,给使用者带来 ...

  8. 【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考

    最近在看<硬件架构的艺术--数字电路的设计方法与技术>,学习细化了很多之前模棱两可的知识点,偶尔来总结输出一下,今天就是这个主题--门控电路: 门控结构 相传在很多年前,时序逻辑里是没有门 ...

  9. 【芯片前端】Filelist -f/-F的文件解析方式探究

    前言 测试所用的文件目录(列举关键文件): /home/xiaotu/my_work/uvm_demo -cfg/ -ctl/ -rtl/ -sim/-Makefile -tc/ -th/ -ver/ ...

最新文章

  1. 独家 | 手把手教你用Python构建你的第一个多标签图像分类模型(附案例)
  2. 转换营销阵地 特步的世界杯身影
  3. 洛谷 2680 (NOIp2015) 运输计划
  4. c语言 子进程,子Shell和子进程
  5. Introduction to the Optimizer --cbo
  6. python银行系统模拟演练_python多线程实现代码(模拟银行服务操作流程)
  7. 前端根据设计图精确开发 (攻具)
  8. “我的开源项目被大厂‘盗用’了!”
  9. python内置函数下划线_python(内置函数)
  10. oracle 数据库学习笔记
  11. php后台登录验证(含验证码)
  12. How to Become a Straight-A student
  13. 九宫格切图器(每天一个python小项目)
  14. CSSposition定位(relative、absolute、fixed、sticky)
  15. 使用KCP 加速游戏消息,让全球玩家流畅联网
  16. Win10应用程序无法正常启动 提示0xc0000142怎么解决?
  17. Python Day22
  18. Freemarker模板生成排版缩进问题
  19. wms仓储管理绩效评价指标的制定
  20. 将DAT格式视频文件转换成ASF和WMV格式视频文件

热门文章

  1. ! [rejected] master - master (fetch first) error: failed to push some refs to 'https://gith
  2. Istio - ingressgateway同时代理转发HTTP和TCP
  3. 行内元素与块级元素之间的区别及转化
  4. JAVA中Switch中使用Enum枚举类
  5. eclipse error pages红叉解决办法
  6. Git(Gitee)之 SSH环境部署,并使用 SSH 地址下载代码
  7. 2020-1-18学习总结
  8. Flutter获取设备信息(Android/IOS)
  9. Vagrant安装centos/7虚拟机
  10. 一题多解——求数组中每个元素出现的次数