微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > FPGA系统设计原则和技巧之:FPGA系统设计的3种常用IP模块

FPGA系统设计原则和技巧之:FPGA系统设计的3种常用IP模块

时间:06-05 来源:互联网 点击:

MHz,而不是100MHz。

另外,在这页中,设计者还可以设置PLL的工作模式,如图9.33所示。

图9.33设置时钟源、PLL类型及工作模式

CyclonePLL支持3种(反馈)模式:标准、零延迟缓冲和无补偿。和其他Altera器件系列不同,CyclonePLL不支持外部反馈模式。所有支持的3种时钟反馈模式允许倍频/分频、相位偏移和可编程占空比。下面对每种模式进行讲解。

·标准模式。

在标准模式下,PLL把参考时钟和逻辑阵列或I/O单元的端口缓存器处的时钟信号相位对齐,补偿内部全局时钟网络延迟。在ALTPLL宏模块向导管理器中,可以定义PLL的哪个内部时钟输出(c0或c1)应该补偿。

如果在该模式中使用外部时钟输出(PLL[2..1]_OUT),则相对于时钟输入管脚有相位偏移。如果用内部PLL时钟输出驱动通用I/O管脚,则相对应的时钟输入管脚也有相位偏移。

·零延迟缓冲模式。

PLL外部时钟输出管脚(PLL[2..1]_OUT)的时钟信号和PLL输入时钟是相位对齐的,没有延迟。如果用c[1..0]端口驱动内部时钟管脚,那么相对于输入时钟管脚有相位偏移。

·无补偿模式。

在该模式下,PLL不补偿任何时钟网络。这样会有更佳的抖动性能,因为反馈到PFD的时钟不经过某些电路。相对PLL时钟输入,PLL内部和外部时钟输出都有相位偏移。

(4)设置可选输入输出。

在宏模块向导管理器(PLL)的第4页,可以选择PLL模块的可选输出信号,如图9.34所示。

CyclonePLL有4个控制信号pllena、areset、prdena和locked,进行PLL管理。

·pllena。

PLL启动信号pllena用于启动PLL。当pllena为低时,PLL时钟输出端口为低,PLL失锁。当pllena再次变高时,PLL重新锁定并重新同步输入时钟。因此,pllena是高有效信号。

因为在CycloneFPGA中没有专用的pllena管脚,内部逻辑或任意通用I/O管脚都可以驱动pllena端口。因为每个PLL都有自己的pllena控制电路或共享通用的pllena电路,这样就很灵活。pllena信号是可选的,如果软件中没有启动它,端口内部就连接到VCC。

图9.34设置可选输入

·areset。

PLLareset信号是每个PLL的复位或重新同步输入。但驱动为高时,PLL计数器重置,清除PLL输出,造成PLL失锁,VCO复位后回到初始设置。当areset再次变低,PLL重新开始锁定,PLL重新和输入时钟同步。如果目标VCO的频率低于标准频率,在锁定过程中PLL时钟输出起始频率值比所需值要高。areset是高有效信号。

CycloneFPGA可以从内部逻辑或任意通用I/O管脚驱动这个PLL输入信号。areset信号是可选的,如果在软件中没有使用它,该端口内部连接到GND。

·pfdena。

pfdena信号用可编程开关控制着PLL中PFD输出。如果把areset置低禁止PFD,那么VCO将以最后设置的控制电压和频率值工作,长时间会漂移到更低的频率。即使每个输入时钟PLL时钟输出也会继续触发,但是PLL可能会失锁。

当PLL失锁或输入时钟禁止时,系统会继续运行。因为在一段时间内最后锁定输出频率不会改变,所以可以用pfdena端口作为关机或清除功能。为了维持这一频率,系统在关机之前有时间储存当前的设置。如果pfdena信号再次变高,PLL重新锁定和输入时钟重新同步。因此pfdena管脚是高有效信号。

可以用任意通用I/O管脚或内部逻辑驱动pfdena输入信号。该信号是可选的,如果在软件没有使用它,该端口内部连接到VCC。

·locked。

当locked输出是逻辑高电平,表明PLL时钟输出和PLL参考输入时钟稳定同相。当PLL开始跟踪参考时钟时,locked端口可能会触发,无需额外电路。

PLL的locked端口可以使用任意通用I/O管脚和内部逻辑。这个locked信号是可选的,在监视PLL锁定过程中是非常有用的。

(5)设置c0输出参数。

在宏模块向导管理器(PLL)的第5页,可以选择PLL模块c0输出参数,包括Ratio比值、相移量、占空比等,如图9.35所示。

图9.35设置c0输出参数

(6)设置c1输出参数。

在宏模块向导管理器(PLL)的第6页,同样可以选择PLL模块c1输出参数,包括Ratio比值、相移量、占空比等,如图9.36所示。

图9.36设置c1输出参数

(7)设置e0输出参数。

在宏模块向导管理器(PLL)的第7页,可以选择PLL模块e0输出参数,包括Ratio比值、相移量、占空比等,如图9.37所示。

图9.37设置e0输出参数

(8)选择生成PLL模块文件。

在宏模块向导管理器(PLL)的第8页,完成PLL参数设置后,可以选择生成的PLL模块文件,共包含6个文件可以生成,如图9.38所示。

图9.38选择生成PLL模块文件

PLL的调用方式与FIFO的类似,其构建方式及模块的声明结构可以参看PLL模块的PLL_test.v和PLL_test_bb.v文件。

9.3.3高速串行收发器的使用方法

1.SERDES简介

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top