PT静态时序分析 第五课 第六课

2023-10-31 21:30

本文主要是介绍PT静态时序分析 第五课 第六课,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第五课 Scripting:Collections and Procedures

关于TCL的语法部分,可以参考其它软件中的笔记。

  • Collections
    collection:是由collection的句柄指代的一组设计对象
set myvar [all_inputs] {"IN1","IN2","in3"}
  • Attributes
    可以用以下命令列出设计对象的属性:
list_attributes -application -class clock

两个示例:
在这里插入图片描述
示例2中-filter选项只选取出符合过滤项的对象

  • fordach
    tcl的循环语句foreach在collection里面不能使用,应当用PT特定的foreach_in_collection
foreach_in_collection variable collection(s) {body}

示例:
在这里插入图片描述

  • Procedures
    理解为进程或者函数,可以用来定义自己的命令。
    例如,在multadd.pt中定义如下进程:
proc multadd {a b c} {
expr $a * $b + $c
}

运行以后,就可以调用此函数:
在这里插入图片描述
另外一个示例,此脚本可以输出某一类路径的Slack值:
在这里插入图片描述

第六课

Models

Introduction to Modeling Solutions & Top-Down Design Planning Methodology

应当学会如何使用模型

  • Large System STA
    做完分模块的时序分析后需要做整合后的时序分析,整合后依然用STA的穷举法则会出现大量的重复和资源浪费。
    因此需要设定模型告诉工具模型之中的路径不需要关注(已用模型代替了分模块),只要分析模型之外的时序。

  • Interface Logic Model(ILMs)
    ILM模型会将模块内部的寄存器至寄存器的路径全部移除,只保留端口路径
    优点和缺点:
    在这里插入图片描述
    信息保留比较全面,模型的构建很快;但ILM模型只移除了路径,模块内部的寄存器信息被完整保留,并且无法被某些软件(例如DC)兼容。

  • Extracted Timing Models(ETMs)
    想要隐藏内部的寄存器信息,或者由DC软件兼容时,可以使用ELM模型,模块被简化为只有时序信息的黑盒子模型。
    在这里插入图片描述
    优点和缺点:
    在这里插入图片描述
    无法看到具体的信息,减少了runtime;但是模型本身的构建比较难,准确性降低

  • Quick Timing Models(QTM)
    QTM的时序模型不是由既有的模块提取出来的,而是用脚本定义的。
    适用于设计前期还没有具体布局布线时的模块。

三个模型可以用在数字模块设计的不同阶段

Top-down design

Timing closure:使设计的时序接近零slack的过程
Timing Convergence:使所有软件同意设计的时序接近零slack的过程
两者的概念有所区别

在这里插入图片描述
先对整体芯片施加约束,再去规划具体的模块。

  • 第①步
    用QTM模型进行初步的布局布线,然后再导入PT以及DC当中
    在这里插入图片描述
  • 第②步
    有了第一步的细分的数据之后,在PT中导入上一次得到的模块布线的ILM,来进行静态时序分析
    在这里插入图片描述
  • 第③步
    在这个阶段要用最终综合出网表逐渐替代原来的模型,来得到更准确的仿真数据。

在这里插入图片描述

这篇关于PT静态时序分析 第五课 第六课的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318250

相关文章

22.手绘Spring DI运行时序图

1.依赖注入发生的时间 当Spring loC容器完成了 Bean定义资源的定位、载入和解析注册以后,loC容器中已经管理类Bean 定义的相关数据,但是此时loC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况 发生: 、用户第一次调用getBean()方法时,loC容器触发依赖注入。 、当用户在配置文件中将<bean>元素配置了 lazy-init二false属性,即让

21.手绘Spring IOC运行时序图

1.再谈IOC与 DI IOC(lnversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让 容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们所看到的配置文件。 DI(Dependency Injection)依赖注入:就是指对象是被动接受依赖类

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

高度内卷下,企业如何通过VOC(客户之声)做好竞争分析?

VOC,即客户之声,是一种通过收集和分析客户反馈、需求和期望,来洞察市场趋势和竞争对手动态的方法。在高度内卷的市场环境下,VOC不仅能够帮助企业了解客户的真实需求,还能为企业提供宝贵的竞争情报,助力企业在竞争中占据有利地位。 那么,企业该如何通过VOC(客户之声)做好竞争分析呢?深圳天行健企业管理咨询公司解析如下: 首先,要建立完善的VOC收集机制。这包括通过线上渠道(如社交媒体、官网留言

打包体积分析和优化

webpack分析工具:webpack-bundle-analyzer 1. 通过<script src="./vue.js"></script>方式引入vue、vuex、vue-router等包(CDN) // webpack.config.jsif(process.env.NODE_ENV==='production') {module.exports = {devtool: 'none

Java中的大数据处理与分析架构

Java中的大数据处理与分析架构 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来讨论Java中的大数据处理与分析架构。随着大数据时代的到来,海量数据的存储、处理和分析变得至关重要。Java作为一门广泛使用的编程语言,在大数据领域有着广泛的应用。本文将介绍Java在大数据处理和分析中的关键技术和架构设计。 大数据处理与

段,页,段页,三种内存(RAM)管理机制分析

段,页,段页         是为实现虚拟内存而产生的技术。直接使用物理内存弊端:地址空间不隔离,内存使用效率低。 段 段:就是按照二进制文件的格式,在内存给进程分段(包括堆栈、数据段、代码段)。通过段寄存器中的段表来进行虚拟地址和物理地址的转换。 段实现的虚拟地址 = 段号+offset 物理地址:被分为很多个有编号的段,每个进程的虚拟地址都有段号,这样可以实现虚实地址之间的转换。其实所谓的地

静态文件及模板

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501 1  静态文件 动态Web应用也会需要静态文件,通常是CSS和JavaScript文件。Flask可以向已经配置好的Web服务器提供静态文件,只要在包或模块所在的目录中创建一个名为s

mediasoup 源码分析 (八)分析PlainTransport

mediasoup 源码分析 (六)分析PlainTransport 一、接收裸RTP流二、mediasoup 中udp建立过程 tips 一、接收裸RTP流 PlainTransport 可以接收裸RTP流,也可以接收AES加密的RTP流。源码中提供了一个通过ffmpeg发送裸RTP流到mediasoup的脚本,具体地址为:mediasoup-demo/broadcaste