vivado 自动派生时钟

news/2024/11/8 11:56:35/

自动派生时钟

自动派生的时钟也称为自动生成的时钟。Vivado IDE自动在时钟修改块(CMB)的输出引脚上创建这些的约束,只要已经定义了相关的主时钟。在AMD 7系列设备系列中,CMB有:

•MMCM*/PLL*

•BUFR

•相位器*

在AMD UltraScale中™设备系列,CMB是:

•MMCM*/PLL*

•BUFG_GT/BUFGCE_DIV

•GT*_COMMON/GT*_CHANNEL/IBUFDS_GTE3

•BITSLICE_CONTROL/RX*_BITSLICE

•订单3

如果还创建了用户定义的时钟(主时钟或生成时钟),则不会创建自动生成的时钟定义在同一网表对象上,即在同一定义点(网络或引脚)上。自动派生的时钟是用网络最顶层结构中的段名称命的,即连接到定义点。

自动派生时钟示例

以下自动导出的时钟示例是由MMCM生成的时钟。主时钟clkin驱动MMCME2实例clkip/mmcm0的输入clkin。这个自动生成的时钟的名称为cpuClk,其定义点为clkip/mmcm0/CLKOUT。

本地网络名称

如果CMB实例位于设计的层次结构内,则本地网络名称(即没有其父单元名称的名称)用于生成的时钟名称。例如,对于名为clkip/cpuClk的分层网络:

•父单元格名称为clkip。

•生成的时钟名称为cpuClk。

名称冲突

如果两个自动生成的时钟之间存在名称冲突,Vivado IDE会添加唯一的后缀来区分它们,例如:

usrclk
usrclk_1
usrclk_2

要强制生成时钟的名称,请执行以下操作:

•在RTL中选择唯一且相关的网络名称,或

•使用create_generated_clock强制生成时钟的名称。

重命名自动衍生时钟

可以重命名工具自动创建的生成时钟。这个重命名过程包括使用有限的参数数量:

create_generated_clock -name new_name [-source master_pin] [-master_clock
master_clk] source_object

必须指定的参数是新生成的时钟名称和源对象

生成的时钟的。生成的时钟的源对象是创建自动派生时钟的对象(CMB输出引脚、UltraScale的GT输出引脚等)。-来源和-只有当多个时钟通过源引脚,以消除任何歧义。

局限性

•自动衍生时钟只能在其产生的引脚处重命名,例如在时钟修改块(PLL、MMCM…)的输出。例如,自动导出的时钟不能在BUFG的输出处重命名,即使它在其中传播。

•主时钟或用户定义生成的时钟不能重命名。仅自动派生的时钟可以使用此机制重命名。

•source_object必须与创建自动派生时钟的对象相匹配。

如果工具无法重命名生成的时钟,则返回错误。主时钟也必须在完成重命名时存在。自动派生的时钟可以随时重命名在XDC内部,即使在它们已经被一些定时约束引用之后。例如,以下是的输出引脚处生成的时钟的report_clocks摘要MMCM:

====================================================
Generated Clocks
====================================================
Generated Clock : clkfbout_clk_core
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Multiply By : 1
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKFBOUT}
Generated Clock : clk_rx_clk_core
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Multiply By : 1
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT0}
Generated Clock : clk_tx_clk_core
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Edges : {1 2 3}
Edge Shifts : {0.000 0.500 1.000}
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT1}

下面的三个命令说明了重命名时必须指定的命令行选项

MMCM输出端的三个自动导出时钟:

create_generated_clock -name clk_rx [get_pins clk_gen_i0/clk_core_i0/inst/
mmcm_adv_inst/CLKOUT0]
create_generated_clock -name clk_tx [get_pins clk_gen_i0/clk_core_i0/inst/
mmcm_adv_inst/CLKOUT1]
create_generated_clock -name clkfbout [get_pins clk_gen_i0/clk_core_i0/inst/
mmcm_adv_inst/CLKFBOUT]

重命名后,以下是report_clocks的摘要:

====================================================
Generated Clocks
====================================================
Generated Clock : clkfbout
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Multiply By : 1
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKFBOUT}
Generated Clock : clk_rx
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Multiply By : 1
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT0}
Generated Clock : clk_tx
Master Source : clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1 Master
Clock : clk_pin_p
Edges : {1 2 3}
Edge Shifts : {0.000 0.500 1.000}
Generated Sources : {clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT1}

http://www.ppmy.cn/news/1278528.html

相关文章

vue3 常用函数\\组件传值

一、简介 组合式api 1、 setup&#xff08;&#xff09; 组合式api的入口页面启动后&#xff0c;第一个自动执行的函数定义项目中所有的变量、方法所有的变量和方法&#xff0c;只有return出去&#xff0c;在页面视图中正常使用<template><!-- v-text的简写-->…

某电子文档安全管理系统存在任意用户登录漏洞

漏洞简介 某电子文档安全管理系统存在任意用户登录漏洞&#xff0c;攻击者可以通过用户名获取对应的cookie&#xff0c;登录后台。 资产测绘 Hunter语法&#xff1a;web.icon“9fd216c3e694850445607451fe3b3568” 漏洞复现 获取Cookie POST /CDGServer3/LinkFilterServi…

C#上位机与欧姆龙PLC的通信03----创建项目工程

1、创建仿真PLC 这是一款CP1H-X40DR-A的PLC&#xff0c;呆会后面创建工程的时候需要与这个类型的PLC类型一致&#xff0c;否则程序下载不到PLC上。 2、创建虚拟串口 首先安装&#xff0c;这个用来创建虚拟串口来模拟真实的串口&#xff0c;也就是上位机上有那种COM口&#xf…

Postman报:400 Bad Request

● 使用Postman发送Post请求报400&#xff0c;入参为JSON&#xff1b; 二、分析 1、Postman请求并没有请求到后台Api&#xff08;由于语法错误&#xff0c;服务器无法理解请求&#xff09;&#xff1b; 2、入参出错范围&#xff1a;cookie、header、body、form-data、x-www-f…

原生JavaScript实现 元素全屏与退出全屏效果

之前写过 前端screenfull实现界面全屏展示功能 突然发现自己犯傻了 其实元素js中就有全屏与取消全屏的方式 html代码如下 <!DOCTYPE html> <html> <head><title>全屏实验</title><style></style> </head> <body><d…

案例135:基于微信小程序的房屋租赁管理系统的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

Redis基础篇-004 Redis的Java客户端

Redis客户端分为三类&#xff1a; 命令行客户端图形化桌面客户端编程客户端&#xff08;java客户端&#xff09; redis可视化工具和客户端 1、 Jedis快速入门 Jedis的官网地址&#xff1a; https://github.com/redis/jedis 1.1 新建一个Maven工程并引入以下依赖 <!--引入…

跨域问题的解决

1.什么是跨域&#xff1f; 浏览器从一个域名的网页去请求另外一个域名的资源时&#xff0c;域名、端口或者协议不同都是跨域 2.跨域的解决方案 设置CORS响应头∶后端可以在HTTP响应头中添加相关的CORS标头&#xff0c;允许特定的源&#xff08;域名、协议、端口)访问资源。S…