Intel® Arria® 10收发器PHY用户指南

ID 683617
日期 11/06/2017
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

6.17. 时序收敛建议

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

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

  • 包括对PCS-FPGA架构接口上所有修改的或采用的配置创建额外的时钟。基本配置的时候由Quartus Prime软件创建。这些时钟使Quartus Prime软件能够对所有收发器配置以及它们相应的FPGA架构内核逻辑模块执行静态时序分析。
  • 包括了PCS – FPGA架构接口和内核逻辑之间所需要的伪路径。

例如:可以执行动态重配置,使用多种重配置设置档功能将数据通路从Standard PCS切换到Enhanced PCS。在下面的实例中,基本配置使用Standard PCS (数据速率 = 1.25 Gbps,PCS-PMA宽度 = 10)并驱动FPGA架构中的内核逻辑A。采用的或更改的配置被配置成使用Enhanced PCS (数据速率 = 12.5 Gbps,PCS-PMA宽度 = 64)并驱动FPGA架构中的内核逻辑B。

图 276. 使用多种重配置设置档

要使Quartus Prime软件能够在这个实例中更准确地收敛时序,必须创建下面的约束:

  • create_clock -name tx_clkout_enh -period 5.12 [get_pins {native_inst|xcvr_native_a10_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_a10_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>]

    基于时钟是如何在设计中进行连接的,您可能需要包括额外的约束从内核逻辑到时钟来设置寄存器中的伪路径。

    注: 如果任何设置档或配置切换包括从FIFO切换到寄存器模式,那么应该在PCS-PMA接口寄存器和内核逻辑之间设置伪路径,因为共享时钟点在PCS-PMA接口内。

例如:上面实例中的基本配置被配置成用于Register Mode中的TX和RX FIFO,那么需要创建下面的约束:

  • set_false_path -from [get_registers {native:native_inst|native_altera_xcvr_native_a10_150_lzjn6xi:xcvr_native_a10_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_a10_150_lzjn6xi:xcvr_native_a10_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>]
注: 使能动态重配置(多个设置档),请不要移动或重命名IP目录。移动IP位置,Quartus将无法获取配置设置档。如果更改了IP目录,那么默认的配置可以成功地限制时间并进行分析,但是非默认的配置将会遇到时序问题,因为时序弧可能会丢失。