本次的工作是完成刚流片的FPGA中PCIe IP核的bring up,也就是芯片的中PCIe的第一个使用者,将PCIe IP核正常使用起来,并配合公司的EDA团队,完成PCIe IP核到用户的呈现。
经过两个月的调试和文档阅读,对PCIe也有了初步的认识,对于PCIe的学习主要来自3个方面:
1、 王齐老师的《PCI Express 体系结构导读》和王齐老师的博客http://blog.sina.com.cn/s/blog_6472c4cc0100qbvp.html。非常感谢王齐老师的书,对于学习PCIe协议无疑是最佳的学习资料。
2、《PCI Express Base Specification 3.0》PCIe的标准协议。
3、 Synopsys公司提供 PCIe ip相关的data sheet。
以下是对PCIe建立链接过程的记录,主要针对Sysnosys 的PCIe的IP,但是同时应该也有普遍的适用性:
1.1 端口身份的识别
该部分是PCIe 底层Core识别PCIe端口的过程,PCIe总线中的有3中角色:RC(root complex)、EP(end point)、switch。他们在PCIe总线中拓扑结构如下图所示: