易灵思FPGA--PLL资源

本文详细介绍了锁相环(PLL)的工作原理、常见FPGA器件如Xilinx、Altera和Lattice的PLL资源概况,以及易灵思(Efinix)FPGA内部PLL的资源和使用方法。PLL作为一种关键的时钟管理技术,常用于频率合成和相位同步。在易灵思的器件中,PLL资源配置和使用涉及预分频器、乘法器、后分频器和输出分频器等组件,并提供了多种配置模式以适应不同的设计需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.PLL简介

1–PLL 是什么

PLL是一种反馈控制电路,Phase-Locked Loop,简称锁相环。
其特点是,利用外部输入的参考信号控制环路内部振荡信号的频率和相位。
PLL可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。
锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。

2–工作原理

锁相环通常由鉴相器(PD,Phase Detector)、环路滤波器(LF,Loop Filter)和压控振荡器(VCO,Voltage Controlled Oscillator) 三部分组成。
流程
简单的PLL由频率基准、相位检波器、电荷泵、环路滤波器和压控振荡器(VCO)组成。
其过程是输入信号-> 鉴相器 -> 低通滤波器 -> 压控振荡器-> 输出信号;
鉴相器有两个输入,分别是输入信号和压控振荡器的输出信号,在二者相位差和频率差不是很大的情况下,鉴相器的输出与两输入信号之差成正比,鉴相器的输出为模拟信号,其通过低通滤波器虑除高频杂波,后进入压控振荡器,压控振荡器的输出频率随其输入电压的改变而改变;
从原理图上看,PLL实际上是一负反馈系统,只要输入信号在正常范围内,输出信号在“一定时间内”都能跟上;
输入信号发生变化后,输出信号跟踪输入信号的过程称之为捕获;
输出信号跟踪完毕时称之为锁定;输入信号变化过快导致输出信号无法跟踪时称为失锁。

二.常见FPGA器件PLL资源概况

1–Xilinx

赛灵思的CMT(clock management tile),CMT由1个MMCM(mixed-mode clock manager)和1个或者2个PLL(phase-locked loop)组成。
MMCM
PLL
MMCM可以有2个时钟输入,2选1,输入时钟经过PFD,CP,LF后产生一定幅度的电压输入到VCO,VCO产生频率与输入电压幅度成比例的高频时钟,再被除以M倍并反馈到PFD。
PLL和MMCM的区别是没有反相输出、动态相位调整等。
这是X家CMT单元的手册

2–Altera

A家器件系列较多,会告诉你有多少个全局时钟和局部时钟资源。
拿C10系列看,有32个全局资源;拿A10器件来看,有32分全局和8~16个局部;而S10直接说有上百个时钟树,足够使用。

小数分频这是A10小数分频的架构
在这里插入图片描述
这是A10 8路选择的PLL
Altera的每个datesheet里面都有完整的架构说明,和计算参数;详见官网DS。

3–Lattice

L家的就比较简单了,ECP5系列不同型号的PLL资源从2~4个不等。
L-cep5
2路clk输入选择,4路VCO结果的输出,一目了然。
ECP5-DS

三.易灵思内部PLL资源概况

1–PLL资源简介

易灵思第一代产品Trion从4K到120K资源不等,无论大小,内部有都有16个全局时钟资源;而PLL的个数取决于不同的器件和封装,下面是对应型号的最大PLL个数。

型号T4T8T20T35T55T85T120
PLL个数1557788

易灵思第二代产品Titanium内部有有32个全局时钟资源;

而且PLL是做成了硬核,以保证高速倍频下的稳定性。拿做常见的T20F256和T35F324举例。
T20F256-PLL引脚分布
在这里插入图片描述

T35F324-PLL引脚分布
在这里插入图片描述

Ti60F225-PLL引脚分布
在这里插入图片描述

每个PLL都是硬核,对应的的都是固定的引脚(T35F324时钟参考源)。

PLLREFCLK0REFCLK1
PLL_BL0GPIOL_15_PLLIN0N/A
PLL_BR0(6)GPIOR_138_PLLIN0Single-ended: GPIOB_TXP09_CLK0
PLL_BR1GPIOR_139_PLLIN1Single-ended: GPIOB_TXP15_CLK1_CDI15
PLL_BR2GPIOR_140_PLLIN2Single-ended: GPIOB_TXP19_CLK2
PLL_TR0GPIOR_118_PLLIN0Differential: GPIOT_RXP08_CLKP0, GPIOT_RXN08_CLKN0Single-ended: GPIOT_RXP08_CLKP0
PLL_TR1GPIOR_119_PLLIN0Differential: GPIOT_RXP17_CLKP1, GPOT_RXN17_CLKN1,Single-ended: GPIOT_RXP17_CLKP1
PLL_TR2GPIOR_120_PLLIN0Differential: GPIOT_RXP25_CLKP2, GPIOT_RXN25_CLKN2,Single-ended: GPIOT_RXP25_CLKP2

