输入频率0 inclk0的时钟输入频率 标称VCO频率 显示VCO频率:fVCO=fIN×M/N 最小锁定频率 显示当前M/N保证有效VCO锁定情况下的最小PLL输入时钟频率 最大锁定频率 显示当前M/N保证有效VCO锁定情况下的最大PLL输入时钟频率 M值 M计数器的值 N值 N计数器的值 PLL Usage报告显示每个PLL时钟输出的明细(见图17)。该报告是按照PLL时钟输出端口分类的,每行表示设计中使用的不同PLL时钟输出。表16按行格式罗列和说明PLL Usage报告中的参数。表16中没有列出的PLL参数不会影响Cyclone PLL。
图17.PLL使用情况报告
表16.编译报告文件中的PLL使用情况 PLL参数 说明 Name 指示PLL例化的名称和报告的时钟输出 Output Clock 指示该行参数作用的PLL时钟输出(clock0、clock1或extclock0)这是由MegaWizard外挂插件管理器(c0、c1、e0)指定的时钟端口。 Mult 整个倍频率。 Div 整个分频率。 Output 该输出时钟的输出频率。 Frequency Phase Shift 实现相位偏移的角度和时间单位(可能和用户输入的值不同)。 Duty Cycle 该时钟输出的占空比。 Counter 该时钟输出的后scale计数器,哪个计数器(G0、G1、E0)馈入时钟输出。 Counter Value 后scale计数器的值。 High/Low 计数器值中的高和低时间数目。高和低数目的比率就直接反映为占空比。 Intial 后scale计数器的初始值(相位偏移的粗调)。 VCO Tap VCO移位范围从0到7(以VCO周期的1/8单位对相位偏移进行细调)。 时序分析
每个驱动逻辑阵列的PLL时钟输出的缓存器到缓存器时序用冗余量表示。报告文件的时序分析部分为每个PLL时钟输出提供冗余量信息。
可以从冗余量报告中获得fMAX值。在冗余量报告窗口中的Actual Maximum P2P时序中按照List Path指令给出微参数tCO,tSU和路径延迟。你可以把它们相加,转换为该路径的fMAX。见下面等式:
fMAX=1/(
在对采用PLL的Cyclone设计进行时序分析过程中,项目的时钟设置会覆盖PLL输入时钟频率和占空比设置。所以下面的情况非常重要。
1) 在编译报告中会警告项目时钟设置覆盖了PLL时钟设置
2) 对于时序驱动编译,项目时钟设置覆盖PLL时钟设置。当用时序驱动编译设计时,可以更
严格地限制设计这样可以给你一个更佳的fMAX能。 例如,如果PLL设置输出为150MHz时钟,你可以将项目时钟设置为170MHz,这样装配器会尽量时序170MHz的性能。
3) 编译器检查PLL锁定频率的范围。如果项目时钟设置指定的频率在可锁定的频率范围之外,
PLL时钟设置就不会被覆盖。
4) 覆盖PLL时钟设置只会改变时序需求,不会改变PLL每个时钟输出的整个倍频/分频和相位
延迟。MegaWizard外挂插件管理器不使用项目时钟设置决定altpll参数。
5) 在没有重新编译你的设计情况下进行时序分析不会改变编程文件。你必须重新编译你的设
计更新编程文件。
6) 内定所需的fMAX设置不会覆盖PLL时钟设置。只有独立的时钟设置会覆盖PLL时钟设置。
当你配置Cyclone器件,想看看当你输入PLL一个和指定PLL参数不同的输入时钟时序要求是否满足,这种能力是非常有用的。因此,该功能允许你覆盖PLL输入时钟频率设置进行时序分析,意味着你不必重新合成或重新适配你的设计。以下过程允许你覆盖PLL输入频率设置,重新产生时序分析。
1. 选择Timing Settings(Project Menu)。 2. 点选Clock Setting标签。 3. 在Specify circuit frequency as下,选择Settings for individual clock signals。 4. 点选New。
5. 在New Clock Settings对话方框中,在Clock settings对话方框中为新的时钟设置
输入一个名字。
6. 如果你想为一个绝对时钟指定一个时序要求。按下面的步骤操作。
a. 在Relationship to other clock settings下,选择Independent of other clock
settings。 b. 在Required fMAX框中,输入时钟信号所需的频率(fMAX),从列表中选择一个时
间单位。
c. 在Duty Cycle列表中,指定时钟所需的占空比(Cyclone PLL接受40-60%之间的
占空比)。
d. 如果你想在计算fMAX时包括器件管脚进出的外部延迟,选择Include external
delays to and from device pins in fMAX calculations。 e. 点选OK。
7. 点选OK关闭时序设置窗口。
8. 打开Assignment Organizer对话方框(Tools菜单)。 9. 点选By Node标签。
10. 在Mode下,选择Edit Specific entity & node settings for。 11. 如果需要的话,用Node Finder对话框中复制指定的PLL输入时钟管脚名字到Name框
中。
12. 在Assignment Categories下,点选Timing旁边的+按钮。 13. 点选Click here to add a new assignment。
14. 在Assignment下,选择Name列表下的Clock Settings,选择第五步中你创建的时钟
设置的名字。
15. 在Stored in assignments for下,选择This instance only, This instance in all
occurrences of it parent entity, or Other。 16. 点选Add。
17. 点选OK或Apply。
18. 选择Start Timing Analysis(Processing菜单)
仿真
Altpll宏功能支持Quartus II软件和其它第三方仿真工具中进行行为和时序仿真。你可以仿真PLL所有数字方面的特性,无法仿真模拟特性。仿真支持所有的控制信号和时钟输出。 表17:Cyclone FPGA 支持altpll仿真 特性 仿真支持 pllena pllena信号是可仿真的。当该信号为低时,PLL失锁,PLL时钟输出为逻辑低。 areset areset信号是可仿真的。当该信号为高时,PLL失锁,PLL时钟输出为逻辑低。PLL时钟输出的频率过冲是无法仿真的。 pfdena pfdena控制信号是可仿真的。当该信号为低时,PLL的锁定输出无定义,PLL时钟输出继续以最后设置的频率翻转。VCO有限的频率长期偏移是无法仿真的。 locked locked信号只在大频宽情况下是可以仿真的。在仿真过程中PLL在2到10个周期内锁定或重新锁定,不必反映真实的锁定时间。 频率输入变化 如果PLL的输入频率在仿真中发生变化,模型会检查fIN×(M/N)是否在VCO频率范围之内,如果在VCO操作范围之外就会失锁。 抖动 抖动在仿真中无法仿真。 可以使用altpll行为级模型来仿真Cyclone PLL。Cyclone行为模型例化必须遵循和设计一样的规则和限制。altpll行为和时间模型不能仿真抖动、锁定时间或VCO偏移。
Altpll的行为模型存放在\\quartus\\eda\\sim_lib目录下。ALTERA_MF.VHD包括了VHDL行为模型,可用于例化altpll的Cyclone设计。ALTERA_MF.v包括了Verilog HDL行为模型。行为模型不会进行参数差错检查,你必须指定有效的值。必须把仿真器的精度设置到皮秒级(ps),才能正确地仿真这个模型。更大的精度会在计算中舍去,造成不正确的结果。
8.全局时钟网络
Cyclone FPGA有八个全局时钟网络。四个专用时钟输入管脚(CLK[3..0]),八个两用时钟管脚(DPCLK[7..0]),PLL时钟输出可以驱动全局时钟网络。另外,内部产生全局时钟和异步清除的内部逻辑,时钟启动或其它具有大扇出的控制信号都可以驱动全局时钟网络。
组成全局时钟网络的八个全局时钟线驱动整个器件。你可以用全局时钟网络作为所有器件资源的时钟来源,包括IOE、逻辑单元(LE)和内存区块。你也可以用全局时钟来源作为控制信号,如时钟启动和外部管脚送入的同步或异步清除。
图18是全局时钟网络资源。
图18.全局时钟的产生
图18注释:
(1) EP1C3器件只包括PLL1。
(2) 100脚TQFP封装的EP1C3器件没有专用时钟管脚CLK1和CLK3。
(3) 100脚TQFP封装的EP1C3器件和七个DPCLK管脚。详细情况,请参阅“两用时钟I/O管脚”。
专用时钟输入管脚
Cyclone FPGA有多达四个专用时钟输入管脚(CLK[3..0]),左右两边各两个。你可以用CLK[3..0]管脚驱动PLL,或直接驱动全局时钟网络。表18说明哪个时钟管脚驱动哪个全局时钟网络。 表18:专用时钟输入管脚和全局时钟网络的连接 时钟输GCLK0 GCLK1 GCLK2 GCLK3 GCLK4 GCLK5 GCLK6 GCLK7 入管脚 CLK0 √ √ CLK1 √ √ (1) CLK2 √ √ CLK3(1) 表18注释: (1) (2)
√ √ 100脚TQFP封装的EP1C3器件没有专用的时钟管脚CLK1和CLK3。 两用时钟I/O管脚
Cyclone FPGA可以有多达八个两用时钟管脚。DPCLK[7..0](每边两个)。这些两用管脚可连接的全局时钟网络。你可以用DPCLK[7..0]管脚作为高扇出控制信号,如异步清除、预置,时钟启动或协议控制信号(例如PCI的TRDY和IRDY,或外部内存接口的DQS信号)。这些管脚也可以作为通用I/O管脚,意味着它们可能是输入、输出或双向管脚。表19说明哪些两用时钟管脚驱动Cyclone FPGA中的哪些全局时钟网络。
表19.两用时钟I/O和全局时钟网络的连接 时钟输GCLK0 GCLK1 GCLK2 GCLK3 GCLK4 GCLK5 GCLK6 GCLK7 入管脚 DPCLK0 √ DPCLK1 √ (1) DPCLK2 √ DPCLK3 √ DPCLK4 √ DPCLK5 √ DPCLK6 √ DPCLK7 √ 表19注释: (1)EP1C3器件没有DPCLK1。
组合来源
表20:全局时钟来源 来源 GCLK0 PLLPLL1 计数G0 器输PLL1 √ 出 G1 PLL2 G0(1) PLL2 G1(1) 专用CLK0 √ 时钟CLK1 输入(2) 管脚 CLK2 CLK3 (2) 两用DPCLK0 时钟DPCLK1 管脚 (3) DPCLK2 √ DPCLK3 DPCLK4 DPCLK5 GCLK1 √ √ GCLK2 √ √ √ GCLK3 √ √ √ GCLK4 √ √ √ GCLK5 √ √ GCLK6 √ √ √ GCLK7 √ √ √ DPCLK6 DPCLK7 √ √ 表20注释: (1) EP1C3器件只有PLL1。
(2) 100脚的TQFP封装的EP1C3器件没有专用时钟管脚CLK1和CLK3。 (3) EP1C3器件没有DPCLK1。
在Cyclone FPGA中,有八个独立的专用全局时钟网络。这些时钟通过复用器形成6位总线驱动LAB行时钟,列IOE时钟或行IOE时钟(见图19)。另一个复用器用于LAB级选择六个行时钟其中两个输入LAB中的LE缓存器。
IOE时钟有水平(行)和垂直(列)块区域,它们由从八个全局时钟来源中选择的六个I/O时钟信号驱动。图20是I/O时钟区域。
图19.全局时钟网络复用器
图20.I/O时钟区
9.结论
Cyclone PLL具有重要的功能,为成本敏感的时钟合成应用提供了如M/(N×后scale系数)倍频/分频、相位偏移和可编程占空比等特性。器件内时钟延迟的减小和时钟偏移的消除改善了设计的速度。Cyclone PLL特性使得器件的内部逻辑运行速度比输入时钟频率更快,简化了板子设计。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Cyclone器件中PLL的使用(4)在线全文阅读。
相关推荐: