【【深入浅出了解静态时钟分析和时钟约束】】

深入浅出了解静态时钟分析和时钟约束

时序分析是什么?
我们提出一些特定的时序要求(或者说是添加特定的时序约束),使用特定的时序模型,针对特定的电路进行分析。分析的最终结果是要求系统时序满足我们提出的要求。

这么说可能还不是很清晰
我们进行一个对比 上次实验做的CORDIC算法
未添加时序约束时的频率利用率与功耗如下
在这里插入图片描述

我们可以看出这是一个非常大的占用率 甚至是 一个很恐怖的功耗(怎么不把板子烧了)

现在我们添加简单的时序约束
在这里插入图片描述

再次点击report Power 我们会发现 整体的 功耗瞬间降低了

在这里插入图片描述

我们通过这样的例子,可以很直观的通过时序约束找到优解

再举一个简单的例子
下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在 FPGA 内部经过一些逻辑延时和路径延时。我们的系统要求这个信号在 FPGA 内部的延时不能超过 13ns,而开发工具在执行过程中找到了下图所示的一些可能的布局布线方式。图中区域 1 的延迟是 5ns,区域 2 的延迟是 7ns,区域 3 的延迟是 5ns,区域 4 的延迟是 11ns。那么,怎样的布局布线能够达到我们的要求呢?仔细分析一番,发现所有路径的延时可能为 12ns(走路径 1)、16ns(走路径 3)、21ns(走路径 2 到路径 5)、17ns(走路径 2 到路径 4),只有 1 条路径能够满足要求,布局布线工具就会选择满足要求的路径 1。
在这里插入图片描述

下面介绍
什么是时钟抖动?
理想的时钟信号是非常完美的正弦波,但是实际晶振产生的正弦波是存在一些时钟抖动的。那么什么是时钟抖动呢?时钟抖动,英文名叫做 Clock Jitter,是相对于理想时钟沿实际时钟存在不随时间积累的、时而超前、时而滞后的偏移称为时钟抖动(时钟脉冲宽度发生暂时变化,也就是 T cycle【时钟周期】或大或小)。
什么是时钟偏差?
时钟偏差,Clock Skew,是指同一个时钟域内的时钟信号到达数字电路各个部分(一般是指寄存器)所用时间的差异。
时序分析的起点一般是源寄存器(reg1),终点一般是目标寄存器(reg2)。时钟和其它信号的传输一样会有延时的。下图中,时钟信号从时钟源传输到源寄存器的延时我们定义为 Tc2s,传输到目标寄存器的延时我们定义为 Tc2d。
在这里插入图片描述

时钟网络延时 Tskew 就是 Tc2d 与 Tc2s 之差,即 Tskew=Tc2d-Tc2s。
在这里插入图片描述

第一个方波是时钟源,第二个方波为时钟到达 REG1 时的波形,第三个方波为时钟到达 REG2 时的波形,从图上可以看出 Tskew 是时钟到达两个寄存器时的相位偏差。时钟偏差分为两类:正偏差和负偏差。当信号传输的目标寄存器在接收寄存器之前捕获正确的时钟信号,电路发生正偏差(也就是时钟布线方向与数据流水方向一致);反之,当信号传输的目标寄存器在接收寄存器之后捕获正确的时钟信号,电路发生负偏差(也就是时钟布线方向与数据流水方向相反)。

时钟约束 分析
首先看懂时钟约束的代码
这两段代码是用于在数字电路设计的时候进行时钟约束的,通常用于 FPGA(可编程逻辑器件)的设计。这是基于Verilog/SystemVerilog语言的时钟约束代码。

1.第一段代码:
create_clock -period 20.000 -name sys_clk -waveform {0.000 10.000} -add [get_ports sys_clk]这段代码表示创建了一个时钟约束,指定了一个名为 sys_clk 的时钟信号。具体的含义如下:
- -period 20.000
- -name sys_clk
sys_clk
- -waveform {0.000 10.000}
- -add [get_ports sys_clk]
sys_clk
2.第二段代码:
create_clock -period 8.000 -name eth_rxc -waveform {0.000 4.000} -add [get_ports eth_rxc]这段代码表示创建了另一个时钟约束,指定了一个名为 eth_rxc 的时钟信号。具体的含义如下:
- -period 8.000
- -name eth_rxc
eth_rxc
- -waveform {0.000 4.000}
- -add [get_ports eth_rxc]
eth_rxc

这些时钟约束对于数字电路设计至关重要,因为它们帮助工具确保设计在时钟频率范围内正常工作,并且在实现时满足时序要求。

接下来点击Design Timing Summary
在这里插入图片描述

