描述
如果在XAUI核心启动时针对Virtex-6器件,则传输通道有时不会对齐,导致链接伙伴接收器未对齐。
向XAUI核心发出重置可以导致链接伙伴成功对齐。
在最新的v10.4内核(以及使用MMCM的先前版本)的example_design.v / vhd包装器文件中,reset156不会等到MMCM锁定之后。
此外,Tx相位对齐电路可以在MMCM锁定并且156 userclk有效之前启动。
解
要更正此问题,请进行以下更改:
Verilog的:
1)为确保输入到MMCM的时钟有效,MMCM复位应由GTX PLLLKDET驱动。
在<core_name> example_design.v中,mmcm_txoutclk实例化,更改:
.LOCKED()
…
.RST(复位)
至:
.LOCKED(MMCM_locked),
…
.RST(〜txlock)
2)为了确保156MHz时钟有效,156_reset应该由来自MMCM的锁定驱动(如果使用的话,MMCM锁也应该驱动10GEMAC上的DCM_locked信号)。
在<core_name> example_design.v中,创建信号MMCM_locked,对MMCM实例化进行上述更改,并更改:
reset156_r1 <= ~txlock;
至:
reset156_r1 <= ~MMCM_locked;
3)目前,<core_name> _block.v包含以下内容,在PLL锁定之前保持tx同步复位,但直到MMCM锁定为止:
assign reset_txsync = mgt_reset_terms || 〜锁;
assign mgt_reset_terms = reset || mgt_powerdown_falling;
要锁定MMCM,请从以下位置更改:
assign reset_txsync = mgt_reset_terms || 〜锁;
至:
assign reset_txsync = reset156 || mgt_powerdown_falling;
VHDL:
1)为确保输入到MMCM的时钟有效,MMCM复位应由GTX PLLLKDET驱动。
在mmcm_txoutclk实例化的<core_name> example_design.vhd中,更改:
LOCKED =>打开,
….
RST =>重置
至:
LOCKED => MMCM_locked,
….
RST =>(不是txlock)
2)为了确保156MHz时钟有效,156_reset应该由来自MMCM的锁定驱动(如果使用的话,MMCM锁也应该驱动10GEMAC上的DCM_locked信号)。
在<core_name> example_design.vhd中,创建信号MMCM_locked,对MMCM实例化进行上述更改,并更改:
reset156_r1 <= not txlock;
至:
reset156_r1 <= not MMCM_locked;
3)目前,<core_name> _block.vhd包含以下内容,在PLL锁定之前保持tx同步复位,但直到MMCM锁定为止:
reset_txsync <= mgt_reset_terms或(不锁定);
mgt_reset_terms <= soft_reset或reset或mgt_powerdown_falling;
要锁定MMCM,请从以下位置更改:
reset_txsync <= mgt_reset_terms或(不锁定);
至:
reset_txsync <= reset156或mgt_powerdown_falling;
没有回复内容