ingram14
原博客地址:https://blog.csdn.net/wangpeng22

 

 

   由于PCIe spec未严格限定PHY层Link方式,使得不同的厂家有自己的做法,比如Loongson、X86、PPC都有自己的做法,这给我们调试PCIe设备兼容性带来了诸多不便。

   从目前的两家主流的PCIe IP供应商 Synopsys、Cadence的IP来说,要兼容各家主板并非易事。

   PCIe spec有讲,有建议使用PERST,但未强制。

  主流PCIe主板厂商:

        X86阵营: Intel 、AMD、兆芯

       MIPS阵营:Loongson

      PPC阵营:NXP

     ARM阵营:飞腾、鲲鹏

   从不同CPU测试结果来看:

              X86阵营大部分是支持PERST,且对于不支持PERST device也有很好的支持,即PERST电平信号会从CPU引出,同时发出主动发起TS1码流。

             ARM阵营测试类似于X86,但有遇到不支持PERST主板。

             PPC目前测试有一款芯片,对PERST和NO-PERST都支持。

             MIPS:有PERST电平信号,但CPU不会主动发起TS1码流。

 主流PCIe Device处理Link Trainning 方法:

           1. 依赖于上电host PERST信号进行内部reset. 

           2. Polling electrical signal,check到对端TS1码流进行内部的reset. 

           3. Polling electrical signal,reset内部后直接发起TS1码流. 

       目前都有针对 Synopsys、Cadence 调过三种方案或它们的结合,不幸的是都有发现一些弊端,还没有找到一个完美的解决方案。

posted on 2021-01-01 08:56  ingram14  阅读(426)  评论(0编辑  收藏  举报