2–PLL结构

Trion的PLL结构
E-PLL

Titanium的PLL结构
在这里插入图片描述

PLL由一个预分频器计数器(N计数器),一个反馈乘法器计数器(M计数器),一个后分频器计数器(O计数器)和输出分频器( C )组成。
note

定义定义Trion范围Titanium范围
N前分频器1-15(整数)1,2,4
M乘法单元1-255(整数)1,2,4
O后分频器1,2,4,81, 2, 4, 8, 16, 32, 64, 128
C输出分频2, 4, 8, 16, 32, 64, 128, 2561 - 128 (整数)

计数器设置定义PLL输出频率:
定义频率
在计算PLL的过程中,注意的问题 参考时钟(给PLL资源的),PFD ,VCO ,TrionTitanium都会有不同的范围 ,超过范围软件会报错,届时修改即可;

3–PLL的实际使用

易灵思的PLL资源放在 Interface Deisgner里面,在PLL 下 Create Block 就能新建一个PLL资源;
我们把interface 里面的LVDS,MIPI,PLL,JTAG资源理解为 对逻辑Core (即代码) 的外设 ,只需要管理对逻辑端的设置就好;

我们用T35F324举例(20.2软件版本)
GPIO-Block(s) 输入时钟频率,经过PLL硬核模块,计算分频倍频得出所需 VCO ,连线到代码模块,并接受反馈。
1. 如图所示,新建一个PLL资源,初始界面如下,
block_summary 罗列出此PLL基本信息,输入输出频率,放大倍数,相位,vco个数等等。
block_summary
2. 在PLL Resource 里面选择我们调用的PLL资源,T35F400有7个,如图。
PLL个数
在clock source 里面,有三个选项core模式,external模式,dynamic模式。

2.1
我们在选择Clock Resource为外部连线的同时,已经确定了使用固定的PLL的资源,软件会自动识别并告知这是pad上哪一个管脚。
external模式代表PLL的输入是从引脚上直接给进来的
如图所示 ,在external模式下,使用PLL_TR0时,占用GPIOR_118资源;在使用PLL_TR1时,占用GPIOR_119资源。
PLL连线选择外部

2.2
在使用core模式时候,意味着使用接到全局时钟输入作为参考时钟,有两种情况:
这个时钟管脚可以是任意带有CLKx后缀的输入管脚,x必须是数字,先在interface designer里面建立GPIO并命名,锁定硬件上连接的CLKx管脚;
也可以是任意其他PLL资源的输出时钟频率;
将对应的信号填到下图的 Pin name 回车保存。

内部连线

2.3
本身dynamic模式使用的比较少,意味可以动态选择以上两种模式,不多赘述。
dynamic

3 VCO与PLL配置
在此界面,我们可输入对应reset信号,输出locked信号,以及选择反馈模式。
常规1

3.1
易灵思的每个数据手册上都有说明,Trion其PLL时钟树 是左边8个,右边8个
在这里插入图片描述

每一个从Gclk 和 Pll-in 进入的时钟都会占用一个对应列数的全局时钟资源 ,当某一列的clk资源被使用后,EDA工具会自动识别并分配其他的资源,所以在设计的时候需要注意软件报的warnings和error。
在这里插入图片描述

一代Trion PLL支持以下模式:
feedback
在这里插入图片描述

Internal– PLL反馈在PLL内部。不用自己定义反馈时钟;反馈信号不经过clkmux+Gbuf ,数据和时钟之间会有一个Clkmux+Gbuf的延迟;
local–PLL使用clkout0。反馈信号不经过clkmux+Gbuf ,数据和时钟之间会有一个Clkmux+Gbuf的延迟;
core– PLL反馈来自FPGA内核。反馈时钟可以自己选;反馈时钟和参考时钟相位对齐,数据和时钟之间没有延迟,不需要计算。

当PLL输入时钟的来源不一样的时候,时钟和数据的延迟路径也不一样,需要具体分析;

二代 Titanium PLL支持以下模式:在这里插入图片描述

External– PLL反馈在PLL内部。反馈时钟可以自己选;反馈信号不经过clkmux+Gbuf ,数据和时钟之间会有一个Clkmux+Gbuf的延迟;

