Virtex-5 GTX RocketIO  – 实例化未使用的GTX以转发参考时钟-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Virtex-5 GTX RocketIO – 实例化未使用的GTX以转发参考时钟

描述

要通过其他未使用的GTX正确转发参考时钟,需要实例化GTX。本答复记录提供了一种正确的方法,用于实例化具有最小互连的GTX并对用户设计产生影响,并提供了一个示例Verilog实例。
在12.3及更高版本中,这种情况伴随着以下错误消息:

“ERROR:PhysDesignRules:2270”

如果参考时钟引脚未通过LOC约束绑定到特定位置,则可能会看到此错误。 RocketIO向导会在示例设计的UCF文件中自动生成这些约束,并可用作参考。

GTX需要通过连接的3组端口进行实例化:TX串行对,RX串行对和CLKIN端口。

  • 串行对需要连接到设计顶层的输出端口。
  • CLKIN端口需要连接到BUFG或IBUFDS的输出。
  • 可以实例化本地IBUFDS,或者可以使用在设计中使用的相邻IBUFDS。

TXPOWERDOWN [1:0]和RXPOWERDOWN {1:0]可以连接到2’b11以节省功耗,但REFCLKPWRDNB需要连接到1’b1以保持参考时钟路由供电。

以下实例已经过测试,可以在这方面发挥作用:

assign tied_to_ground_i = 1’b0;
assign tied_to_ground_vec_i = 64’h0000000000000000;
assign tied_to_vcc_i = 1’b1;
assign tied_to_vcc_vec_i = 64’hffffffffffffffff;
GTX_DUAL gtx_dual_i

// ———————- Loopback和Powerdown Ports ———————-

.LOOPBACK0(tied_to_vcc_vec_i [2:0]),

.LOOPBACK1(tied_to_vcc_vec_i [2:0]),

.RXPOWERDOWN0(tied_to_vcc_vec_i [1:0]),

.RXPOWERDOWN1(tied_to_vcc_vec_i [1:0]),

.TXPOWERDOWN0(tied_to_vcc_vec_i [1:0]),

.TXPOWERDOWN1(tied_to_vcc_vec_i [1:0]),

// ———————接收端口 – 8b10b解码器———————-

.RXCHARISCOMMA0(),

.RXCHARISCOMMA1(),

.RXCHARISK0(),

.RXCHARISK1(),

.RXDEC8B10BUSE0(tied_to_ground_i),

.RXDEC8B10BUSE1(tied_to_ground_i),

.RXDISPERR0(),

.RXDISPERR1(),

.RXNOTINTABLE0(),

.RXNOTINTABLE1(),

.RXRUNDISP0(),

.RXRUNDISP1(),

// —————–接收端口 – 通道绑定端口——————

.RXCHANBONDSEQ0(),

.RXCHANBONDSEQ1(),

.RXCHBONDI0(tied_to_ground_vec_i [2:0]),

.RXCHBONDI1(tied_to_ground_vec_i [2:0]),

.RXCHBONDO0(),

.RXCHBONDO1(),

.RXENCHANSYNC0(tied_to_ground_i),

.RXENCHANSYNC1(tied_to_ground_i),

// —————–接收端口 – 时钟校正端口—————–

.RXCLKCORCNT0(),

.RXCLKCORCNT1(),

// ————-接收端口 – 逗号检测和对齐————–

.RXBYTEISALIGNED0(),

.RXBYTEISALIGNED1(),

.RXBYTEREALIGN0(),

.RXBYTEREALIGN1(),

.RXCOMMADET0(),

.RXCOMMADET1(),

.RXCOMMADETUSE0(tied_to_ground_i),

.RXCOMMADETUSE1(tied_to_ground_i),

.RXENMCOMMAALIGN0(tied_to_ground_i),

.RXENMCOMMAALIGN1(tied_to_ground_i),

.RXENPCOMMAALIGN0(tied_to_ground_i),

