为什么我的主机PCI硬盘在主机退出后仍然处于热重置状态2ms以上?-Altera-Intel社区-FPGA CPLD-ChipDebug

为什么我的主机PCI硬盘在主机退出后仍然处于热重置状态2ms以上?

由于使用软复位控制器(SRC)的Altera®硬IP forPCI®Express版本存在问题,可能无法在所需时间内退出热复位状态。

注:Quartus版本13.1或更高版本中的Gen2设计,以及Stratix V和Arria V GZ器件的所有Gen 3设计都需要使用SRC。其他器件不使用SRC。

热复位的顺序如下:

  • PCIe主机启动热复位并进入热复位状态。
  • 硬IP进入热重置状态。
  • 一旦PCIe主机离开它的热复位状态,硬IP应保持热复位另外2ms,然后根据PCIe规范退出到Detect.Quiet。

但是,在使用SRC的设计中,如果接收器在任何活动通道上切换locked_to_data ,则将重新启动2ms超时。如果任何通道上的噪声过大,接收器可能会切换locked_to_datalocked_to_data的每次切换都会导致2ms计数器重新启动,可能永远,使Hard IP保持恒定的热复位状态。

解决/修复方法

要解决此问题,请执行以下步骤。

打开文件altpcie_rs_serdes.v

查找并注释掉下面的代码

dl_ltssm_r <= ltssm;

hotreset_cnt <=(test_sim == 1 \’b1)?20 \’h10:(rc_inclk_eq_125mhz == 1 \’b1)?20 \’h3D091:20 \’h7A121;

结束

插入以下行:

dl_ltssm_r <= ltssm;

hotreset_cnt <=(test_sim == 1 \’b1)?20 \’h10:(rc_inclk_eq_125mhz == 1 \’b1)?20 \’h3D091:20 \’h7A121;

结束

请登录后发表评论

    没有回复内容