Intel® Cyclone® 10 GX收发器PHY用户指南

ID 683054
日期 12/28/2017
Public
文档目录

6.17. 时序收敛建议

如果任何已修改或目标配置涉及对PCS设置的更改,则Intel建议使能Native PHY IP核中的多个重配置profile功能。 如果重配置仅涉及对PMA设置的更改,例如,PLL切换、CGB分频器切换以及refclk切换,则可选择使用多个重配置profile。使能多个重配置profile后,时序驱动编译期间Quartus Prime TimeQuest Timing Analyzer包括所有profile需要的PCS时序弧(初始profile和目标profile)。这些时序弧使时序更加准确。

执行动态重配置时,必须:

  • 包括对PCS-FPGA架构接口上所有已修改或目标配置创建其他时钟的约束。基础配置时钟由Quartus Prime软件创建。这些时钟使能Quartus Prime软件对所有收发器配置及其相应FPGA架构内核逻辑块执行静态时序分析。
  • 包括PCS – FPGA架构接口和内核逻辑间所需的错误路径。

例如,使用多个重配置profile功能执行动态重配置,将数据路径从Standard PCS切换到Enhanced PCS。如下实例中,基础配置使用Standard PCS(数据速率 = 1.25 Gbps,PCS-PMA宽度 = 10)并驱动FPGA架构中的内核逻辑A。配置目标或已修改配置使用Enhanced PCS(数据速率 = 10.3125 Gbps,PCS-PMA宽度 = 64)并驱动FPGA架构中的内核逻辑B。

图 216. 使用多个重配置Profile

为使Quartus Prime软件在该实例中更准确进行收敛时序,必须创建以下约束:

  • create_clock -name tx_clkout_enh -period 5.12 [get_pins {native_inst|xcvr_native_c10_0|g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_inst|inst_twentynm_pcs|gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_pld_pcs_interface|pld_pcs_tx_clk_out}] -add

    该约束创建的tx_clkout时钟,用于为FPGA架构中的内核逻辑B提供时钟。

  • create_clock -name rx_clkout_enh –period 5.12 [get_pins {native_inst|xcvr_native_c10_0|g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_inst|inst_twentynm_pcs|gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_pld_pcs_interface|pld_pcs_rx_clk_out}] -add

    该约束创建的rx_clkout时钟,用于为FPGA架构中的内核逻辑B提供时钟。

  • set_false_path -from [get_clocks {tx_clkout_enh}] -to [get_registers <Core Logic A>]

    基于时钟在设计中的连接方式,您可能需要其他约束以设置内核逻辑中寄存器到时钟的错误路径。

  • set_false_path -from [get_clocks {rx_clkout_enh}] -to [get_registers <Core Logic A>]

    基于时钟在设计中的连接方式,您可能需要其他约束以设置内核逻辑中寄存器到时钟的错误路径。

  • set_false_path -from [get_clocks {tx_clkout}] -to [get_registers <Core Logic B>]

    基于时钟在设计中的连接方式,您可能需要其他约束以设置内核逻辑中寄存器到时钟的错误路径。

  • set_false_path -from [get_clocks {rx_clkout}] -to [get_registers <Core Logic B>]

    基于时钟在设计中的连接方式,您可能需要其他约束以设置内核逻辑中寄存器到时钟的错误路径。

    注: 如果任何profile或配置切换涉及从FIFO切换到寄存器模式,则应设置PCS-PMA接口寄存器和内核逻辑间的错误路径,因为公共时钟点位于PCS-PMA接口中。

例如,上述实例的基础配置用于Register Mode中的TX和RX FIFO,则需创建如下约束:

  • set_false_path -from [get_registers {native:native_inst|native_altera_xcvr_native_c10_150_lzjn6xi:xcvr_native_c10_0|twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst|twentynm_pcs_rev_20nm5es:inst_twentynm_pcs|gen_twentynm_hssi_tx_pld_pcs_interface.inst_twentynm_hssi_tx_pld_pcs_interface~pma_tx_pma_clk_reg.reg}] -to [get_registers <Core Logic B>]
  • set_false_path -from [get_registers {native:native_inst|native_altera_xcvr_native_c10_150_lzjn6xi:xcvr_native_c10_0|twentynm_xcvr_native:g_xcvr_native_insts[0].twentynm_xcvr_native_inst|twentynm_xcvr_native_rev_20nm5es:twentynm_xcvr_native_inst|twentynm_pcs_rev_20nm5es:inst_twentynm_pcs|gen_twentynm_hssi_rx_pld_pcs_interface.inst_twentynm_hssi_rx_pld_pcs_interface~pma_rx_pma_clk_reg.reg}] -to [get_registers <Core Logic B>]