三、基准时钟、生成时钟、虚拟时钟的约束和意义

**前言:**前面从理论角度出发学习了时序分析的基本原理,本篇从设计的角度学习如何合理添加时钟约束。

文章目录

    • 一、基准时钟(base clock)和生成时钟(generate clock)
    • 二、基准时钟的约束
      • 1.完成综合(run implementation)
      • 2.进行基准时钟约束(edit timing constrains)
    • 三、查看时序约束的结果
    • 四、生成时钟约束
    • 五、虚拟时钟约束
    • 六、时序约束前后的时序报告:

一、基准时钟(base clock)和生成时钟(generate clock)

这里以前面做过的千兆以太网 HDMI 项目时钟树为例:
在这里插入图片描述
基准时钟为 sclkin,其余通过 PLL 的生成的时钟是生成时钟(generate clk)。

Vivado 约束基准时钟和生成时钟规则:

  • 如果基准时钟输入给 PLL,由于在 PLL 配置界面设置了基准时钟频率等信息,所以不需要额外再次约束基准时钟。在约束信息里会自动添加基准时钟约束,并且自动会把生成时钟也会添加约束。
  • 如果基准时钟并没有送入 PLL 直接通过分频或者不分频的方式给内部模块使用就需要添加基准时钟约束和生成时钟约束。

二、基准时钟的约束

1.完成综合(run implementation)

2.进行基准时钟约束(edit timing constrains)

在这里插入图片描述
① 在creat clock选项下添加基准时钟(rx_clki),并进行具体参数设置
在这里插入图片描述
② 查看时钟添加情况
在这里插入图片描述
具体信息如下:
在这里插入图片描述
③ 保存本次设置,并自动更新到xdc文件中
在这里插入图片描述
在这里插入图片描述
约束了基准时钟之后,关于这个时钟的时序分析结果就有了。

三、查看时序约束的结果

① 关闭当前时序信息
在这里插入图片描述
② 点击report timing,并设置打印时序报告参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置 option 中的观察时序路径条数和每个路径打印多少条信息,然后点击 OK 完成打印
在这里插入图片描述
③ 报告信息如下(没有出现红色说明都是时序满足建立时间要求的)
在这里插入图片描述

四、生成时钟约束

在这里插入图片描述
① 在create generated clock选项下添加生成时钟(源时钟:clk_out3目标时钟:tx_clk),并进行具体参数设置
在这里插入图片描述
在这里插入图片描述
② 查看时钟添加情况并保存(此步骤和生成时钟步骤一样)
在这里插入图片描述

五、虚拟时钟约束

本次案例并没有用到,一般会在系统同步中使用(该技术目前被淘汰了,了解即可)

什么是虚拟时钟?
答:就是在 fpga 内部不存在的时钟,这个时钟主要来辅助做一些分析,比如系统同步时晶振这个时钟给源端的时钟;

创建虚拟时钟的方法很简单,就是创建一个时钟但是不实际指向一个 fpga 内部或者 IO 上的对象。

①在 create clock 中添加一个虚拟时钟(vir_clk1)
在这里插入图片描述
② 查看时钟添加情况并保存(此步骤和生成时钟步骤一样)

打印信息如下:
在这里插入图片描述

六、时序约束前后的时序报告:

时序约束前:
在这里插入图片描述
时序约束后:
在这里插入图片描述

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

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

相关文章

linux的通信方案(SYSTEM V)

文章目录 共享内存(Share Memory)信号队列(Message Queue)信号量(semaphore) 进程间通信的核心理念:让不同的进程看见同一块资源 linux下的通信方案: SYSTEM V 共享内存(Share Memory) 特点:1.共享内存是进程见通信最…

排序(4)——堆排序

目录 堆排序(回顾) 基本思路 代码实现 向下调整排序 AdjustDown 建堆排序 时间复杂度 特性总结 堆排序(回顾) 重点回顾戳👉堆排序 基本思路 堆排序(Heapsort)是指利用堆积树(堆)这种数…

SOCKS5代理、代理IP与网络安全的奇妙旅程

在数字时代,互联网安全和隐私成为了热门话题。从个人浏览习惯到企业数据保护,每个人都希望他们的在线活动既安全又私密。在这个背景下,了解SOCKS5代理、代理IP、HTTP协议和网络安全的基础知识变得尤为重要。 什么是SOCKS5代理? SO…

鸿蒙系统开发适配注意事项

鸿蒙操作系统(HarmonyOS)的软件适配涉及到一些特定的注意事项,以确保应用程序在该操作系统上的正常运行和最佳性能。以下是适配鸿蒙软件时需要注意的一些关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的…

