html里自动添加startic路径,数字IC基本概念之时序路径

转自微信公众号 “数字芯片实验室”,讲解非常到位,转过来仔细分析,如有侵权请联系作者删除

时序分析工具可以查找并分析设计中的所有时序路径(timing paths)。 每条时序路径有一个起点(startpoint)和一个终点(endpoint)。

起点是设计中数据由时钟边沿触发的位置。 数据通过时序路径中的组合逻辑传播,然后被另一个时钟边沿在终点捕获。

时序路径的起点是时序元件的时钟引脚或设计的输入端口。

时钟边沿在起始点触发数据。 输入端口也能被视作起点,是因为输入端口是由外部源触发的。

时钟边沿在终点捕获数据。输出端口也能被视作终点,是因为输出端口是在外部捕获的。

2221df239f609d98d14f697d66b61994.png

每条路径从时序路径起点开始,经过一些组合逻辑,然后在终点被捕获:

•Path 1:从输入端口开始,到达时序元件的数据输入。

•Path 2:从时序元件的时钟引脚开始,到时序元件的数据输入。

•Path 3:从时序元件的时钟引脚开始,到输出端口结束。

•Path 4:从输入端口开始,到输出端口结束。

设计中的每条路径都有一个相应的时序slack(timing slack)。 slack是一个时间值,可以

是正的,零或者负的。 具有最差slack的单一路径称为关键路径(critical

path)。

我们可以将设计的时序路径分组,以便进行时序分析、报告和优化。 例如,可以将输入到寄存器(input-to-register),寄存器到寄存器(, register-to-register)和寄存器到输出(register-to-output)路径分成三个单独的组,因为它们具有不同类型的时序约束。

默认情况下,设计中使用的每个时钟都有一个时序路径组(path group)。

以下是report_timing命令生成的典型时序报告:

8d537587cffa033e15c72e84c6a6652a.png

默认情况下,report_timing命令报告每个路径组(path group)中建立时间最差的时序路径。

在此示例中,与时序报告的路径关联的逻辑如下图所示:

18f66d43cf96712167b926fb0f57f926.png

时序报告首先显示时序路径起点(Startpoint),时序路径终点(Endpoint),时序路径组(path group)名称和时序路径检查类型。

在此示例中,时序路径检查类型为“max”,表示最大延迟或建立时间检查; “min”表示最小延迟或保持时间检查。

时序报告显示了沿着路径的延迟计算。该表包含Point,Incr和Path的列,

分别列出了沿着时序路径的点(引脚),每个点对延迟的贡献,以及到那一点的累积延迟。

Incr列中的星号(*)符号表示SDF反标延迟的位置。 “Path”列中的字母“r”和“f”表示在时序路径中的那个点上,信号转换是上升还是下降。

表中显示的“数据到达时间(data arrival time)”是path group中延迟最长的路径延迟。

“数据所需时间(data required time)”是时序路径中数据的允许到达时间,考虑了捕获时钟边沿时间,时钟网络延迟,时钟不确定性以及库的建立时间要求,是沿着时钟路径的最小延迟。

时序报告末尾显示的slack值是data required time减去data arrival time。

在这个例子中,slack是一个非常小的正值,这意味着时序约束恰好得到满足。 负slack需要改变设计来fix 时序违例。 例如,时序路径中的驱动单元可以用更大的单元替换,以获得更大的驱动强度,这将减少线延迟。 另一方面,一个很大的正slack可以将时序路径中的驱动单元可以替换成较慢,较小的单元来减少面积或较慢的,较高阈值的单元来减少泄露功耗。

内容概要:本文介绍了基于Python实现的SSA-GRU(麻雀搜索算法优化门控循环单元)时间序列预测项目。项目旨在通过结合SSA的全局搜索能力和GRU的时序信息处理能力,提升时间序列预测的精度和效率。文中详细描述了项目的背景、目标、挑战及解决方案,涵盖了从数据预处理到模型训练、优化及评估的全流程。SSA用于优化GRU的超参数,如隐藏层单元数、学习率等,以解决传统方法难以捕捉复杂非线性关系的问题。项目还提供了具体的代码示例,包括GRU模型的定义、训练和验证过程,以及SSA的种群初始化、迭代更新策略和适应度评估函数。; 适合人群:具备一定编程基础,特别是对时间序列预测和深度学习有一定了解的研究人员和技术开发者。; 使用场景及目标:①提高时间序列预测的精度和效率,适用于金融市场分析、气象预报、工业设备故障诊断等领域;②解决传统方法难以捕捉复杂非线性关系的问题;③通过自动化参数优化,减少人工干预,提升模型开发效率;④增强模型在不同数据集和未知环境中的泛化能力。; 阅读建议:由于项目涉及深度学习和智能优化算法的结合,建议读者在阅读过程中结合代码示例进行实践,理解SSA和GRU的工作原理及其在时间序列预测中的具体应用。同时,关注数据预处理、模型训练和优化的每个步骤,以确保对整个流程有全面的理解。
内容概要:本文详细介绍了如何使用PyQt5创建一个功能全面的桌面备忘录应用程序,涵盖从环境准备、数据库设计、界面设计到主程序结构及高级功能实现的全过程。首先,介绍了所需安装的Python库,包括PyQt5、sqlite3等。接着,详细描述了SQLite数据库的设计,创建任务表和类别表,并插入默认类别。然后,使用Qt Designer设计UI界面,包括主窗口、任务列表、工具栏、过滤器和日历控件等。主程序结构部分,展示了如何初始化UI、加载数据库数据、显示任务列表以及连接信号与槽。任务管理功能方面,实现了添加、编辑、删除、标记完成等操作。高级功能包括类别管理、数据导入导出、优先级视觉标识、到期日提醒、状态管理和智能筛选等。最后,提供了应用启动与主函数的代码,并展望了扩展方向,如多用户支持、云同步、提醒通知等。 适合人群:零基础或初学者,对Python和桌面应用程序开发感兴趣的开发者。 使用场景及目标:①学习PyQt5的基本使用方法,包括界面设计、信号与槽机制;②掌握SQLite数据库的基本操作,如创建表、插入数据、查询等;③实现一个完整的桌面应用程序,具备增删改查和数据持久化功能;④了解如何为应用程序添加高级特性,如类别管理、数据导入导出、到期日提醒等。 阅读建议:此资源不仅适用于零基础的学习者,也适合有一定编程经验的开发者深入理解PyQt5的应用开发。建议读者跟随教程逐步实践,结合实际操作来理解和掌握每个步骤,同时可以尝试实现扩展功能,进一步提升自己的开发技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值