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

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)

相关推荐
DIY机器人工房15 小时前
科普:华为星闪是什么?华为星闪(英文名 NearLink)是国际星闪无线短距通信联盟发布的新型无线短距通信标准技术。
stm32·嵌入式硬件·华为·嵌入式·diy机器人工房·嵌入式面试题
hazy1k16 小时前
ESP32基础-PWM_直流电机
stm32·单片机·嵌入式硬件·51单片机·proteus·esp32
一支闲人16 小时前
CAN总线协议:位同步
stm32·单片机·基础知识·can总线协议
XINVRY-FPGA21 小时前
XC95288XL-10TQG144I Xilinx AMD CPLD
arm开发·单片机·嵌入式硬件·mcu·fpga开发·硬件工程·fpga
lingzhilab1 天前
零知IDE——基于STM32F103RBT6和SHT40温湿度传感器的环境监测系统
stm32·单片机·嵌入式硬件
i道i1 天前
Verilog 利用伪随机,时序,按键消抖等,实现一个(打地鼠)游戏
游戏·fpga开发·verilog
0南城逆流01 天前
【STM32】知识点介绍四:时钟体系
stm32·单片机·嵌入式硬件
清风与日月1 天前
c# 上位机作为控制端与下位机通信方式
单片机·嵌入式硬件·c#
奋斗的牛马1 天前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
蓁蓁啊1 天前
Ubuntu 虚拟机文件传输到 Windows的一种好玩的办法
linux·运维·windows·单片机·ubuntu