MySQL篇—执行计划介绍(第二篇,总共三篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

Python 编辑工具 Jupyter notebook

Jupyter notebook Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍 官网:Project Jupyter | Home Jupyter Notebook 是一个开源的交互式计算环境&#…

dockerdocker-copose_限制容器cpu和内存

本文目录 docker的限制方式限制CPU占用限制内存占用 docker-compose docker的限制方式 限制CPU占用 Docker使用--cpus参数来限制容器的CPU资源。该参数指定了分配给容器的CPU核心数量或百分比。 例子&#xff1a;限制CPU使用个数 docker run --cpus2 <imageName>以上…

网页版图像处理软件开发服务:助您项目在市场竞争中脱颖而出

在当今数字化时代&#xff0c;图像处理在各个行业中扮演着重要的角色&#xff0c;虎克专注于提供定制化的网页版图像处理软件开发服务&#xff0c;为您的项目保驾护航。 1.网页版图像处理软件的定制化需求 1.1行业特定功能 针对不同的业务需求&#xff0c;深入了解行业特点&…

springboot基于web的酒店客房管理系统论文

基于web的酒店客房管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了酒店客房管理系统的开发全过程。通过分析酒店客房管理系统管理的不足&#xff0c;创建了一个计算机管理酒店客房管理系统的方案。文…

Redis 之八:Jdeis API 的使用(Java 操作 Redis)

Jedis API 使用 Jedis 是 Redis 官方推荐的 Java 客户端&#xff0c;它提供了一套丰富的 API 来操作 Redis 服务器。通过 Jedis API&#xff0c;开发者可以方便地在 Java 应用程序中执行 Redis 的命令来实现数据的增删查改以及各种复杂的数据结构操作。 以下是一些基本的 Jedis…

springboot网站开发-idea开发环境下无法开启调试Debug模式

springboot网站开发-idea开发环境下无法开启调试Debug模式的解决办法。 近期在写后端代码的时候&#xff0c;发现&#xff0c;无法开启调试模式。网上查询了一下资料&#xff0c;发现需要做如下修改即可开启调试模式。 如图所示&#xff0c;把里面的选项&#xff0c;都放弃勾选…

SQLPro Studio:数据库管理的革命性工具 mac版

SQLPro Studio是一款强大的数据库管理和开发工具&#xff0c;它旨在提供高效、便捷和安全的数据库操作体验。无论是数据库管理员、开发人员还是数据分析师&#xff0c;SQLPro Studio都能满足他们在数据库管理、查询、设计和维护方面的需求。 SQLPro Studio mac版软件获取 首先…

B树系列(详解)

目录 一、B-树 二、B树 三、B*树 四、时间复杂度 五、Mysql与B树系列 一、B-树 首先再说B树的性质以及其他的之前&#xff0c;先要说一声&#xff0c;好多人都把这个树叫B减树&#xff0c;其实不是&#xff0c;他就叫B树&#xff0c;至于原因我觉的没必要再这个名字上纠结…

docker 转为docker-compose(composerize 命令)

可以使用Composerize将Docker命令转换为Docker Compose文件。 例如&#xff1a;将docker run命令转换为Docker Compose格式&#xff0c;只需用Composerize运行它&#xff0c;如下所示&#xff1a; composerize docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/…

【JavaSE】异常

异常概述 异常指的是程序在执行的过程中&#xff0c;出现的非正常情况&#xff0c;如果不处理最终会导致JVM的非正常停止。 在Java中&#xff0c;使用不同的类来表示不同的异常&#xff08;正所谓万物皆对象&#xff0c;因此异常也使用类来表示&#xff09;。一旦程序出现某种…

【HTML】HTML基础5(特殊字符)

目录 特殊字符的作用 常用的特殊字符 使用效果 特殊字符的作用 例如 当我在两个文字间打出空格时 <p>“银河护卫队”系列 在漫威电影宇宙中一直是异数般的存在&#xff0c;不仅因为影片主角是一群反英雄&#xff0c;<strong>与超级英雄相比显得格格不入<…

读书笔记-三国演义-三英战吕布

三英战吕布是《三国演义》中的一段著名战役&#xff0c;张飞、关羽和刘备三兄弟联手击败了当时的霸主吕布&#xff0c;展现了他们的武艺和忠义。 介绍 "三英战吕布"是《三国演义》中的一个著名战役&#xff0c;发生在三国时期&#xff0c;讲述了三位蜀汉名将——刘…

LeetCode 刷题 [C++] 第347题.前 K 个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 题目分析 据题意可知&#xff0c;我们需要先遍历整个数组&#xff0c;并统计每个数字出现的次数&#xff0c;保存在哈希表中&#xff1b;对元素…

synchrosized 的可重入特性、死锁、哲学家就餐问题以及解决死锁的方法等干货

文章目录 &#x1f490;synchrosized的可重入特性关于死锁&#xff1a;哲学家就餐问题&#x1f4a1;如何避免/解决死锁 &#x1f490;synchrosized的可重入特性 可重入特性&#xff1a;当一个线程针对一个对象同时加锁多次&#xff0c;不会构成死锁&#xff0c;这样的特性称为…

前端学习第一天-html基础

达标要求 网页的形成过程 常用的浏览器及常见的浏览器内核 web 标准三层组成 什么是HTML 熟练掌握HTML文档结构 熟练掌握HTML常用标签 1. 初识web前端 Web前端是创建Web页面或App等前端界面呈现给用户的过程。 Web前端开发是从网页制作演变而来&#xff0c;早期网站主…