Xilinx 7系列MMCM/PLL端口简介

2024-04-24 10:04

本文主要是介绍Xilinx 7系列MMCM/PLL端口简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在FPGA设计中,MMCM和PLL的端口允许设计者进行各种配置,包括设置时钟源的选择、分频系数、相位偏移等参数。此外,这些端口还可以提供时钟信号的状态信息,如是否锁定、频率误差等,以便设计者进行监控和调试。
具体的端口包括:

1、CLKIN1 - 主参考时钟输入

可以由同一局部时钟域内的SRCC或MRCC I/O直接驱动,也可以通过CMT主干线由垂直相邻时钟区域内的SRCC或MRCC I/O驱动,或者由BUFG、BUFR、BUFH或直接由高速串行收发器驱动。当时钟输入来自另一个用于级联CMT功能的CMT块时,只能使用CLKOUT[0:3]。

2、CLKIN2 - 次级时钟输入

用于动态切换MMCM/PLL的参考时钟。可以由同一局部时钟域内的SRCC或MRCC I/O直接驱动,也可以通过CMT主干线由垂直相邻时钟区域内的SRCC或MRCC I/O驱动,或者由BUFG、BUFR、BUFH或直接由高速串行收发器驱动。

3、CLKFBIN – 时钟反馈的输入端

直接连接到CLKFBOUT以实现内部反馈,或者通过IBUFG(通过时钟功能的引脚用于去除外部偏斜)、BUFG、BUFH。
当需要外部时钟对齐时,反馈路径的时钟缓冲器类型应该与正向时钟缓冲器类型相匹配,但BUFR除外。BUFR无法被补偿。

4、CLKFBOUT – MMCM和PLL专用的反馈输出

5、CLKFBOUTB – CLKFBOUT的反转信号

不应用于反馈,但它提供了一个额外的、反转的CLKFBOUT输出时钟。在PLL中不可用。

6、CLKINSEL – 控制时钟输入多路复用器的状态

当CLKINSEL为高时,选择CLKIN1作为输入;当为低时,选择CLKIN2作为输入。
在时钟切换期间,MMCM/PLL必须保持在RESET状态。

7、RST – 异步复位信号

当RST信号被激活时,MMCM/PLL将被异步复位。当RST信号被撤销(deasserted)时,MMCM/PLL将同步地重新启用。

8、PWRDWN – 电源关闭

用于关闭实例化但当前未使用的MMCMs/PLLs。可用于节省设计中暂时不活动部分或特定系统配置中未激活的MMCMs/PLLs的功耗,

9、DADDR[6:0] – 动态重构地址

总线上的地址值指定了将在下一个DCLK周期中写入或读取的16个配置位。如果不使用,所有位都必须赋值为零。

10、DI[15:0] – 动态重构数据输入

总线上的值将写入配置单元。数据在DEN和DWE激活的周期中呈现。数据首先被捕获到影子寄存器中,然后在稍后的时间写入。DRDY指示DRP端口何时准备好接受另一次写入。如果不使用,所有位都必须设置为零。

11、DWE – 动态重构写使能

提供了写入/读取使能控制信号,用于将DI数据写入或从DADDR地址读取DO数据。如果不使用,DWE必须接低电平。

12、DEN – 动态重构使能脉冲

提供了访问动态重构功能的使能控制信号,并启用所有DRP(动态重构端口)操作。当不使用动态重构功能时,DEN必须接低电平。

13、DCLK – 动态重构参考时钟

这个信号的上升边沿是所有其他端口信号的定时参考。对于其他输入信号,相对于DCLK的上升边沿没有保持时间要求。这个引脚可以由IBUF、IBUFG、BUFG、BUFR或BUFH驱动。

14、PSCLK – 相位调整时钟

为动态相位调整接口提供源时钟。所有其他输入都是同步到这个时钟的正边沿的。这个引脚可以由IBUF、IBUFG、BUFG、BUFR或BUFH驱动。
注意:该时钟在PLL中不可用。

15、PSEN – 相位调整使能

通过同步地激活这个信号,可以启动动态(可变)相位调整操作。它必须在PSCLK的一个周期内被激活。
启动相位调整后,相位会逐渐改变,直到PSDONE上的高电平脉冲指示操作完成。在操作过程中,不会出现抖动或随机变化。从操作的开始到结束,相位是以连续的模拟方式改变的。
注意:该使能信号在PLL中不可用。

16、PSINCDEC – 相位调整增加/减少控制

这个输入信号同步地指示动态相位调整是增加操作(正相位调整)还是减少操作(负相位调整)。
PSINCDEC信号高电平表示增加,低电平表示减少。动态相位调整操作没有相位溢出的问题。如果相位调整超过360°或多圈,相位将从原始相位开始循环。
注意:该控制信号在PLL中不可用。

