时钟约束在STA中的作用

news2024/12/26 20:39:33

时钟约束在STA中的作用

    • 1.约束作为声明
    • 2.约束作为断言
    • 3.约束作为指令
    • 4.约束作为异常
    • 5. 约束的角色变化

简介:
STA工具从相应的设计描述中获取电路描述,HDL是最常用的形式。它还接受库输入–主要用来了解依赖技术的特性,如通过特定门的延迟值。
STA工具需要的另一组输入与输入端各种信号的到达时间和其他特性以及各种输出的时间要求有关,这些输入通过时序约束来提供。时序约束在STA期间扮演了多个角色。

1.约束作为声明

某些约束只是工具的声明。该工具不需要验证这些声明的准确性或正确性。该工具仅仅将其用作自身的输入,以便验证时序是否满足。通常,这是设计外部某些情况的信息–工具无法自行确定。
对于3.3所示的电路,以下只是用作声明的约束的示例:
在这里插入图片描述

  • 输入I1到达边界的时间
  • 输入I2到达边界的时间
  • 输入I1和I2的过渡时间(transistion time,信号的状态从逻辑0变为逻辑1或从逻辑1变为逻辑0所需时间)
  • 输出O1必须驱动负载

2.约束作为断言

另一方面,约束可以作为断言。该工具需要验证设计符合这些约束,这正式STA所关心的。在进行各种计算之后,如果工具发现时序满足要求,则认为STA通过,或认为时序满足要求。相反,如果这些约束不满足要求,则认为STA或时序失败。
图3.3相同所示电路,断言约束的一个例子:

  • 输出O1在边界可用的时间

3.约束作为指令

在其他时候,约束可以为某些工具的指令。这种情况使用于实现工具,如综合或布局布线,这种情况使用于实现工具,如综合或布局布线。这些实现工具将这些约束作为他们试图满足的目标。考虑3.4所示的电路。
在这里插入图片描述

对于示例电路,时钟树综合工具现在将提供一个精巧的网络结构,以便1000个触发器中的每一个都可以由该网络驱动。这种时钟树综合工具的实力指令可以实现时钟网络的延迟。时钟树工具应该通过网络的延迟满足规定值的方式来实现树形网络。

4.约束作为异常

有一些约束做相反的事情,即他们指定约束放宽的范围。假设一些路径被约束以满足某些时序,但是由于某些特殊原因,这些路径并不需要满足这些时序。或者说,即使要求更宽松,它们也可以很好地工作。这些称为时序异常。

5. 约束的角色变化

有时,同一个约束的角色也会发生变化。在设计的一个阶段,他可能是一个声明,在另一个阶段,它也可能变成一条指令。
再次考虑图3.4所示的电路。有一个约束指定了通过该时钟网络的延迟。如果有一个想在该时钟网络综合之前进行STA,那么这个约束(即通过该时钟网络延迟)只是一个声明STA工具应该仅假设通过该时钟网络的延迟是一个指定值。
现在,在时钟树综合期间,同一个约束变成了一个指令。时钟树综合工具需要综合时钟网络,使通过时钟网络的延迟等于指定值。
一旦完成了时钟树综合,STA就可以通过时钟树网络计算延迟。同样的约束就会变得毫无意义,应该舍弃掉。
因此相同的约束(即通过时钟树的延迟):

  • 对预布局STA而言是一个声明–此处将其视为通过该网络的延迟。
  • 对时钟树综合工具而言是一条指令–它尝试实现该时钟网络,使其延迟在指令范围内。
  • 对后布局STA而言是无意义的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2252823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot 修改post请求接口入参或重新赋值

前言 很久之前写过一篇就是自动填充接口参数的,利用的 HandlerMethodArgumentResolver 自定义注解 Springboot Controller接口默认自动填充 业务实体参数值_springboot设置入参默认值-CSDN博客 现在这一篇也差不多,达到的目的就是重新去给post请求的参数…

机器学习:精确率与召回率的权衡

高精度意味着如果诊断得了那种罕见病的病人,可能病人确实有,这是一个准确的诊断,高召回率意味着如果有一个还有这种罕见疾病的病人,也许算法会正确的识别他们确实患有这种疾病,事实中,在精确与召回之间往往…

海盗王用golang重写的AccountServer功能

自从用golang重写了海盗王的网关gateserver以来,一直想把accountserver也重写了,但是一直没有进行。 趁上次刚写好那个golang版的更新器,还有些熟悉,于是把原来AccountServer的C代码重写读了个大概。它原版的写得太过于复杂&#…

【动态规划】小S的货船租赁冒险