.RXENPCOMMAALIGN1(tied_to_ground_i),

.RXSLIDE0(tied_to_ground_i),

.RXSLIDE1(tied_to_ground_i),

// ———————接收端口 – PRBS检测———————

.PRBSCNTRESET0(tied_to_ground_i),

.PRBSCNTRESET1(tied_to_ground_i),

.RXENPRBSTST0(tied_to_ground_vec_i [1:0]),

.RXENPRBSTST1(tied_to_ground_vec_i [1:0]),

.RXPRBSERR0(),

.RXPRBSERR1(),

// —————–接收端口 – RX数据路径接口—————–

.RXDATA0(),

.RXDATA1(),

.RXDATAWIDTH0(tied_to_vcc_i),

.RXDATAWIDTH1(tied_to_vcc_i),

.RXRECCLK0(),

.RXRECCLK1(),

.RXRESET0(tied_to_ground_i),

.RXRESET1(tied_to_ground_i),

.RXUSRCLK0(tied_to_ground_i),

.RXUSRCLK1(tied_to_ground_i),

.RXUSRCLK20(tied_to_ground_i),

.RXUSRCLK21(tied_to_ground_i),

// —–接收端口 – RX驱动器,OOB信号,耦合和公式,CDR ——

.RXCDRRESET0(tied_to_ground_i),

.RXCDRRESET1(tied_to_ground_i),

.RXELECIDLE0(),

.RXELECIDLE1(),

.RXENEQB0(tied_to_vcc_i),

.RXENEQB1(tied_to_vcc_i),

.RXEQMIX0(tied_to_ground_vec_i [1:0]),

.RXEQMIX1(tied_to_ground_vec_i [1:0]),

.RXEQPOLE0(tied_to_ground_vec_i [3:0]),

.RXEQPOLE1(tied_to_ground_vec_i [3:0]),

.RXN0(RXN0_IN),

.RXN1(RXN1_IN),

.RXP0(RXP0_IN),

.RXP1(RXP1_IN),

// ——接收端口 – RX弹性缓冲器和相位对准端口——-

.RXBUFRESET0(tied_to_ground_i),

.RXBUFRESET1(tied_to_ground_i),

.RXBUFSTATUS0(),

.RXBUFSTATUS1(),

.RXCHANISALIGNED0(),

.RXCHANISALIGNED1(),

.RXCHANREALIGN0(),

.RXCHANREALIGN1(),

.RXPMASETPHASE0(tied_to_ground_i),

.RXPMASETPHASE1(tied_to_ground_i),

.RXSTATUS0(),

.RXSTATUS1(),

// ————-接收端口 – RX丢失同步状态机————–

.RXLOSSOFSYNC0(),

.RXLOSSOFSYNC1(),

// ——————–接收端口 – RX过采样———————

.RXENSAMPLEALIGN0(tied_to_ground_i),

.RXENSAMPLEALIGN1(tied_to_ground_i),

.RXOVERSAMPLEERR0(),

.RXOVERSAMPLEERR1(),

// ————接收端口 – PCI Express的RX管道控制————-

.PHYSTATUS0(),

.PHYSTATUS1(),

.RXVALID0(),

.RXVALID1(),

// —————接收端口 – RX极性控制端口—————-

.RXPOLARITY0(tied_to_ground_i),

.RXPOLARITY1(tied_to_ground_i),

// ———–共享端口 – 动态重配置端口(DRP)————

.DADDR(tied_to_ground_vec_i [6:0]),

.DCLK(tied_to_ground_i),

.DEN(tied_to_ground_i),

.DI(tied_to_ground_vec_i [15:0]),

.DO(),

.DRDY(),

.DWE(tied_to_ground_i),

// ——————-共享端口 – 平铺和PLL端口——————–

.CLKIN(CLKIN_IN),

.GTXRESET(tied_to_ground_i),

.GTXTEST(tied_to_ground_vec_i [3:0]),

.INTDATAWIDTH(tied_to_vcc_i),

