Xilinx 7系列中clock IP核通过AXI4-Lite接口实现动态重新配置

当选择了动态重配置(Dynamic Reconfiguration)选项时,AXI4-Lite接口将默认被选中用于重新配置时钟组件。动态重新配置可以通过AXI4-Lite接口实现了Clocking Wizard IP核的时钟组件MMCM/PLL的动态重新配置。

如果需要直接访问MMCM/PLL的DRP寄存器,可以选择使用DRP接口。DRP接口提供了一种更为直接的方式来访问和控制MMCM/PLL等原语的内部寄存器。通过DRP接口,可以精确地控制原语的每个参数,以实现更高级别的配置和优化。然而,使用DRP接口可能需要更多的编程和调试工作,因为它涉及到对底层硬件的直接操作。

在选择使用AXI4-Lite接口还是DRP接口时,需要根据具体的应用需求进行权衡。如果需要快速、灵活地调整时钟组件的参数,并且不希望涉及过多的底层编程工作,那么AXI4-Lite接口可能是一个更好的选择。而如果需要更精确地控制组件的每一个参数,或者需要进行更复杂的配置和优化,那么DRP接口可能更适合。

当启用Dynamic Reconfig并且所选接口为AXI4-Lite时,此接口将被激活。但是,当启用扩频(Spread Spectrum)时,此功能不受支持。当使用AXI4-Lite接口时,该IP 核将提供混合语言的RTL(寄存器传输级)代码。
在这里插入图片描述
在实际应用中,通过AXI4-Lite接口进行动态配置可以使得时钟设置更加灵活和适应不同需求。例如,在需要频繁更改时钟配置的场景中,可以通过AXI4-Lite接口在运行时重新配置MMCM/PLL,而无需重启系统或重新加载配置。这对于需要快速响应变化的系统或需要动态调整性能的场景非常有用。

此外,AXI4-Lite接口的配置通常涉及到写地址总线、写数据总线以及相应的控制信号。通过这些接口,用户可以将新的配置数据写入到MMCM/PLL的控制寄存器中,从而实现动态配置。在配置过程中,还需要注意时钟的稳定性以及配置的正确性,以避免对系统造成不良影响。

1 重新配置相位和占空比

如果Phase Duty Cycle Config未启用,clocking wizard将仅调用与频率相关的函数。为了动态更改相位和占空比,必须启用此选项。然后,clocking wizard会调用与相位和占空比相关的函数,但这会消耗资源。如果资源无法使用,可以在IP生成期间使用clocking wizard调用这些功能,并编写一个包含直接DRP数据的不同地址集。在此过程中,clocking wizard不会进行任何计算,而是指导用户将所需的值写入寄存器。要启用此功能,必须选择“Write DRP registers”。

在实际应用中,动态调整相位和占空比对于优化信号质量、降低功耗或实现更复杂的时序控制至关重要。通过启用Phase Duty Cycle Config,并结合使用clocking wizard生成的代码和DRP数据,可以实现对FPGA时钟信号的精确控制。

2 动态重新配置的步骤

要进行动态重新配置,请按照以下步骤操作:

①写入所有时钟配置寄存器,然后检查状态寄存器。

②在向C_BASEADDR + 0x200寄存器写入之前,确保这些值能够产生MMCM/PLL的有效VCO频率范围。VCO频率通过以下公式计算得出:

VCO频率 = (输入时钟频率) * (CLKFBOUT_MULT) / DIVCLK_DIVIDE

③如果状态寄存器值为0x1,则通过向时钟配置寄存器23写入0x3来启动重新配置。
注意!只有在时钟FBOUT MULT的值不是整数时,才应启用时钟配置寄存器0中的小数使能位。同样,只有在CLKOUT0_DIVISE的值不是整数时,才应启用时钟配置寄存器2中的小数使能位。

遵循这些步骤,就可以安全有效地对FPGA中的MMCM或PLL进行动态重新配置。在重新配置过程中,确保仔细检查和验证所有输入值,以避免超出设备的规格或造成不稳定情况。

3 Write DRP registers

此功能的主要优势在于避免在clock IP核中使用DSP。该选项可以在动态重新配置模式下选择,并且仅对AXI4-Lite接口有效。此功能允许通过AXI直接写入基本寄存器。当选择此功能时,IDE中将启用一个选项卡,其中列出了寄存器地址和需要写入的值。
在这里插入图片描述
要执行此功能,请按照以下步骤操作:

①生成Clocking Wizard IP。启用动态重新配置选项,并选择“Write DRP registers”功能。