第一个是 Setup 的最差情况(WNS),第二个是 Hold 的最差情况(WHS),第三个是 Pulse Width最差情况(WPWS)。蓝色字体下面的一行是总的 Setup 不满足总的分数(TNS),第二个是总的 Hold 不满足总的分数(THS),第三个是总的 Pulse Width 不满足总的分数(TPWS)。一般我们只关注 Setup 总的分数,分数是 0,说明时序是满足的,分数是负的,说明时序是不满足的,负分越大,说明时序越差,时序负分过大会导致功能可能出问题,所以我们的时序优化的效果可以参考负分的变化。

对于负值不满足要求的我们可以点击进入查看是哪一条路径不满足 查看是否可以优化

在这里插入图片描述
在这里插入图片描述

点击shematic 可以显示的更加直观

在这里插入图片描述

含有PLL模块的时钟其实在我们没看到的地方系统自动帮助我们生成了时钟约束了

这是含有内部PLL模块的HDMI始终约束
因为在PLL端设定了HDMI传输模块时钟74M 内部编译是5倍频
在这里插入图片描述

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

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

相关文章

干货分享|Samba用户管理详解

一、Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机…

ELF解析03 - 加载段

本文主要讨论 mmap 函数以及如何使用 mmap 函数来加载一个 ELF 的可加载段。 01纠错 Android 8 及以后是会读取 section header 的,但不是所有的 section 都会读取。 https://cs.android.com/android/platform/superproject/main//main:bionic/linker/linker_phdr…

City Terrace Pack

“城市与露台资源包” 的主要特点:• 属于系列的一部分。• 极为逼真和现代化的城市。• 高度优化的低多边形和逼真资源。• 可用于 Oculus、GearVR、Vive、Daydream。• 可用于低端和高端移动设备。• 灵感来自于现代建筑和设计。• 36 种不同的摩天大楼和建筑物。• 其中每个…

易安联参与制定的《面向云计算的零信任体系》行业标准即将实施

中华人民共和国工业和信息化部公告2023年第38号文件正式发布行业标准:YD/T 4598.2-2023《面向云计算的零信任体系 第2部分:关键能力要求》及YD/T 4598.3-2023《面向云计算的零信任体系 第3部分:安全访问服务边缘能力要求》,并于20…

基于pytorch的循环神经网络情感分析系统

任务目标 基于给定数据集,进行数据预处理,搭建以LSTM为基本单元的模型,以Adam优化器对模型进行训练,使用训练后的模型进行预测并计算预测分类的准确率。 数据简介 IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据集…

专业130+总400+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大,电子信息,信息与通信工程,信通

今年专业课803信号与系统和数字逻辑130总分400如愿考上哈尔滨工业大学电子信息(信息与通信工程-信通),总结了一些各门课程复习心得,希望对大家复习有帮助。 数学一 资料选择: ①高数:张宇强化班 ②线性…

TMC2226步进电机驱动---学习记录

基于TMC2226数据手册的学习 主要内容介绍: Package Outline TMC2226 手册中引脚解释(按照手册表格顺序) 了解每个引脚是接什么的,之后看原理图 (借用立创广场kirito的原理图,后期换个) 以前的疑…

GPT function calling v2

原文:GPT function calling v2 - 知乎 OpenAI在2023年11月10号举行了第一次开发者大会(OpenAI DevDays),其中介绍了很多新奇有趣的新功能和新应用,而且更新了一波GPT的API,在1.0版本后的API调用与之前的0.…

Linux Kernel 4.14--EOF

2017 年,Linux 内核长期支持版本(LTS)的支持时间从原来的2年增加到6年。2023年下半年举行的开源欧洲峰会,LTS 的支持时间取消来了6年,再次缩短到了 2 年。 首个获得6年支持的版就是是 4.14。 在六年支持之后&#xf…

Elasticsearch--Master选举

角色 主节点(active master):一般指的是活跃的主节点,避免负载任务,主节点主要用来管理集群,专用master节点仍将充当协调节点 候选节点(master-eligible nodes):默认具备…

react hooks 高德地图的应用

一、准备 1.登录控制台 登录 高德开放平台控制台,如果没有开发者账号,请 注册开发者。 2.创建 key 进入应用管理,创建新应用,新应用中添加 key,服务平台选择 Web端(JS API)。 3.获取 key 和密钥 创建成功后&#x…

游戏服务器开发资源群共享

大家好,我邀请了来自腾讯和多多自走棋等多个爆款游戏项目的主程序和相关核心项目负责人建立的一个游戏服务器知识付费群: 相关社区活动请参考社区消息 : https://bbs.csdn.net/topics/617906497https://bbs.csdn.net/topics/617906497