南京观海微电子----时序分析基本概念(一)——建立时间

1. 概念的理解

以上升沿锁存为例,建立时间(Tsu)是指在时钟翻转之前输入的数据D必须保持稳定的时间。如下图所示,一个数据要在上升沿被锁存,那么这个数据就要在时钟上升沿的建立时间内保持稳定。

建立时间是对触发器而言,以能够稳定准确的锁存或者触发为目的,对其输入数据信号保持稳定的时间要求。

2. 简单的实例

以两个级联寄存器为例。

时钟通过CLK PIN管脚输入,到达第一个寄存器的时钟端口经历的时延为Tclk1,到达第二个寄存器的线上时延为Tclk2。

第一个寄存器从时钟进入时钟端口驱动寄存器到寄存器输出数据的延时为Tco,Tco为寄存器内部的时延。

数据从第一个寄存器Q端口输出,经历Tdata延时到达第二个寄存器的数据输入端。Tdata可能包含路径上的延时以及引入的组合逻辑电路导致的延时。

时序图如下图所示:

图中,紫色区域为Tsu需要的时间,蓝色的区域为富余的建立时间(Tsu slack)。

如果由于Tdata时间较长,使得Tsu slack为0,但Reg2的D输入口数据仍然比下个时钟上升沿提前Tsu时间到达,则Reg2 寄存器仍然能稳定的采集到输入数据“1”,如下图所示。

图片

如果由于组合逻辑过于复杂使得Tdata时间过长,使得Tsu slack为负值,Reg2的D输入口数据比下个时钟上升沿提前到达的时间不足Tsu时长,则Reg2 寄存器不能稳定的采集到输入数据“1”,而是个亚稳态,如下图所示。

图片

3. 时序计算公式

由以下时序图,我们可以得到建立时间的计算公式:

图片

Tsu_slack = Tcycle + Tclk2 - Tsu - (Tclk1 + Tco + Tdata);

其中Tcycle为CLK一个时钟周期的时间。

例:如果已知Tcycle为10ns(即工作时钟100MHz)、Tclk1为3ns、Tclk2为2ns、Tdata为3ns、Tsu为0.5ns、Tco为1ns,则求Tcu_slack为多少?并计算该电路最高能工作的时钟频率是多少?

答:通过套用上面的公式可得

Tsu_slack = 10 + 2 - 0.5 - (3 + 1 + 3) = 4.5 ns

如果想计算该电路最高能工作的时钟频率,则可以将Tsu_slack设为0,反求下Tcycle:

Tcycle = 0 - 2 + 0.5 + (3 + 1 + 3) = 5.5 ns (即181.8 MHz)

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

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

相关文章

RibbonGroup 添加QLineEdit

RibbonGroup添加QLineEdit: QLineEdit* controlEdit new QLineEdit(); controlEdit->setToolTip(tr("Edit")); controlEdit->setText(tr("Edit")); controlEdit->setMinimumWidth(150); …

C //练习 5-20 扩展dcl程序的功能,使它能够处理包含其他成分的声明,例如带有函数参数类型的声明、带有类似于const限定符的声明等。

C程序设计语言 (第二版) 练习 5-20 练习 5-20 扩展dcl程序的功能,使它能够处理包含其他成分的声明,例如带有函数参数类型的声明、带有类似于const限定符的声明等。 注意:代码在win32控制台运行,在不同的I…

Codeforces Round 919 (Div. 2)补题

Satisfying Constraints&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;有三种限定方式&#xff1a; 1.k>x; 2.k<x; 3.k!x; 根据若干限定&#xff0c;找出合法的k的个数。 思路&#xff1a;通过1&#xff0c;2定出区间&#xff0c;同时记录…

基于FFmpeg的简单Android视频播放器

1. 模块分割 首先对这个视频播放器所采用的一些部件要清楚。这个播放器主要可以拆分为4个部分&#xff1a; 1.解码&#xff1a;FFmpeg 2.音频输出&#xff1a;OpenSLES 3.视频渲染&#xff1a;OpenGLES 这些框架都是基于C的api&#xff0c;因此这次我们的主要工作将会集中…

ubuntu20.04安装cuda11.4以及cudnn

系统&#xff1a;ubuntu20.04硬件配置&#xff1a;GPU3080、CPU未知通过《软件和更新》在附加驱动选项中添加了驱动&#xff1a; 1.检查自己电脑支持的cuda nvidia-smi4. 下载cuda11.4.2 wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/c…

TypeScript 从入门到进阶之基础篇(十) 抽象类篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

AI-图片转换绚丽动漫人物-UGATIT

​​​​​​ &#x1f3e1; 个人主页&#xff1a;IT贫道-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;私聊博主加WX好友&#xff0c;获取更多资料哦~ &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 ​​​​…

P1125 [NOIP2008 提高组] 笨小猴——C++

