IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 静态时序分析 —— 时序检查 -> 正文阅读

[嵌入式]静态时序分析 —— 时序检查


目录

1、建立时间检查

1、触发器之间路径

2、输入到触发器的路径

?3、触发器到输出的路径

?4、输入到输出的路径

?2、保持时间检查

1、触发器之间的路径

2、输入端到触发器的路径

?3、触发器到输出端的路径

?4、输入到输出路径

3、多周期路径

4、半周期路径

5、去除时间检查

6、恢复时间检查

7、伪路径

参考说明



上篇一起学习了STA环境的建立,本篇就接着上篇,开始学习时序验证的核心知识,真正开始时序的验证……


1、建立时间检查

满足以下的数学关系,以满足建立时间检查的要求:(逻辑连接图见第一张图)

{\color{Blue}T_{launch}+T_{ck2q}+T_{dp} }<{\color{Magenta} T_{capture}+T_{cycle}-T_{setup}}

其中,Tlaunch 、Tcapture、Tcycle、Tsetup、Tck2q 是固定的,只有 Tdp 可以通过优化设计进行改动的。

时序报告分析查看:

1、触发器之间路径

逻辑和时序如下:

时序报告:

?裕量大于等于零,表明满足时序要求。

2、输入到触发器的路径

逻辑及时序如下:

?时序报告:

?3、触发器到输出的路径

逻辑和时序图:

?时序报告:

?4、输入到输出的路径

逻辑和路径:

?时序报告:

?2、保持时间检查

保持时间检查满足如下关系:

{\color{Blue}T_{launch}+T_{ck2q}+T_{dp} }>{\color{Magenta} T_{capture}+T_{hold}}

其中,Tlaunch 、Tcapture、Tsetup、Tck2q 是固定的,只有 Tdp 可以通过优化设计进行改动的。

1、触发器之间的路径

?时序报告:

2、输入端到触发器的路径

逻辑和时序:

检查报告:

?3、触发器到输出端的路径

逻辑和时序:

?时序报告:

?实际时钟情景:

?4、输入到输出路径

此处的连接图与建立时间的输入到输出路径相同。

?保持时间裕量 = 需要的到达时间 - 实际的到达时间。

3、多周期路径

数据传输跨越多个时钟周期。

?时序报告:

?为了进行正常的时序分析,需要进行多周期约束:

create_clock -name CLKM -period 10 [get_ports CLKM]
#以下是 建立时间 的多周期约束
set_multicycle_path 3 -setup \
-from [get_pins UFF0/Q] \
-to [get_pins UFF1/D]
# 以下是保持时间的多周期约束
set_multicycle_path 2 -hold -from [get_pins UFF0/Q] \
-to [get_pins UFF1/D]

?总结:多周期约束时,建立时间延迟N个时钟周期,保持时间需要延迟N-1个时钟周期。

4、半周期路径

捕获沿和发起沿不同性质时:

?时序报告:(建立和保持时间检查)

5、去除时间检查

去除时间指的是:异步控制信号释放时刻和时钟边沿的时间间隔。保证其有效作用。

6、恢复时间检查

恢复时间指的是:异步控制信号释放时刻和下一个时钟边沿的时间间隔。保证其有效撤离。

7、伪路径

伪路径,若声明,STA就不再分析。设置伪路径,可以提高分析工具的效率。

一般来说,跨时钟域信号涉及的路径都不用STA,所以跨时钟域的路径都需要设置伪路径。

注意伪路径约束时 from to 是单向路径。

示例:

set_false_path -from [get_clocks SCAN_CLK] \
-to [get_clocks CORE_CLK]
# Any path starting from the SCAN_CLK domain to the
# CORE_CLK domain is a false path.

set_false_path -through [get_pins UMUX0/S]
# Any path going through this pin is false.

set_false_path \
-through [get_pins SAD_CORE/RSTN]]
# The false path specifications can also be specified to,
# through, or from a module pin instance.

set_false_path -to [get_ports TEST_REG*]
# All paths that end in port named TEST_REG* are false paths.

set_false_path -through UINV/Z -through UAND0/Z
# Any path that goes through both of these pins
# in this order is false.

建议:

少用 -through 选项;

尽量直接抓取时钟;

#建议:
set_false_path -from [get_clocks clockA] \
-to [get_clocks clockB]
#不建议,比较慢
set_false_path -from [get_pins {regA_*}/CP] \
-to [get_pins {regB_*}/D]

参考说明

【1】B站 邸老师学习视频。

【2】Static Timing Analysis for Nanometer Designs A Practical Approach . J. Bhasker ? Rakesh Chadha

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:22:24  更:2022-04-06 23:22:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:29:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码