②使用相同的输入时钟和所需的功能打开另一个Clocking Wizard。

③根据动态重新配置的需要,在Vivado IDE的“输出时钟”选项卡中更改输出时钟功能。

④写入DRP寄存器选项卡中的表格会根据所需的时钟进行更新。使用这些寄存器集值来动态重新配置初始的Clocking Wizard。

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

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

相关文章

while循环与for进阶

在循环结构中,一共有4种语句:while、do-while、for、goto。其中,for循环是最复杂的。在本篇文章中,我们将学习while循环与for循环的进阶。 while循环 while循环的结构比较简单,如下: while(循环判断){循…

流量网关与服务网关的区别:(面试题,掌握)

流量网关:(如Nignx,OpenResty,Kong)是指提供全局性的、与后端业务应用无关的策略,例如 HTTPS证书认证、Web防火墙、全局流量监控,黑白名单等。 服务网关:(如Spring Clou…

vue echarts折线图 折线堆积图和折线面积图

vue echarts折线图 折线堆积图和折线面积图 1、折线堆积图和折线面积图的结合&#xff1b; 上代码 <template><section><divid"performaceLineChart"ref"performaceLineChartRef"style"width: 100%; height: 500px"></d…

云计算和边缘计算究竟有什么不同

在数据时代&#xff0c;无论是人的活动还是机器的运作都会产生各种各样海量的数据。在对数据梳理和筛选过程中&#xff0c;计算机的运算处理必不可少。为了减少本地计算机算力成本等限制&#xff0c;越来越多的企业选择了云计算和边缘计算。今天&#xff0c;德迅云安全就带您来…

qt实现方框调整

效果 在四周调整 代码 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QWidget>class MainWindow : public QWidget {Q_OBJECT public:explicit MainWindow(QWidget *parent 0);~MainWindow();void paintEvent(QPaintEvent *event);void updateRect();void re…

MySQL B+索引的工作原理及应用

引言 在数据库系统中&#xff0c;索引是优化查询、提高性能的关键技术之一。特别是在MySQL数据库中&#xff0c;B树索引作为最常用的索引类型&#xff0c;对数据库性能有着至关重要的影响。本文旨简单解析MySQL中B树索引的工作原理&#xff0c;帮助学生朋友们更好地理解和利用…

ruoyi-nbcio-plus基于vue3的flowable为了适配文件上传改造VForm3的代码记录

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

国产3D自研技术如何突围?眸瑞科技给3D建设、管理带来全新模式

眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&#xff0c;它专注于让一切3D模型在全网多端轻量化处理与展示&#xff0c;为行业数字化转型升级与数字孪生应用提供成套的国产自研3D可视化技术、产品与服务。 引言 眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&…

SSRF漏洞是什么,如何进行有效防护

SSRF全称&#xff1a;Server-Side Request Forgery&#xff0c;即&#xff0c;服务器端请求伪造。是一个由攻击者构造请求&#xff0c;在目标服务端执行的一个安全漏洞。攻击者可以利用该漏洞使服务器端向攻击者构造的任意域发出请求&#xff0c;目标通常是从外网无法访问的内部…

Ubuntu2004 CMake 使用基础

一、环境安装 win10安装wsl ubuntu2004 #windows c盘工程目录建立软链 ln -s /mnt/c /home/vrviu/ 安装cmake、c编译工具 apt install -y cmake g 二、CMakeLists.txt讲解 准备工作 首先&#xff0c;在/home/vrviu 目录建立一个 cmake 目录 以后我们所有的 cmake 练习都会放…

一文掌握Vue3:深度解读Vue3新特性、Vue2与Vue3核心差异以及Vue2到Vue3转型迭代迁移重点梳理与实战

每次技术革新均推动着应用性能与开发体验的提升。Vue3 的迭代进步体现在性能优化、API重构与增强型TypeScript支持等方面&#xff0c;从而实现更高效开发、更优运行表现&#xff0c;促使升级成为保持竞争力与跟进现代前端趋势的必然选择。本文深度解读Vue3 响应式数据data、生命…

稳态视觉诱发电位 (SSVEP) 分类学习系列 (4) :Temporal-Spatial Transformer

稳态视觉诱发电位分类学习系列:Temporal-Spatial Transformer 0. 引言1. 主要贡献2. 提出的方法2.1 解码的主要步骤2.2 网络的主要结构 3. 结果和讨论3.1 在两个数据集下的分类效果3.2 与基线模型的比较3.3 消融实验3.4 t-SNE 可视化 4. 总结欢迎来稿 论文地址&#xff1a;http…