码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [静态时序分析简明教程(八)]虚假路径


    静态时序分析简明教程-虚假路径

      • 一、写在前面
        • 1.1 快速导航链接·
      • 二、虚假路径
        • 2.1 set_false_path
        • 2.2 -from -to -through
        • 2.3 上升/下降沿 约束
        • 2.4 建立/保持 约束
        • 2.5 虚假路径示例
      • 三、总结

    一、写在前面

    一个数字芯片工程师的核心竞争力是什么?不同的工程师可能给出不同的答复,有些人可能提到硬件描述语言,有些人可能会提到对于特定算法和协议的理解,有些人或许会提到对于软硬件的结合划分,作者想说,这些说法,其实对也不对,硬件描述语言,翻来覆去无非是always和assign这几个语句的反复使用,而一些基础的协议算法,深究起来其实也并不复杂,于作者而言,在常规的技能以外,有两项额外的技能颇为重要,其中之一便为sdc/STA的分析能力,它的重要之处在于作为桥梁建立了前端和后端的连接,虽然对于DE工程师而言,初版交付的sdc往往不甚准确,也没有办法通过这份sdc生成一份无误的timing report,但sdc的内容体现却是完完整整的将时序约束从行为级的描述映射到了gate level这样一个真实的电路层次上面。
    写此专栏,一为学习记录,二为交流分享,以犒粉丝读者。

    1.1 快速导航链接·

    静态时序分析简明教程(一)绪论
    静态时序分析简明教程(二)基础知识:建立保持时间,违例修复,时序分析路径
    静态时序分析简明教程(三)备战秋招,如何看懂一个陌生的timing report
    静态时序分析简明教程(四)时钟常约束
    静态时序分析简明教程(五)生成时钟
    静态时序分析简明教程(六)时钟组与其他时钟特性
    静态时序分析简明教程(七)端口延迟
    静态时序分析简明教程(八)虚假路径
    静态时序分析简明教程(九)多周期路径
    静态时序分析简明教程(十)组合电路路径
    静态时序分析简明教程(十一)模式分析与约束管理
    静态时序分析简明教程(十二)浅议tcl语言

    二、虚假路径

    进入到第八章和第九章,我们讨论的内容转向了另一个方面,即针对于常规时序约束外的特殊路径,我们希望时序分析工具宽松的检查或者根本不检查,针对于这些非常规的时序约束,在第八章,我们将讨论虚假路径的概念,这种路径对应工具不检查,而在第九章,我们将讨论多周期路径,这种路径对应工具使用宽松的检查标准。

    2.1 set_false_path

    虚假路径的sdc命令为set_false_path,而它对应的BNF如下:

    set_false_path  [-setup] 
    				[-hold] 
    				[-rise] [-fall] 
    				[-from from_list] 
    				[-to to_list]
    				[-through through_list]
    				[-rise_from rise_from_list]
    				[-rise_to rise_to_list]
    				[-rise_through rise_through_list]
    				[-fall_from fall_from_list]
    				[-fall_to fall_to_list]
    				[-fall_through fall_through_list]
    				[-comment comment_string]				
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.2 -from -to -through

    我们首先介绍以上三个指令,以下是一个网状的设计
    在这里插入图片描述
    假如我们使用set_false_path -from S1的话,意味着从S1开始的所有路径都会被设置成虚假路径,时序分析工具会加以排除
    比如:S1->P1->X1->D1,或者是:S1->P1->X2->D2,这些路径合计有八条。

    假如我们使用set_false_path -through P1的话,意味着所有通过P1的路径,都会被设置成虚假路径。
    比如:S4->P1->X1->D1,或者是S3->P1->X2->D3等。

    假如我们使用set_false_path -to D1的话,意味着所有通过D1的路径,都会被设置成虚假路径。
    比如:S1->P1->X1->D1。

    此外,我们还可以使用 {X1,X2} 的形式来表示通过X1,X2中任意一条的路径。

    同时,-from -to只能是时序的起点和终点,但还有一种方式可以覆盖更多的电路元器件,比如:
    set_false_path -from CLK1,这个语句表示所有CLK1触发的电路元件,和所有相对于CLK1约束的输入端口都会作为虚假路径被排除。

    2.3 上升/下降沿 约束

    2.2节中讨论的虚假路径设定不区分上升沿或下降沿,假如设计人员想要为特定的过渡过程(上升沿/下降沿)提供虚假路径的约束话,可以通过如下的形式完成

    • -rise_from :影响起始点的上升过程
    • -fall_from :影响起始点的下降过程
    • -rise_through :影响通过点的上升过程
    • -fall_through : 影响通过点的下降过程
    • -rise_to :影响终点的上升过程
    • -fall_to : 影响终点的下降过程
    • -rise : 仅影响上升过程
    • -fall :仅影响下降过程

    2.4 建立/保持 约束

    我们同样可以单独的约束虚假路径的建立时间或者保持时间 通过 -setup 或者 -hold 的形式加以约束。

    2.5 虚假路径示例

    虚假路径的设置,在真实的电路设计中并不少见,通常来说,不同频率的时钟之间,亦或是异步的复位端口,都会设置虚拟路径加以约束。此外,比如总线协议中,也常常出现虚假路径,比如下面的图片中,若协议规定从机与从机之间不能有直接的通信,虽然通过总线,存在路径连接从机12,但数据永远不会沿着这条路径进行传递,我们也需要设置虚假路径
    在这里插入图片描述

    三、总结

    虚假路径作为时序分析的一种特殊情况,经常的出现在实际电路的设计中,然而,对于另一些时序分析的特殊情况而言,我们可能需要定时路径,并且使用多个时钟周期来传递信息,在第九节中,我们会讨论多周期路径的有关内容,使用相应的命令,提供超过单周期的更大范围。

  • 相关阅读:
    反射(类加载、加载流程、加载的五个阶段、获取类结构信息、反射暴破创建实例、操作属性、操作方法)
    js如何阻塞固定时间
    Android基础第七天 | 字节跳动第四届青训营笔记
    R包:TreeAndLeaf二分类树构建R包
    Git常用方法
    浅析 Redis 中 String 数据类型及其底层编码
    【C++】STL——vector(万字详解)
    PostgreSQL 事务与并发控制
    初识Kafka
    java计算机毕业设计高校就业服务网站MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/weixin_43698385/article/details/128163555
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号