JESD204 - Vivado 2013.4及更早版本 - GTP和GTH - 生产重置DRP序列可能处于挂起状态,需要重新配置才能恢复
描述
WHE N使用JESD V5.0和更早,生产复位GTP和GTH DRP序列可以在需要重新配置,以恢复挂起状态结束 (Xilinx答案60489) 。
只有在 正在进行复位序列的 同时向内核发出第二次复位时才会出现故障 。
复位序列在配置后自动启动,因此如果在配置器件后不久切换主核复位,则可能会发生这种情况。
由于DRP寄存器设置卡在16位Rx数据宽度而不是所需的20位数据宽度,故障发生。
JESD204在正常操作期间使用20位数据宽度,但DRP逻辑在复位序列期间将数据宽度设置为16位,以避免生产复位问题(有关所需复位逻辑的更多信息,请参阅“GT收发器用户指南”)。
仅在先前的复位序列正在进行时向核心发出第二次复位时才会出现故障。
解
(如果使用也更改<core_name> _ * _ gtrxrate_seq.v / vhd和<core_name> _ * _ gtrxpmarst_seq.v / vhd )。
- 写入20位模式当wr_20 =>时....drpdi_o <= rd_data(15 downto 0); - 每个上一个读取的恢复用户设置
- 写入20位模式当wr_20 =>时...drpdi_o <= rd_data(15 downto 12)&'1'&rd_data(10 downto 0); --restore 20位模式
//写入20位模式wr_20:开始....drpdi_o = rd_data [15:0]; //恢复每个上一次阅读的用户设置结束
//写入20位模式wr_20:开始....drpdi_o = {rd_data [15:12],1'b1,rd_data [10:0]}; //恢复20位结束