时间:2024-07-27 来源:网络搜集 关于我们 0
紫光同创的PCIE用起来还是挺方便的,生成IP的同时生成了对应的PCIE example例程。紫光同创的PCIE IP虽然没有像xilinx那样可以直接使用Block Design设计,但是仔细读一遍官方例程的DMA模块,进而开发自己的东西,还是能够很好地用起来。
对于毫无PCIE知识和经验的小白来说,比如我,使用好紫光同创的PCIE略有难度。对小白来说,很可能一开始和主机怎么交互起来都是一个问题。入门一看PCIE协议,会发现繁多也难懂——PCIE体系庞大足以让天下无书,这夸张我已经不知道从哪里听来了。如果能够一边把PCIE通信交互转起来,一边理解去PCIE协议,那就很容易把PCIE协议理解彻透彻,当然这里狭义指的是上层交互的TLP协议,数据链路层和物理层更复杂的事情是硬核做的,用起来PCIE并不需要深入了解。
如何使用紫光同创PCIE,首先FPGA端需要一个PCIE的例程,这个官方在生成IP的同时就已自带生成。
一、生成官方例程的步骤
(1)新建一个工程,工程选择对应的芯片型号。(2)进入IP Compiler,例化一个PCIE IP,注意的是紫光同创不同系列的PCIE IP并不通用,不同的系列都需要安装不同的PCIE IP包。(3)参数配置,PCIE 的gen1是2.5GT/s,gen2是5GT/s,芯片集成的是gen2的硬核,所以选5GT/s,link Width看开发板的硬件设计,IP最大支持X4,例程我使用的开发板最大只支持X2,那就选择X2,选择X1也行(理论传输速度慢一倍)。(4)其他参数默认即可,官方例程默认是打开了3个BAR空间,后面例程会使用BAR0为正常的内存读写,BAR1用于指示DMA读写操作,BAR2映射存储DMA操作的数据。盘古50K开发板|紫光同创PGL50H开发平台
END