vivado生成时钟分析

news2024/11/23 15:47:29

生成的时钟

本节讨论生成的时钟,包括:

•关于生成的时钟

•用户定义的生成时钟

•自动衍生时钟

•自动衍生时钟

关于生成的时钟

生成的时钟在设计内部由称为时钟修改块(用于例如MMCM),或者通过一些用户逻辑。生成的时钟与主时钟相关联。create_generated_clock命令考虑主时钟的起始点。主时钟可以是主时钟或者另一个生成的时钟。生成的时钟属性直接来源于它们的主时钟。而不是指定它们的周期或波形,您必须描述修改电路如何转换主控形状时钟。

主时钟和生成的时钟之间的关系可以是以下任意一种:

•简单的分频

•简单的倍频

•倍频和分频的组合,以获得非积分比(通常由MMCM和PLL完成)

•相移或波形反转

•工作循环转换

•以上所有内容的组合

用户定义的生成时钟

用户定义的生成时钟是:

•由create_generated_clock命令定义。

•连接到网表对象,最好是时钟树根引脚。使用-source选项指定主时钟。这表示设计中的引脚或端口主时钟通过其传播。通常使用主时钟源点或所生成的时钟源单元的输入时钟引脚。source选项只接受pin或端口网表对象。它不接受时钟对象。

示例一:简单除以2

主时钟clkin具有10ns的周期。它被寄存器REGA除以2驱动其他寄存器的时钟引脚。相应生成的时钟称为clkdiv2。以下提供了两个等效的约束条件:

create_clock -name clkin -period 10 [get_ports clkin]
# Option 1: master clock source is the primary clock source point
create_generated_clock -name clkdiv2 -source [get_ports clkin] -divide_by 2
\
[get_pins REGA/Q]
# Option 2: master clock source is the REGA clock pin
create_generated_clock -name clkdiv2 -source [get_pins REGA/C] -divide_by 2
\ [get_pins REGA/Q]

示例二:使用-edges选项除以2

您可以使用-edges选项直接描述所生成的时钟的波形基于主时钟的边沿。论点是用于定义生成时钟的时间位置的主时钟边缘索引列表边缘,从上升的时钟边缘开始。以下示例等效于示例一中定义的生成时钟:简单除以2。

# waveform specified with -edges instead of -divide_by
create_generated_clock -name clkdiv2 -source [get_pins REGA/C] -edges {1 3
5} \ [get_pins REGA/Q]

示例三:具有-边和的占空比变化和相移

-edge_shift选项

生成的时钟波形的每个边缘也可以分别偏移正或使用-edge_shift选项为负值。仅当需要相移时才使用此选项。-edge_shift选项不能与以下任何选项同时使用:

•-分隔

•多功能_ by

•-倒转

考虑具有10ns周期和50%占空比的主时钟clkin。它到达细胞mmcm0,其产生具有25%占空比、偏移90度的时钟。生成的时钟定义是指主时钟边沿1、2和3。这些边分别出现在0ns、5ns和10ns。为了获得所需波形,将第一边缘和第三边缘偏移2.5 ns。

create_clock -name clkin -period 10 [get_ports clkin]
create_generated_clock -name clkshift -source [get_pins mmcm0/CLKIN] -edges
{1 2 3} \
-edge_shift {2.5 0 2.5} [get_pins mmcm0/CLKOUT] # First rising edge: 0ns
+ 2.5ns = 2.5ns
# Falling edge: 5ns + 0ns = 5ns
# Second rising edge: 10ns + 2.5ns = 12.5ns

示例四:同时使用-divide_by和-multiply_by时间

Vivado IDE允许您同时指定-divide_by和-multiply_by。这是对标准Synopsys设计约束(SDC)支持的扩展。尤其是方便手动定义MMCM或PLL实例生成的时钟,尽管AMD建议让引擎自动创建这些约束。有关详细信息,请参见自动派生时钟。考虑示例三中的mmcm0单元:占空比变化和带-边的相和-edge_shift选项,并假设它乘以主时钟的频率减少4/3。相应生成的时钟定义为:

create_generated_clock -name clk43 -source [get_pins mmcm0/CLKIN] -
multiply_by 4 \
-divide_by 3 [get_pins mmcm0/CLKOUT]

如果在MMCM或PLL的输出上创建生成的时钟约束,最好进行验证波形定义与MMCM或PLL的配置相匹配。示例五:通过组合弧追踪主时钟只有在这个例子中,假设主时钟驱动基于寄存器的时钟除以2和时钟多路复用器,可以从寄存器中选择主时钟或除以2的时钟时钟分频器。在这种情况下从主时钟到生成时钟有两条路径,通过顺序弧和组合弧多路复用器输出上生成的时钟,反映组合路径的延迟从主时钟通过多路复用器。这是通过使用-组合命令行选项:

create_generated_clock -name clkout -source [get_pins mmcm0/CLKIN] -
combinational [get_pins MUX/O]

示例六:ODDR驱动的正向时钟

在本例中,在ODDR单元驱动的输出端口上创建转发时钟。这个转发时钟参考驱动ODDR/CLKDIV引脚的主时钟,并且具有相同的周期作为主时钟(-divide_by-1):

create_generated_clock -name ck_vsf_clk_2 \
-source [get_pins ODDRE1_vsfclk2_inst/CLKDIV] -divide_by 1 [get_ports
vsf_clk_2]

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

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

相关文章

应用 Strangler 模式将遗留系统分解为微服务

许多来源在一般情况下提供了微服务的解释,但缺乏特定领域的示例。新来者或不确定从哪里开始的人可能会发现掌握如何将遗留系统过渡到微服务架构具有挑战性。本指南主要面向那些正在努力启动迁移工作的个人,它提供了特定于业务的示例来帮助理解该过程。 …

EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表

EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表 使用EasyExcel导出表格可能会对字体颜色和单元格背景颜色进行自定义的修改。 可以自定义字体颜色或者每个单元格的颜色 要想自定义颜色,需要重写CellWriteHandler接口&am…

用友U8+CRM help2 任意文件读取漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件,旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 help2接口处存在任意文件读取漏洞,攻击者通过漏洞可以获取到服…

【PyTorch】代码学习

文章目录 直接定义nn.Sequential(), 然后append(),最后直接net(),少写很多forward,适合直连式网络 直接定义nn.Sequential(), 然后append(),最后直接net(),少写很多forward,适合直连式网络 代码来源:https://github.com/zshhans/MSD-Mixer/b…

用C爬取人人文库并分析实现免积分下载资料

最近有个学妹学习遇到问题,想要的学习资料都在文库中,因为资料太多太杂,想要一篇篇找太难了,主要是太浪费精力了。因此,听说这个事情我能解决,立马找到我,给我一杯奶茶就把我收买了,…

node.js mongoose index(索引)

目录 简介 索引类型 单索引 复合索引 文本索引 简介 在 Mongoose 中,索引(Index)是一种用于提高查询性能的数据结构,它可以加速对数据库中文档的检索操作 索引类型 单索引、复合索引、文本索引、多键索引、哈希索引、地理…

ChatGPT一周年:开源语言大模型的冲击

自2022年末发布后,ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习,模型可以回答人类问题,并在广泛的任务范围内遵循指令。在获得这一成功之后,人们对LLM的兴趣不断增加,新的LL…

听GPT 讲Rust源代码--src/tools(18)

File: rust/src/tools/rust-analyzer/crates/ide-ssr/src/from_comment.rs 在Rust源代码中的from_comment.rs文件位于Rust分析器(rust-analyzer)工具的ide-ssr库中,它的作用是将注释转换为Rust代码。 具体来说,该文件实现了从注…

数据库学习日常案例20231221-oracle libray cache lock分析

1 问题概述: 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。

微软官方出品:GPT大模型编排工具,支持C#、Python等多个语言版本

随着ChatGPT的火热,基于大模型开发应用已经成为新的风口。虽然目前的大型模型已经具备相当高的智能水平,但它们仍然无法完全实现业务流程的自动化,从而达到用户的目标。 微软官方开源的Semantic Kernel的AI编排工具,就可以很好的…

用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表) -- 自动生成

一、插件 Settings... 1.1 File -- Settings 1.2 Settings -- Plugins 1.2.1 搜索框,也可以直接搜索 1.3 Plugins -- 【输入 & 搜索】mybatis 1.3.1 插件不同功能介绍 1.3.2 翻译如下 1.4 选中 Update,更新下 1.4.1 更新中 1.4.2 Restart IDE 1…

Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印

package com.atguigu.structure; public class Demo02_arrayList {public static void main(String[] args) {MyGenericArrayListV1 arrayListV1 new MyGenericArrayListV1();//arr.add(element:100,index:1);下标越界,无法插入//初始化(第一次添加&…

selenium 报错

selenium 报错 开始学自动化测试,,环境配了一天TAT 安装好selenium之后 运行python脚本 # codingutf-8 from selenium import webdriver import timedriver webdriver.Chrome() driver.get("https://www.baidu.com") time.sleep(3) driver.…

HTML5的完整学习笔记

HTML 什么是HTML: 作为前端三件套之一,HTML的全称是超文本标记语言(Hypertext Markup Language)。HTML是一种标记语言,用于创建网页。它由一系列标签组成,这些标签用于定义网页的结构和内容。HTML标签告诉…

DIV+CSS页面布局

1.页面布局设计 现在所有的主流的、大型的 IT 企业的网站布局几乎都采用 DIV、CSS技术,有些甚至采用 DIV、CSS、表格混合进行页面布局。此类页面布局能够实现页面内容与表现的分离,提高网站访问速度、节省宽带、改善用户的体验。DIVCSS组合技术完全有别…

【Docker】基于华为 openEuler 应用 Docker 镜像体积压缩

书接 openEuler 系列文章(可以翻看测试系列),本次跟大家说说如何将 Java 包轻量化地构建到 openEuler 镜像中且保持镜像内操作系统是全补丁状态。 之前我们都是使用现成的 jdk 镜像进行构建的,如下图: FROM ibm-seme…

力扣每日一题day36[112.路径总和]

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…

云原生系列3-Kubernetes

1、Kubernetes概述 k8s缩写是因为k和s之间有八个字符。k8s是基于容器技术的分布式架构方案。官网:https://kubernetes.io/zh-cn/ Google在 2014年开源了Kubernetes项目,Kubernetes是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。同样类似的…

three.js实战模拟VR全景视图

文章中使用到的案例图片都来源于&#xff1a;Humus - Textures 里面有很多免费的资源&#xff0c;可以直接下载&#xff0c;每个资源里面都提供6个不同方位的图片&#xff0c;我们通过threejs稍微处理一下&#xff0c;就能实现以下3D效果的场景了。 <template><div …

aws-waf-cdn 基于规则组的永黑解决方案

1. 新建waf 规则组 2. 为规则组添加规则 根据需求创建不同的规则 3. waf中附加规则组 &#xff08;此时规则组所有规则都会附加到waf中&#xff0c;但是不会永黑&#xff09; 此刻&#xff0c;可以选择测试下规则是否生效&#xff0c;测试前确认保护资源绑定无误 4. 创建堆…