文章目录 一、问题描述输入格式输出格式 问题背景二、动态规划思想三、代码实现细节初始化二维数组遍历每种货船遍历预算并更新状态提前剪枝优化 四、代码实现算法复杂度分析优化思路 一、问题描述 李华在码头租货船,有 Q 种货船可以租赁。第 i 种货船的数量为 m[i…

基于 MVC 架构的 SpringBoot 高校行政事务管理系统:设计优化与实现验证

摘 要 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径。为了…

【k8s 深入学习之 event 聚合】event count累记聚合(采用 Patch),Message 聚合形成聚合 event(采用Create)

参考 15.深入k8s:Event事件处理及其源码分析 - luozhiyun - 博客园event 模块总览 EventRecorder:是事件生成者,k8s组件通过调用它的方法来生成事件;EventBroadcaster:事件广播器,负责消费EventRecorder产生的事件,然后分发给broadcasterWatcher;broadcasterWatcher:用…

HTML5动漫主题网站——天空之城 10页 html+css+设计报告成品项目模版

📂文章目录 一、📔网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站演示 五、⚙️网站代码 🧱HTML结构代码 💒CSS样式代码 六、🔧完整源码下载 七、📣更多 一、&#…

day2 美化后的登录

import sysfrom PyQt6.QtGui import QIcon, QPixmap from PyQt6.QtWidgets import QApplication, QWidget, QLabel from PyQt6 import uicclass MyWidget(QWidget):def __init__(self):super().__init__()self.setWindowTitle("猫咪乐园")uiuic.loadUi("./untit…

uniapp 自定义导航栏增加首页按钮,仿微信小程序操作胶囊

实现效果如图 抽成组件navbar.vue&#xff0c;放入分包 <template><view class"header-nav-box":style"{height:Props.imgShow?:statusBarHeightpx,background:Props.imgShow?:Props.bgColor||#ffffff;}"><!-- 是否使用图片背景 false…

Android KEY的哪些事儿

目录 一、APK应用签名 1、什么是APK应用签名&#xff1f; 1.1 目的和作用&#xff1f; 1.2 长什么样子&#xff1f; 2、APK应用签名使用流程 步骤一&#xff1a;如何生成APK应用签名文件&#xff1f; 步骤二&#xff1a;如何集成APK应用签名文件&#xff1f; 步骤三&am…

Docker中安装GeoServer

一、准备工作 #创建数据持久化目录 mkdir -p /usr/local/application/geoserver/data_dir#授权 chmod 777 -R /usr/local/application/ 这一步是为了在容器外部管理GeoServer的数据&#xff0c;使得数据能够持久化存储。 二、拉取GeoServer镜像 从Docker Hub拉取GeoServer的…

Create Stunning Word Clouds with Ease!

Looking to craft breathtaking word clouds? WordCloudStudio is your go-to solution! Whether you’re a marketer, educator, designer, or simply someone who loves visualizing data, this app has everything you need. Download now: https://apps.apple.com/app/wor…

【JavaEE初阶】落霞与孤鹜齐飞,秋水共长天一色 - (重点)线程

本篇博客给大家带来的是线程的知识点, 由于时间有限, 分三天来写, 本篇为线程第二篇. &#x1f40e;文章专栏: JavaEE初阶 &#x1f680;若有问题 评论区见 ❤欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅…

java_判断语句——acwing

题目一&#xff1a;倍数 665. 倍数 - AcWing题库 代码 import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc new Scanner(System.in);int a sc.nextInt(), b sc.nextInt();if(a%b0 || b%a0) System.out.printf("Sao Mu…

深度解析棋牌游戏开发:从搭建到运营的全流程实战分享

作为从事游戏开发十五年的技术老兵&#xff0c;经历了国内游戏市场从端游到手游的全流程变迁。市面上大多数棋牌产品&#xff0c;无论是传统房卡模式还是创新竞技玩法&#xff0c;自己曾经都参与设计和研发过。今天&#xff0c;我将结合多年的实战经验&#xff0c;分享棋牌游戏…

mfc110u.dll是什么意思,mfc110u.dll丢失解决方法大全详解

mfc110u.dll是Microsoft Foundation Classes (MFC)库的一个特定版本&#xff08;版本11.0&#xff09;的Unicode动态链接库文件。MFC是Microsoft为C开发者设计的一个应用程序框架&#xff0c;主要用于简化Windows应用程序的开发工作。这个框架封装了很多Windows API函数&#x…

【C++跬步积累】—— 继承

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;C跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; Linux跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0…

爬虫专栏第二篇:Requests 库实战:从基础 GET 到 POST 登录全攻略

简介&#xff1a;本文聚焦 Requests 库的强大功能与应用实战。首先介绍其安装步骤及版本选择要点&#xff0c;随后深入讲解 GET 请求&#xff0c;以百度页面为例&#xff0c;展示如何发起基本 GET 请求、巧妙添加 headers 与参数以精准搜索&#xff0c;以及正确设置 encoding 避…

计算机网络:IP协议详细讲解

目录 前言 一、IP网段划分 二、IP报头 三、解决IP地址不足-->NAT技术 前言 在之前&#xff0c;我们学习了传输层中的TCP和UDP&#xff0c;重点是TCP协议&#xff0c;他帮我们解决具体到主机的哪个应用&#xff08;端口&#xff09;、传输的可靠&#xff08;序列号、校验和…

Proteus8.17下载安装教程

Proteus是一款嵌入式系统仿真开发软件&#xff0c;实现了从原理图设计、单片机编程、系统仿真到PCB设计&#xff0c;真正实现了从概念到产品的完整设计&#xff0c;其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等&#xff0c;能够帮助用…