JESD204B Intel Stratix 10 FPGA IP设计实例用户指南

ID 683758
日期 1/07/2021
Public

1.2.10.2. 更改Data Rate或Reference Clock Frequency

更改数据率或时钟频率时,必须考虑以下因素:

  • 请参阅 JESD204B Intel® FPGA IP用户指南了解串行数据率与链路时钟和帧时钟之间的关系。
  • 根据unresolvable-reference.html#sss1463109956061__table_jyd_h2w_fbb更改PLL输出时钟设置。
  • 在顶层RTL文件altera_jesd204_ed_<data path>.sv中更改F1_FRAMECLK_DIVF2_FRAMECLK_DIV帧时钟分频因子参数时,请注意F=1或F=2的情况。这些参数会进一步划低帧时钟的频率要求,由此生成的时钟频率将归于FPGA内核架构的时钟收敛范围内。

如下情况中,帧时钟和链路时钟共享相同频率:

  • F=1—F1_FRAMECLK_DIV的默认参数值=4
  • F=2—F2_FRAMECLK_DIV的默认参数值=2
  • F=4

执行以下指令修改,以在生成后修改 JESD204B IP核参数:

  1. Intel® Quartus® Prime软件中打开生成的设计实例工程。
  2. Platform Designer中打开顶层altjesd_ed_qsys_<data path>.qsys
  3. System Contents选项卡中,右键点击altjesd_ss_<data path>模块并选择Drill into Subsystem。随之开启altjesd_ss_<data path>.qsys Platform Designer子系统。
  4. 双击altjesd_<data path>模块。参数编辑器中会显示JESD204B IP核的当前参数设置。
  5. 更改Data ratePLL/CDR Reference Clock Frequency值,以满足系统要求。
  6. 根据需要修改refclk_xcvrlink_clk, frame_clkmgmt_clk时钟频率的值,以符合系统要求。双击时钟源模块打开参数编辑器,根据需要更改Clock frequency的值。请确保该值与为上述其他模块设置的时钟频率值相匹配。
  7. 返回浏览顶层jesd204b_ed_qsys.qsys
  8. 对于 Intel® Stratix® 10 L-tile和H-tile器件,可双击 xcvr_atx_pll_0模块,开启参数编辑器编辑ATX PLL模块。对于 Intel® Stratix® 10 E-tile器件,可浏览至10
    该模块生成TX收发器PHY的串行时钟。
  9. PLL子选项卡下,找到Output Frequency组,并更改PLL output frequencyPLL integer reference clock frequency值,以满足系统要求。
    PLL输出频率是PLL输出数据率的一半。请确保该数据率和PLL参数时钟值与您在JESD204B IP核模块中输入的值相匹配。
  10. 双击core_pll模块,开启参数编辑器编辑内核PLL模块参数值。
    该模块生成内核组件的工作时钟,link_clkframe_clk时钟。
  11. PLL子模块下,在General组中更改Reference Clock Frequency值以满足系统要求。
    请确保参考时钟频率值与JESD204B IP核和ATX PLL ( Intel® Stratix® 10 L-tile和H-tile器件)模块组合相匹配。
  12. 按需更改outclk0组设置(对应link_clk)和outclk1组设置(对应frame_clk)。
    请确保link_clkframe_clk值满足JESD204B IP Core User Guide中所述的频率要求。
  13. 根据需要修改refclk_xcvrrefclk_corelink_clkframe_clkmgmt_clk时钟源模块时钟频率的值,以符合系统要求。双击时钟源模块打开参数编辑器,根据需要更改Clock frequency的值。请确保该值与之前步骤中其他模块设置的时钟频率值相匹配。
  14. 点击Generate HDL按钮,生成 Intel® Quartus® Prime编译所需的HDL文件。
  15. 完成HDL生成后,点击Finish,保存Platform Designer设置,并退出Platform Designer窗口。
  16. 如果frame_clk设置(core_pll 模块的的outclk1)造成F1_FRAMECLK_DIVF2_FRAMECLK_DIV值发生更改,就需要更改顶层设计文件, altera_jesd204_ed_<data path>.sv中的参数。
  17. 可修改SDC约束文件(altera_jesd204_ed_<data path>.sdc)中的时钟约束,以反映新的时钟频率值。应修改的约束内容如下:
    create_clock -name refclk_xcvr -period <clock period value in ns> [get_nodes refclk_xcvr]
    create_clock -name mgmt_clk -period <clock period value in ns> [get_nodes mgmt_clk]
  18. 保存文件,并按照编译和测试设计中的指示,在 Intel® Quartus® Prime软件中编译设计。