本次的工作是完成刚流片的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总线中拓扑结构如下图所示:

本文档详细介绍了PCIe驱动流程,主要包括端口身份识别、时钟与复位管理、LTSSM状态机的禁用与启动、DBI配置参数以及LTSSM状态的检测。在PCIe IP核bring up过程中,重点关注了PCIe角色配置、时钟复位、LTSSM的Disable与启动,以及通过DBI接口进行参数配置。最后,阐述了检测LTSSM状态的两种方法,确保数据链路层正常工作。
最低0.47元/天 解锁文章
2004

被折叠的 条评论
为什么被折叠?



