RFSOC学习记录(二)IP核的整体时钟结构

上一篇我简要介绍了rf data converter这个ip核的整体功能,这一篇我着重讲一下ip核的时钟结构,由于网上的教程参差不齐,商家给的例程也没有很好的解释,导致我本人走了不少弯路,摸了将近一个月才勉强把时钟树给理解透了

在pg269这个文档里面,对于这个ip核总体的时钟框图大致是这样的

我们可以看到主要是分了几级的时钟,分别是

Sampling clk:ADDA的采样时钟,就是等于他们的采样率(GSPS),在配置ip核时钟的时候可以直接写数值进去

Reference clk:是每个PLL的输入时钟,频率需要与Fabric clk,m_axis_aclk的频率一致,他的值取决于采样率的大小,在配置界面更改采样率的时候reference clk也会变,大小通常为MHz级别,是生成采样时钟的参考时钟

Fabric clk: 这是在所选tile的AXI流时钟输入上提供的时钟频率。由采样速率配置中的设置确定。由于所有tile上的所有AXI流端口共享一个公共AXI流时钟,因此所有fabric clk配置必须要求相同。其值计算方法为

<math xmlns="http://www.w3.org/1998/Math/MathML"> F a x i = f s a m p l e N i n t e r p ⋅ N a x i F_{axi} = \frac{f_{sample}}{N_{interp} \cdot N_{axi}} </math>Faxi=Ninterp⋅Naxifsample

<math xmlns="http://www.w3.org/1998/Math/MathML"> N i n t e r p N_{interp} </math>Ninterp 插值倍数,也是DAC端每个输入样点扩展为N个采样点

<math xmlns="http://www.w3.org/1998/Math/MathML"> N d e c i m N_{decim} </math>Ndecim 抽取倍数,也是ADC端每N个采样点输出一个点

<math xmlns="http://www.w3.org/1998/Math/MathML"> N _ a x i N\_{axi} </math>N_axi 在ip核是 Samples per AXI cycle ,意思是每个AXI时钟周期传输多少个样点

以DAC为例,整个数据通路是这样工作的,例如DDS在FPGA 在每个 AXI 时钟周期(245.76 MHz)送出个 <math xmlns="http://www.w3.org/1998/Math/MathML"> N _ a x i N\{axi} </math>N_axi 个样点,然后RFDC 的 Interpolation Filter将每个样点插值成 <math xmlns="http://www.w3.org/1998/Math/MathML"> N i n t e r p N{interp} </math>Ninterp 倍;插值后的采样流被送往 DAC 核心,运行在 <math xmlns="http://www.w3.org/1998/Math/MathML"> f s a m p l e f_{sample} </math>fsample 时钟下;这样就实现了从 FPGA 低速到 DAC 高速的时域扩展,ADC则是反过来同理

这里需要注意的点就是Fabric clk的配置需要与Ref clk一致,至少要成整数比,因为RFDC Tile 内部的 RF PLL 用 Ref clk 作为参考源来合成高速采样时钟,同时,Fabric clk 可以选择由 Tile PLL 输出的一个分频支路,若 Fabric clk 与 Ref clk 不成整数比,则PLL 输出的相位参考无法对齐,Fabric clk 与 Sampling clk 间出现亚稳态,导致 AXI 接口出现非确定性延迟,数据时序会漂移

clk_adc/dac: 是作为IP核的输出时钟,可以随着采样率而设置,此时钟可用于驱动AXI 4-Stream时钟输入,就是作为m_axis_aclk的输入,Xilinx官方也给出了这样的图示

sysref clk: 由PL产生,用于多通道同步,这个信号很重要,所有的ADC/DAC tile需通过sysref信号进行时间对齐,这个信号通常很小,是上述所有信号的公约数,大概在10MHz以内,后面讲多片时钟同步的时候会着重讲到这个信号

所以在ip核的配置中,如图所示,在设置完采样率之后,Fabric clk是被锁死的,因为由前页的插值抽取倍数和采样周期点数决定,而ref clk和clk out都是可以自己选的,建议reference clk和fabric clk配置成一样的频率

在这里由于LTE 5G系统里通信系统的标准采样基准是30.72*N MHz,所以这里选用3.93216ghz作为采样率来往下配置下面的频率

下一篇会讲解如何通过TICS PRO这个软件配置上述时钟

总结

所以在IP核中,时钟的结构是这样的四层结构

相关推荐
砖厂小工16 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
程序员鱼皮16 小时前
又一个新项目完结,我要出海了!
ai·github·开源项目
徐小夕17 小时前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment17 小时前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅18 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub19 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财1 天前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
sunny8651 天前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
ZengLiangYi2 天前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github