.PLLLKDET(),

.PLLLKDETEN(tied_to_vcc_i),

.PLLPOWERDOWN(tied_to_ground_i),

.REFCLKOUT(),

.REFCLKPWRDNB(tied_to_vcc_i),

.RESETDONE0(),

.RESETDONE1(),

// ————–传输端口 – 8b10b编码器控制端口————–

.TXBYPASS8B10B0(tied_to_ground_vec_i [1:0]),

.TXBYPASS8B10B1(tied_to_ground_vec_i [1:0]),

.TXCHARDISPMODE0(tied_to_ground_vec_i [1:0]),

.TXCHARDISPMODE1(tied_to_ground_vec_i [1:0]),

.TXCHARDISPVAL0(tied_to_ground_vec_i [1:0]),

.TXCHARDISPVAL1(tied_to_ground_vec_i [1:0]),

.TXCHARISK0(tied_to_ground_vec_i [1:0]),

.TXCHARISK1(tied_to_ground_vec_i [1:0]),

.TXENC8B10BUSE0(tied_to_ground_i),

.TXENC8B10BUSE1(tied_to_ground_i),

.TXKERR0(),

.TXKERR1(),

.TXRUNDISP0(),

.TXRUNDISP1(),

// ———–发送端口 – TX缓冲和相位对齐————

.TXBUFSTATUS0(),

.TXBUFSTATUS1(),

// —————-传输端口 – TX数据路径接口—————–

.TXDATA0(tied_to_ground_vec_i [15:0]),

.TXDATA1(tied_to_ground_vec_i [15:0]),

.TXDATAWIDTH0(tied_to_vcc_i),

.TXDATAWIDTH1(tied_to_vcc_i),

.TXOUTCLK0(),

.TXOUTCLK1(),

.TXRESET0(tied_to_ground_i),

.TXRESET1(tied_to_ground_i),

.TXUSRCLK0(tied_to_ground_i),

.TXUSRCLK1(tied_to_ground_i),

.TXUSRCLK20(tied_to_ground_i),

.TXUSRCLK21(tied_to_ground_i),

// ————-传输端口 – TX驱动程序和OOB信令————–

.TXBUFDIFFCTRL0(tied_to_vcc_vec_i [2:0]),

.TXBUFDIFFCTRL1(tied_to_vcc_vec_i [2:0]),

.TXDIFFCTRL0(tied_to_vcc_vec_i [2:0]),

.TXDIFFCTRL1(tied_to_vcc_vec_i [2:0]),

.TXINHIBIT0(tied_to_ground_i),

.TXINHIBIT1(tied_to_ground_i),

.TXN0(TXN0_OUT),

.TXN1(TXN1_OUT),

.TXP0(TXP0_OUT),

.TXP1(TXP1_OUT),

.TXPREEMPHASIS0(tied_to_vcc_vec_i [2:0]),

.TXPREEMPHASIS1(tied_to_vcc_vec_i [2:0]),

// ——————-传输端口 – TX PRBS生成器——————-

.TXENPRBSTST0(tied_to_ground_vec_i [1:0]),

.TXENPRBSTST1(tied_to_ground_vec_i [1:0]),

// ——————传输端口 – TX极性控制——————

.TXPOLARITY0(tied_to_ground_i),

.TXPOLARITY1(tied_to_ground_i),

// —————传输端口 – PCI Express的TX端口—————-

.TXDETECTRX0(tied_to_ground_i),

.TXDETECTRX1(tied_to_ground_i),

.TXELECIDLE0(tied_to_ground_i),

.TXELECIDLE1(tied_to_ground_i),

// ——————-传输端口 – SATA的TX端口——————-

.TXCOMSTART0(tied_to_ground_i),

.TXCOMSTART1(tied_to_ground_i),

.TXCOMTYPE0(tied_to_ground_i),

.TXCOMTYPE1(tied_to_ground_i)

);

请登录后发表评论

    没有回复内容