17、CLKOUT[0:6] – 输出时钟

这些用户可配置的时钟输出(对于MMCM是CLKOUT0到CLKOUT6,对于PLL是CLKOUT0到CLKOUT5)可以是VCO相位输出的分频版本(用户可控),分频系数从1(直通)到128。
输入时钟和输出时钟可以相位对齐。当与BUFR或BUFIO一起使用时,只有MMCM可以直接通过时钟输出CLKOUT0到CLKOUT3连接到HPC(高性能时钟)。
此外,CLKOUT0到CLKOUT3可以连接到CMT(时钟管理模块)骨干网络,用于级联MMCMs和PLLs。
与从CCIO引脚驱动MMCMs和PLLs到相邻区域类似,级联使用CMT骨干网络中有限的资源将时钟资源直接连接在相邻区域。在同一列内的级联元素之间也会产生相位偏移。
在MMCM中,CLKOUT0和CLKFBOUT可以在分数分频模式下使用。所有CLKOUT输出都可以在非分数模式下使用,以提供静态或动态相位调整。在分数模式下,只允许固定相位调整。

18、CLKOUT[0:3]B – 反转输出时钟

CLKOUT[0:3]B是CLKOUT[0:3]的反转(180°相位偏移)版本。
注意:该时钟在PLL中不可用。

19、CLKINSTOPPED – 输入时钟状态

这是一个状态引脚,用于指示输入时钟已停止。当时钟停止时,该信号会在一个时钟周期内被激活。当时钟重新启动并锁定,或者时钟切换到备用时钟输入并且MMCM重新锁定后,该信号将被取消激活。
注意:该时钟在PLL中不可用。

20、CLKFBSTOPPED – 反馈时钟状态

这是一个状态引脚,用于指示反馈时钟已停止。当时钟停止时,该信号会在一个时钟周期内被激活。当反馈时钟重新启动并且MMCM重新锁定后,该信号将被取消激活。
注意:该时钟在PLL中不可用。

21、LOCKED

MMCM/PLL的一个输出信号用于指示MMCM/PLL何时已经实现了参考时钟和输入引脚上的反馈时钟的相位和频率对齐。相位对齐是在预定的窗口内实现的,而频率匹配则是在预定的PPM(百万分之一)范围内完成的。MMCM在开机后会自动锁定,无需额外的复位操作。
如果输入时钟停止,相位对齐被破坏(例如,输入时钟相位发生偏移),或者频率发生变化,那么LOCKED信号将在一个PFD(相位频率检测器)时钟周期内被取消激活。当LOCKED信号被取消激活时,必须重置MMCM/PLL。在LOCKED信号被激活之前,不应使用时钟输出。

在FPGA设计中使用MMCM/PLL时,需要监测LOCKED信号以确保时钟信号是稳定和可靠的。在LOCKED信号被激活之前,任何依赖于MMCM/PLL输出的逻辑或模块都不应开始工作,以避免潜在的时序错误或不稳定行为。一旦LOCKED信号被激活,表示MMCM/PLL已经成功地对齐和匹配了参考时钟和反馈时钟,此时可以安全地使用时钟输出来驱动系统的其他部分。

22、DO[15:0] – 动态重配置输出总线

在使用动态重配置时提供MMCM数据输出。
如果DWE在DCLK的上升沿不活跃,而DEN活跃,则该总线将保持由DADDR寻址的配置单元的内容。
当DRDY活跃时,必须在DCLK的上升沿捕获DO总线。DO总线的值将保持到下一个DRP操作。

23、DRDY – 动态重配置就绪

是对MMCM动态重配置功能中的DEN信号的响应,表示一个DEN/DCLK操作已经完成。当DEN信号被激活并且与DCLK同步的时钟边沿到达时,MMCM会开始一个动态重配置操作。当这个操作完成时,DRDY信号会被激活,指示设计者可以进行下一个动态重配置操作或读取DO总线上的数据。
通过监控DRDY信号,设计者可以确保在读取或写入配置数据之前,MMCM已经完成了之前的操作。

24、PSDONE – 相位调整完成

是与PSCLK(相位调整时钟)同步的。
当当前的相位调整操作完成时,PSDONE信号会在一个时钟周期内被激活,表示可以开始一个新的相位调整周期。
这个信号对于需要精确控制时钟相位的应用来说非常有用,例如在需要同步多个时钟源或进行精确的时钟延迟调整时。通过监控PSDONE信号,设计者可以确保在下一个相位调整操作开始之前,当前的调整已经完成。
注意:这个信号在PLL(相位锁定环)中是不可用的,因为PLL通常具有不同的相位调整机制和控制方式。

这篇关于Xilinx 7系列MMCM/PLL端口简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931439

相关文章

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of