Timing Modeling--时序模型

2023-11-04

The cell timing models are intended to provide accurate timing for various instances of the cell in the design environment. The timing models are normally obtained from detailed circuit simulations of the cell to model the actual scenario of the cell operation. The timing models are specified for each

timing arc of the cell.


Let us first consider timing arcs for a simple inverter logic cell shown in Figure 3-1. Since it is an inverter, a rising (falling) transition at the input causes a falling (rising) transition at the output. The two kinds of delay characterized for the cell are:
• Tr : Output rise delay
• Tf : Output fall delay


Notice that the delays are measured based upon the threshold points defined in a cell library , which is typically 50% Vdd. Thus, delays are measured from input crossing its threshold point to the output crossing its threshold point.


The delay for the timing arc through the inverter cell is dependent on two factors:
i. the output load, that is, the capacitance load at the output pin of the inverter, and
ii. the transition time of the signal at the input.



The delay values have a direct correlation with the load capacitance - the larger the load capacitance, the larger the delay. In most cases, the delay increases with increasing input transition time. There are a few scenarios where the input threshold (used for measuring delay) is significantly different from the internal switching point of the cell. In such cases, the delay through the cell may show non-monotonic behavior with respect to the input transition time - a larger input transition time may produce a smaller delay especially if the output is lightly loaded.



The slew at the output of a cell depends mainly upon the output capacitance- output transition time increases with output load. Thus, a large slew at the input (large transition time) can improve at the output depending upon the cell type and its output load. Figure 3-2 shows cases where the transition time at the output of a cell can improve or deteriorate depending on the load at the output of the cell.



1.Linear Timing Model

A simple timing model is a linear delay model, where the delay and the output transition time of the cell are represented as linear functions of the two parameters: input transition time and the output load capacitance. The
general form of the linear model for the delay, D, through the cell is illustrated below.


D = D0 + D1 * S + D2 * C

where D0, D1, D2 are constants, S is the input transition time, and C is the output load capacitance. The linear delay models are not accurate over the range of input transition time and output capacitance for submicron technologies,and thus most cell libraries presently use the more complex models such as the non-linear delay model.

2.Non-Linear Delay Model

Most of the cell libraries include table models to specify the delays and timing checks for various timing arcs of the cell. Some newer timing libraries for nanometer technologies also provide current source based advanced timing models (such as CCS, ECSM, etc.) which are described later in this chapter. The table models are referred to as NLDM (Non-Linear Delay Model) and are used for delay, output slew, or other timing checks. The table models capture the delay through the cell for various combinations of input transition time at the cell input pin and total output capacitance at the cell output.

An NLDM model for delay is presented in a two-dimensional form, with the two independent variables being the input transition time and the output load capacitance, and the entries in the table denoting the delay.


3.时序电路的timing model

For synchronous inputs, such as pin D (or SI, SE), there are the following timing arcs:
i. Setup check arc (rising and falling)
ii. Hold check arc (rising and falling)

For asynchronous inputs, such as pin CDN, there are the following timing
arcs:
i. Recovery check arc
ii. Removal check arc


For synchronous outputs of a flip-flop, such as pins Q or QN, there is the
following timing arc:
i. CK-to-output propagation delay arc (rising and falling)


3.1 Asynchronous Checks

The recovery time is the minimum time that an asynchronous input is stable after being deasserted before the next active clock edge.
Similarly, the removal time is the minimum time after an active clock edge that the asynchronous pin must remain active before it can be de-asserted.


3.2 setup and hold time checks

The setup and hold constraints for a synchronous pin of a sequential cell are normally described in terms of two-dimensional tables as illustrated below. The example below shows the setup and hold timing information
for the data pin of a flip-flop.