[NOIP2008 提高组] 笨小猴 题目描述 笨小猴的词汇量很小&#xff0c;所以每次做英语选择题的时候都很头疼。但是他找到了一种方法&#xff0c;经试验证明&#xff0c;用这种方法去选择选项的时候选对的几率非常大&#xff01; 这种方法的具体描述如下&#xff1a;假设 maxn…

【Databend】多表联结,你不会还没有掌握吧!

文章目录 概述和数据准备内连接交叉连接左连接右连接左反和右反连接全连接总结 概述和数据准备 多表联结是两个或多个表的列合并到一个结果集中。Databend 中支持的连接类型有 inner join 、cross join 、natural join 、left join 、right join 、left anti join 、right ant…

SqlAlchemy使用教程(二) 入门示例及通过CoreAPI访问与操作数据库

二、入门示例与基本编程步骤 在第一章中提到&#xff0c;Sqlalchemy提供了两套方法来访问数据库&#xff0c;由于Sqlalchemy 文档杂乱&#xff0c;对于ORM的使用步骤讲解杂乱&#xff0c;SqlAlchemy2.x 与j1.x版本差异也较大&#xff0c;很多介绍SqlAlchemy的文章上来就讲ORM&…

Apache Camel Jbang的dep和classpath 及-O 简单记录

在Apache Camel Jbang 官网主要提到的deps的用法&#xff0c;classpath的较少。 deps 适用于环境上有maven repository或者git 的场景&#xff0c;对于传统发布jar/war的模式下&#xff0c;classpath更适用。 DEPS和CP都支持文件内或者命令行指定&#xff0c;文件内写法为 /…

TS2307: Cannot find module ‘./App.vue‘ or its corresponding type declarations.

目录 1. 问题描述2. 解决方案一&#xff1a;VSCode Volar&#xff08;官方推荐&#xff09;3. 解决方案二&#xff1a;WebStorm 2023.2 &#xff08;官方推荐&#xff09;4. 解决方案三&#xff1a;禁用严格类型检查选项&#xff08;不推荐&#xff09;5. 解决方案四&#xff…

大模型实战营Day5 LMDeploy大模型量化部署实践

模型部署 定义 产品形态 计算设备 大模型特点 内存开销大 动态shape 结构简单 部署挑战 设备存储 推理速度 服务质量 部署方案&#xff1a;技术点 &#xff08;模型并行 transformer计算和访存优化 低比特量化 Continuous Batch Page Attention&#xff09;方案&#xff08;…

rpc的正确打开方式|读懂Go原生net/rpc包

前言 大家好&#xff0c;这里是白泽&#xff0c;之前最近在阅读字节跳动开源RPC框架Kitex的源码&#xff0c;分析了如何借助命令行&#xff0c;由一个IDL文件&#xff0c;生成client和server的脚手架代码&#xff0c;也分析了Kitex的日志组件klog。当然Kitex还有许多其他组件&…

RXJS中Subject, BehaviorSubject, ReplaySubject, AsyncSubject的区别?

在RxJS&#xff08;Reactive Extensions for JavaScript&#xff09;中&#xff0c;Subject、BehaviorSubject、ReplaySubject和AsyncSubject都是Observable的变体&#xff0c;它们用于处理观察者模式中的不同场景。以下是它们之间的主要区别&#xff1a; 1、Subject: 是一种特…

在ubuntu平台上安装minecraft

一、获取minecraft启动器安装包 登陆minecraft官网Welcome to the Minecraft Official Site | Minecraft&#xff0c;使用已经购买minecraft的microsoft或者mojang账号登陆。 点击Download Launcher 对于ubuntu系统&#xff0c;使用点击debian版本 此后便会自动下载Minecraft.…

gcc -l 参数说明

gcc -l 参数说明 -l参数就是用来指定程序要链接的库&#xff0c;-l参数紧接着就是库名&#xff0c;那么库名跟真正的库文件名有什么关系呢&#xff1f; 就拿数学库来说&#xff0c;他的库名是m&#xff0c;他的库文件名是libm.so&#xff0c;很容易看出&#xff0c;把库文件名…

【STM32】FLASH闪存

1 FLASH闪存简介 本节所指STM32内部闪存&#xff0c;即下载程序的时候&#xff0c;程序存储的地方。&#xff08;非易失性&#xff09; STM32F1系列的FLASH包含程序存储器、系统存储器&#xff08;bootloader&#xff0c;不允许修改&#xff09;和选项字节三个部分&#xff0…

Spring Cloud整体架构解析

Spring Cloud整体架构 本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 Spring Cloud的中文名我们就…

pytorch学习笔记(八)

Sequential 看看搭建了这个能不能更容易管理&#xff0c;CIFAR-10数据集进行 看一下网络模型CIFAR-10模型 1 2 3 4 5 6 7 8 9 输入进过一次卷积&#xff0c;然后经过一次最大池化&#…