3.2 输出PLL
输出PLL
一代Trion每个PLL资源最多可以输出3路时钟;
二代Titanium每个PLL资源最多可以输出5路时钟,并简化了以上的手动配置界面,直接输入想要的频率即可;

4 代码参考 : 上文有说 把PLL资源看做成对逻辑的外设
举例:
我们逻辑内需要50M(sclk_50) 100M(sclk_100)125M(sclk_125)

4.1 输入时钟是50M(clock) PLL-IN管脚 进入

// 逻辑内代码 , 不要把板上的50M输入进来,50,100和125M 由PLL-external模式生成
input sclk_50,
input sclk_100,
input sclk_125,

4.2 输入时钟是50M(clock) GCLK管脚 进入

// 逻辑内代码 , 可以直接把50M输入到逻辑内,100和125M 由PLL-core模式生成
input clock,
input sclk_100,
input sclk_125,

4.3 输出需要150M

  1. PLL Output clock 输出一个150M (sclk_150)
  2. 在GPIO资源内新建一个管脚 ,选clkout ,在Pin name 里面输入sclk_150 回车保存即可;
  3. 在这里插入图片描述

5 分配具体引脚保存
如上所示,分配引脚并锁定,点击save,check,最后生成Constraint Files,完成配置。
5 注意事项
5.1 在使用DDR控制器的时候,PLL_BR0只能从对应的PLLIN管脚输入,不能用GCLK管脚输入,也不能用上一级的锁相环的输出作为参考时钟。
5.2 PLL达到锁定时变高;当检测到锁丢失时,它变为低电平。在您的设计中连接此信号以监视锁定状态。该信号是模拟异步信号。
5.3 在相移过程中,
相移CLKOUT 0、45、90、135、180或270度。
180和270要求C分频器为2。
45和135要求C分频器为4。
90要求C分频器为2或4。
要相移225度,请选择45并反转目的时钟。
要相移315度,请选择135并反转目的时钟。
5.3 差分信号的话,只能选择PLL进入,选对外部clock来源即可;

四.总结

在实际工程的移植和操作过程中会遇到各种问题,需要灵活去解决。
例如在原始工程中,PLL是四输出的,而EFinix的3输出的,我们可以使用两个PLL资源去替换。
1, 外部参考时钟如果从GCLK管脚输入,两个PLL的Clock source都用core模式,feedback mode选择local或者core。这样两个锁相环输出的时钟都是对齐的。,
2, 外部参考时钟如果从PLLIN管脚输入,PLL_1的Clock source用external模式,feedback mode用local或者core。PLL_2的 clock source用core模式,参考时钟使用PLL_1的其中一个输出时钟,feedback mode用local或者core。
3, 一代Trion不支持动态切换输出频率,所以得用一些取巧的办法,单端信号可以用DDIO做,差分信号可以用Lvds输出做;

IP(Intellectual Property)即知识产权。美国 Dataquest 咨询公司将半导体产业的 IP 定 义为“用于 ASIC 或 FPGA 中的预先设计好的电路功能模块”。简而言之,这里的 IP 即电 路功能模块。 IP 核在数字电路中常用于比较复杂的功能模块(如 FIFO、 RAM、 FIR 滤波 器、 SDRAM 控制器、 PCIE 接口等)设计成参数可修改的模块,让其他用户可以直接调用 这些模块。随着设计规模增大,复杂度提高,使用 IP 核可以提高开发效率,减少设计和调 试时间,加速开发进程,降低开发成本,是业界的发展趋势。利用 IP 核设计电子系统,引 用方便,修改基本元件的功能容易。具有复杂功能和商业价值的 IP 核一般具有知识产权, 尽管 IP 核的市场活动还不规范,但是仍有许多集成电路设计公司从事 IP 核的设计、开发 和营销工作。 IP 核有三种不同的存在形式: HDL 语言形式,网表形式、版图形式。分别对应我们常 说的三类 IP 内核:软核、固核和硬核。这种分类主要依据产品交付的方式,而这三种 IP 内核实现方法也各具特色。 PLL(Phase Locked Loop,即锁相环)是最常用的 IP 核之一,其性能强大,可以对输 入到 FPGA 的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望 时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经 过 PLL 后的时钟在抖动(Jitter)方面的性能更好一些。 Altera 中的 PLL 是模拟锁相环,和 数字锁相环不同的是模拟锁相环的优点是输出的稳定度高、相位连续可调、延时连续可 调;缺点是当温度过高或者电磁辐射过强时会失锁(普通环境下不考虑该问题)。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值