pin (D) {
direction : input;
. . .
timing () {
related_pin : "CK";
timing_type : "setup_rising";
rise_constraint ("setuphold_template_3x3") {
index_1("0.4, 0.57, 0.84"); /* Data transition */
index_2("0.4, 0.57, 0.84"); /* Clock transition */
values( /* 0.4 0.57 0.84 */ \
/* 0.4 */ "0.063, 0.093, 0.112", \
/* 0.57 */ "0.526, 0.644, 0.824", \
/* 0.84 */ "0.720, 0.839, 0.930");

} fall_constraint ("setuphold_template_3x3") {
index_1("0.4, 0.57, 0.84"); /* Data transition */
index_2("0.4, 0.57, 0.84"); /* Clock transition */
values( /* 0.4 0.57 0.84 */ \
/* 0.4 */ "0.762, 0.895, 0.969", \
/* 0.57 */ "0.804, 0.952, 0.166", \
/* 0.84 */ "0.159, 0.170, 0.245");
}
}
}

timing () {
related_pin : "CK";
timing_type : "hold_rising";
rise_constraint ("setuphold_template_3x3") {
index_1("0.4, 0.57, 0.84"); /* Data transition */
index_2("0.4, 0.57, 0.84"); /* Clock transition */
values( /* 0.4 0.57 0.84 */ \
/* 0.4 */ "-0.220, -0.339, -0.584", \
/* 0.57 */ "-0.247, -0.381, -0.729", \
/* 0.84 */ "-0.398, -0.516, -0.864");
} fall_constraint ("setuphold_template_3x3") {
index_1("0.4, 0.57, 0.84"); /* Data transition */
index_2("0.4, 0.57, 0.84");/* Clock transition */
values( /* 0.4 0.57 0.84 */ \
/* 0.4 */ "-0.028, -0.397, -0.489", \
/* 0.57 */ "-0.408, -0.527, -0.649", \
/* 0.84 */ "-0.705, -0.839, -0.580");
}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Timing Modeling--时序模型 的相关文章

  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 异步方法的同步版本

    在 Java 中创建异步方法的同步版本的最佳方法是什么 假设您有一个包含这两种方法的类 asyncDoSomething Starts an asynchronous task onFinishDoSomething Called when
  • Boost.asio和异步链,unique_ptr?

    我对异步编程不太熟悉 我有一个问题 我的问题如下 给出 boost asio 中 C 11 的 echo server 示例 http www boost org doc libs 1 60 0 doc html boost asio ex
  • Python - 对象 MagicMock 不能在“await”表达式中使用

    当我尝试使用 MagicMock 在单元测试中模拟异步函数时 出现以下异常 类型错误 对象 MagicMock 不能在 await 表达式中使用 示例代码如下 source code class Service async def comp
  • 以小并发批量运行 Promise(一次不超过 X)

    Async 库具有类似的功能每个限制 https github com caolan async eachLimit它可用于将大量作业有效地分布在多个 CPU 核心上 如下所示 var numCPUs require os cpus len
  • JavaScript fetch API - 为什么response.json()返回一个promise对象(而不是JSON)? [复制]

    这个问题在这里已经有答案了 我刚刚开始学习 Fetch API https developer mozilla org en US docs Web API Fetch API Using Fetch https developer moz
  • 同时运行 x 个网络请求

    我们公司有一个网络服务 我想通过我自己的服务发送 XML 文件 存储在我的驱动器上 HTTPWebRequestC 中的客户端 这已经有效了 Web服务同时支持5个同步请求 一旦服务器上的处理完成 我就会从Web服务获得响应 每个请求的处理
  • 在 mongodb 中更新异步重复数据的最佳实践

    我正在权衡 Web 应用程序从关系 SQL 数据库迁移到 mongodb 的利弊 这是为了解决性能问题 将所有对象依赖项存储在对象本身中允许快速 读 用于向用户显示数据 另一方面 某些数据存在于不同的集合中 例如用户名位于用户集合中 但也在
  • 如何让node.js中的线程休眠而不影响其他线程?

    As per 了解 Node js 事件循环 http blog mixu net 2011 02 01 understanding the node js event loop node js支持单线程模型 这意味着如果我向 Node j
  • 使用 javascript 更改 img src 时添加过渡

    我有一个 img 标签 我想在悬停时更改 src 并且一切正常 但我想添加一些过渡 这样它看起来不那么粗糙 但由于它是一个 img src 我无法使用 css 来定位它 http jsfiddle net Ne5zw 1 http jsfi
  • Node.js - 异步 JSON 查询

    如果这是一个愚蠢的问题 我深表歉意 但我对 Javascript 很陌生 而 Node js 确实让我很头疼 因为它是异步的 我的目标是从 API 查询 JSON 对象并能够使用它 我试图寻找关于我应该做什么的问题和答案 但它们对我来说都没
  • Swift 对异步编程有什么语言级别的支持(如果有)?

    当应用程序必须通过不可预测的网络 例如智能手机应用程序 进行通信时 异步编程对于响应式用户界面来说是必须的 用户界面必须保持响应 同时等待结果从互联网上某处的服务器返回 在大多数语言中 应用程序程序员必须实现自己的状态机 可能使用闭包 来响
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • Java 中处理异步响应的设计模式

    我读过类似问答的答案 如何在 JAVA 中创建异步 HTTP 请求 https stackoverflow com questions 3142915 how do you create an asynchronous http reque
  • 如何在asp.net中异步执行两个作业

    网 我需要你的帮助请帮助我 请参阅我的代码 如果我的第一份工作完成 则退出btn ok代码隐藏并更新到 ASP NET 屏幕 但同时作业 2 必须工作 正在处理批量电子邮件 protected void btn ok object send
  • 使用 JAX-RS 进行异步 REST 调用

    我需要创建一个 RESTful 服务 它应该以以下方式支持异步调用 当用户调用某个方法时 他会获得 http 202 代码和 url 来轮询 在其中他可以看到请求的状态 目前我使用 JAX RS 及其注释 Path public inter
  • 在进程完成之前,Windows cmd.exe 中的管道不会转发标准输出?

    考虑 Windows 命令 shell cmd exe 中的管道 C gt feed filter 直到进料过程运行完成之后 进料过程的标准输出似乎才达到过滤过程的标准输入 这种类型的 缓冲 可能会导致长时间运行的馈送过程的输出消息出现烦人
  • Flutter:从 Hive 盒创建对象流

    我正在尝试访问一些在整个应用程序中更改和访问的用户设置 为此 我使用 Hive 从框中检索用户设置 我想通过转动UserSettings对象检索自Hive box settings get userID 到一个流中 该流将被馈送到Strea
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • .NET Windows 服务中调用 C# 的 wait 的 I/O 回调是否可以不阻塞?

    我知道在 ASP NET 中 当使用 wait 时工作线程会返回到池中 而 I O 发生在后台 这对于可扩展性非常有用 我的 Windows 服务是一个套接字服务器 它使用 Begin End 样式的异步套接字 I O 混合我的魔法 我知道

随机推荐

  • 基于单向链表实现LRU缓存淘汰算法

    准备工作 思考 链表是由一个一个结点单向连接而成 因此我们需要创建一个结点类 该类包含结点数据 以及下一个结点的位置信息 一 结点类 package com linkTest public class Node
  • golang反编译_【Golang】脱胎换骨的defer(一)

    Go语言的defer是一个很方便的机制 能够把某些函数调用推迟到当前函数返回前才实际执行 我们可以很方便的用defer关闭一个打开的文件 释放一个Redis连接 或者解锁一个Mutex 而且Go语言在设计上保证 即使发生panic 所有的d
  • Maximum String Length

    The latest version of this topic can be found at Maximum String Length Microsoft Specific ANSI compatibility requires a
  • Flutter的TextButton的最小高度受限的问题

    用ConstrainedBox或SizedBox作TextButton的父级来控制TextButton的Size时 可以加大TextButton 但是用上面的方式设TextButton的高度小于44时 就会失效 可以用下面的方式来解决最小高
  • 判断鼠标是否点击在UI上

    EventSystem current IsPointerOverGameObject 方法 作用 判断鼠标是否点击在UI上 在窗口端进行判断时使用 如果按下了鼠标左键并且 鼠标点击的不是UI if Input GetMouseButton
  • 常见排序算法(c++)

    插入排序 直接插入排序 直接插入排序 Straight Insertion Sort 是一种最简单的排序方法 其基本操作是将一条记录插入到已排好序的有序表中 从而得到一个新的 记录数量增1的有序表 include
  • k-means聚类算法及matlab实现(简单实现)

    k means简介 k means算法也称k均值算法 是一种常用的聚类算法 聚类算法是研究最多 应用最广的一种无监督学习算法 聚类试图将数据集中的样本划分为若干个通常是不相交的子集 每个子集称为一个 簇 通过这样的划分 每个簇里的样本可能具
  • Python封装了很好用的结构和方法,为啥还要学数据结构?

    文章目录 前言 Python内置数据类型性能分析 timeit模块 列表内置方法性能分析 列表内置操作的时间复杂度 字典内置操作时间复杂度 最后 前言 大家前面学过Python基础知识的都知道 Python为我们封装了列表 字典等高级数据类
  • Linux查询java服务占用的内存

    使用top命令可以查询 top o MEM b n 1 grep java awk print PID 1 t MEM 6 t CPU 9 t MEM 10 使用jps l 可以查询jar包名称和PID
  • kvm虚拟管理之kvm热迁移

    上一篇写不下了 补在这一篇 kvm虚拟管理之kvm热迁移 热迁移的原理如下 想将一台正在运行的虚拟机迁移过去必须借助共享存储 将磁盘挂载到共享存储上 谁想用就挂载 三台机器的环境配置如下 在nfs主机上的文件配置如下命令 root nfs0
  • 五年测试工程师一上来就要18K薪资,结果一问三不知

    现在招个合适的人可真难呀 不是这不会就是那不会 没有一个让我满意的 公司前段时间缺人 面试了不少的测试 结果居然没有一个符合要求的 一开始瞄准的就是中级测试工程师的水准 也没指望来技术大牛 提供的薪资在10 20k 面试的人很多 但平均水平
  • QT项目开发-多界面平台构建-1

    好久不发博文了 发一下关于QT项目开发 对于平台搭建一块 新手也可以看看 1 安装好QT 网上有很多教程可以参考 我用的5 9 如果有需要可以留言 2 首先建立一个QT Widget Application项目 3 一开始建立的项目有 pr
  • 条件查询LambdaQueryWrapper

    MyBatis Plus QueryWrapper及LambdaQueryWrapper的使用 假如我们有一张user表 现需要通过user name查出所有数据 ApiModel description 用户实体 public class
  • Dynamics CRM 2016 Word Template Feature

    Word Template 是Dynamics CRM 2016的新功能 功能比较强大 完全可以替代简单的自定义报表 更重要的是 这个功能使用简单 终端用户完全有能力自己实现自己想要的报表 不需要任何的开发经验 今天博主给大家简单介绍下怎么
  • ViT-YOLO论文解读

    论文 ViT YOLO Transformer Based YOLO for Object Detection https openaccess thecvf com content ICCV2021W VisDrone papers Zh
  • ubuntu登录桌面后只显示壁纸,排查方案

    起因 有一台压力测试机器 登录后只显示壁纸 这就奇怪了 难道是桌面出了问题 我当时先把桌面服务都重新安装了一遍 还是一样 我就想起之前写的一篇文章ubuntu任务栏菜单不见了 我抱着试了一下的心态 然后重启了lightdm 然后显示了桌面
  • Linux(Ubuntu或CentOS) Docker 安装 Python2.7及PIP的Dockerfile文件

    Docker镜像中若要安装Python2 7和PIP 需要使用Dockerfile文件来进行安装 Dockerfile 是一个用来构建镜像的文本文件 本文主要介绍Docker 在Linux Ubuntu或CentOS 上安装 Python2
  • Sqlserver——用IP连接多个实例问题

    一 配置configure 二 重启实例服务 services msc 三 利用SSMS连接实例 地址 实例名 端口号 例 107 212 10 172 53214 四 连接语句
  • 时序预测

    时序预测 MATLAB实现CNN LSTM卷积长短期记忆神经网络时间序列预测 风电功率预测 目录 时序预测 MATLAB实现CNN LSTM卷积长短期记忆神经网络时间序列预测 风电功率预测 预测效果 基本介绍 程序设计 参考资料 预测效果
  • Timing Modeling--时序模型

    The cell timing models are intended to provide accurate timing for various instances of the cell in the design environme