[静态时序分析简明教程(八)]虚假路径

这篇具有很好参考价值的文章主要介绍了[静态时序分析简明教程(八)]虚假路径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、写在前面

一个数字芯片工程师核心竞争力是什么?不同的工程师可能给出不同的答复,有些人可能提到硬件描述语言,有些人可能会提到对于特定算法和协议的理解,有些人或许会提到对于软硬件的结合划分,作者想说,这些说法,其实对也不对,硬件描述语言,翻来覆去无非是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]				

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,但数据永远不会沿着这条路径进行传递,我们也需要设置虚假路径
[静态时序分析简明教程(八)]虚假路径

三、总结

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

到了这里,关于[静态时序分析简明教程(八)]虚假路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SAP报表简明教程

    SAP 报表简明教程   一、 报表需求,根据物料编码和物料类型 查询报表。用户输入界面要求如下:     二、 开始写代码。先进入 TCODE:SE38 ,新建一个程序。      点击创建按钮,如下图:      输入标题,写明 此程序的功能 作者,创建时间,点保存,     输入自己事先建

    2024年02月04日
    浏览(48)
  • HuggingFace简明教程

    视频链接:HuggingFace简明教程,BERT中文模型实战示例.NLP预训练模型,Transformers类库,datasets类库快速入门._哔哩哔哩_bilibili 什么是huggingface?huggingface是一个开源社区,它提供了先进的NLP模型,数据集,以及其他便利的工具。 数据集:Hugging Face – The AI community building the future.  这

    2024年01月25日
    浏览(50)
  • 【Verilator】 1 简明教程

    我是 雪天鱼 ,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。 欢迎来关注我的B站账号,我将定期更新IC设计教程。 B站账号: 雪天鱼 ,https://space.bilibili.com/397002941?spm_id_from=333.1007.0.0 先从GitHub下载实验代码 以一个用SystemVerilog编写的简单ALU来作为DUT(device under test)

    2024年02月02日
    浏览(69)
  • mpack简明教程

    本文先简单介绍MessagePack的基本概念。 然后,介绍一个MessagePack C API - MPack的通常使用。 接着尝试对MPack截断数据的读取。 注:本文完整代码见仓库。 如果你使用过C/C++的json库,那么上手MessagePack是比较容易的。关于C/C++ Json库的使用可见:C++ JSON库的一般使用方法-CSDN博客。

    2024年02月20日
    浏览(53)
  • Husky使用简明教程

    Husky 是一个流行的 Git 钩子工具,用于在不同的 Git 操作(如提交和推送)前自动运行脚本。比如代码格式化、静态检查等。这有助于保持代码库的质量和一致性。本教程将详细介绍 Husky 的原理、使用方式、配置方法以及如何在开发中集成 Husky。 Husky 原理 安装 Husky 配置 Hus

    2024年04月10日
    浏览(51)
  • SSH 隧道简明教程

    本章主要介绍了什么是 SSH 隧道以及如何使用 SSH 隧道,包括 SSH 隧道加密数据传输以及绕过防火墙。 SSH 隧道是 SSH 中的一种机制,它能够将其他 TCP 端口的网络数据通过 SSH 连接来转发,并且自动提供了相应的加密及解密服务。因为 SSH 为其他 TCP 链接提供了一个安全的通道来

    2024年02月06日
    浏览(54)
  • shell简明教程3函数

    在本章中,您将了解为什么以及何时需要使用函数。 你将学习如何创建函数以及如何使用函数。 我们将讨论变量及其作用域。 学习如何使用参数访问传递给函数的参数。 最后,您还将学习如何使用函数处理退出状态和返回代码。 计算机编程和应用程序开发中有一个概念叫

    2024年02月11日
    浏览(52)
  • Blender骨骼动画简明教程

    Blender 是首选的开源3D动画软件之一。 令人惊讶的是,开始创建简单的角色动画并不需要太多时间。 一旦获得最终的 3D 角色模型,你就可以使用该软件的众多动画功能和工具将其变为现实。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 例如,Blender 的绑定工具将帮助你实现角色

    2024年02月07日
    浏览(53)
  • AI绘画工具简明教程

    官方地址 首先需要邮箱注册,等待邀请(可能需要等待一两天) 能成功登录后会进入这样一个界面 https://app.scenario.com/generators 创建模型 提供的图片集上传的时候得是jpg,还需要裁剪成正方形。批量修改图片在线网站:https://www.birme.net/ 根据图集生成图片 官方网址:https://

    2024年02月11日
    浏览(72)
  • WebGPU开发简明教程【2023】

    WebGPU 是一种全新的现代 API,用于在 Web 应用程序中访问 GPU 的功能。 在 WebGPU 之前,有 WebGL,它提供了 WebGPU 功能的子集。 它启用了新一类丰富的网络内容,开发人员用它构建了令人惊叹的东西。 然而,它基于 2007 年发布的 OpenGL ES 2.0 API,而该 API 又基于更旧的 OpenGL API。

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包