安路TangDynasty(TD)创建PLL锁相环示例-Anlogic-安路社区-FPGA CPLD-ChipDebug

安路TangDynasty(TD)创建PLL锁相环示例

PH1A100SFG676为例,其它器件类似 , PH1A100SFG676 器件提供了 20 PLL,可以实现高性能的时钟管理功能,同时适
用于各种频率的合成器,能够为外部和内部提供低抖动的时钟。(具体可查看各
device
PLL 用户手册)

 创建 PLL 模块

1. 选择 Tools IP Generator, 选择Create an IP core

20230916220243443-image

 


2.
输入模块名称并选择存储路径。此处,若是在有工程的基础上创建 PLL 模块,
存储路径和器件名称将与工程保持一致。若在没有工程的基础上创建
PLL 模块,
用户需手动设置保存路径和器件名称。

20230916220311564-image

3. Function 窗口 Primitive IP 展开 Clock PLL, 双击 PLL 打开配置界面。

20230916220357162-image

 

4. 设置 PLL 的相关参数
1) PLL 模式设置 

20230916220445179-image

PLL 支持 4 种反馈模式,每种模式都支持时钟分频/倍频和相移。
a) 普通模式(Normal
普通模式中,
PLL 会补偿 GCLK 网络延迟,保证内部寄存器输入时钟相位和时
钟管脚相位一致。
b) 源同步模式(Source-Synchronous
源同步模式通过动态相移功能,调节时钟相位保证数据端口到
IOB 输入寄存器
的延迟和时钟输入端口到
IOB 寄存器的延迟相等(数据和时钟输入端口模式相
同情况下)。
c) 无补偿模式(No Compensation
在无补偿模式,
PLL 不对时钟网络延迟进行补偿, PLL 采用内部自反馈,这会
提高
PLL 的抖动特性。
d) 零延迟缓冲模式(Zero Delay Buffer
零延迟缓冲模式,时钟输出管脚相位和
PLL 参考时钟输入管脚相位对齐。
PLL 参数特性如下表所示:

Parameter Feature
输入参考时钟频率范围 10-500 MHz
输入时钟抖动 小于 20%输入时钟周期或者最大 1ns
输出时钟频率范围 6.25-1000MHz
VCO 频率范围 800-2000 MHz
时钟输出端口数 7 (支持反向输出)
参考时钟分频系数(M)

1to 128

 

反馈时钟分频系数(N) 1 to 128
输出时钟分频系数(C0-6) 1 to 128
相移分辨率 45o (相对 VCO
用户动态相位调整 支持
锁定状态输出 Lock
锁定时间 200us
带宽 HIGHLOWMEDIUM
占空比调整 支持
外部反馈时钟抖动 小于 20%输入时钟周期或者最大 1ns
小数分频 支持(C0~C6 均支持, VCO 为参考时
钟的小数倍时使用)
展频(SSC 支持
动态配置 支持

当选择Add derive_pll_clocks时, 在编译工程时会自动在所有用到的 PLL
clkc[x]
端口生成时钟约束, 生成时钟的频率、 相位都将严格按照 PLL 内部的参
数设定。 而选择
Generate Basic Clocks将会在对应的 PLL refclk 上定义 FIN
率的基准时钟,否则将自动搜索
refclk pin 以及所连 net 上定义的时钟,没找到
则报错。

2)输出时钟的设置
每个
PLL 皆有 7 个输出时钟 C0~C6,可根据需求选择输出时钟的数量并配置输出
时钟的频率及相位偏移量。 设置输出频率时,可在
Clock frequency 界面直接设置输出
频率, 也可根据输入频率, 在
Parameters setting 界面设置分频系数。 点击Show Details
可在右下角查看该输出的各项性能参数值。

20230916220910254-image

20230916220924760-image

3Bandwidth 的设置
可分别设置
Bandwidth 的值为 LowMediumHigh, 默认值为 Medium。 点击Show

Details可查看该带宽下, PLL 各性能参数的值。

20230916221014414-image

4) 最后确认各项参数是否正确, 点击Finish完成 PLL 的配置。

20230916221035213-image

5. 软件将给出生成文件的路径, 点击OK后, 可根据提示选择是否将生成的文件
添加至工程中。

20230916221047600-image

6. 可通过选择 Tools → IP Generator, 选择Edit an IP core来打开一个已存在的
IP

20230916221106993-image

20230916221115315-image

例化 PLL 模块

以新建工程为例介绍例化 PLL 模块的过程。用户也可以在已有工程的基础上进行
例化,例化过程一致。
1. 新建工程,并为工程添加顶层模块。
2. 在工程中添加上一步生成的 test_pll.v
3.
在顶层模块中调用 test_pll 模块, 并修改 inst 名称和端口名称, 点击保存按钮,
即完成了
PLL 模块的例化。 点击 File → Save 保存文件

20230916221147357-image

 

请登录后发表评论

    没有回复内容