有好几个月没来更新博客啦,但是我并不是在偷懒,已经整理好好几篇的材料,后面陆续会发表出来,敬请期待!哈哈...
最近这几个月都在啃PCIe,各种查资料,看文献。总算有点头绪了,这不,就急急忙忙跟大伙分享一下劳动成果,如果有理解得不对的地方,请大神不吝赐教啊!
好了,言归正传。关于基于FPGA的PCIe接口设计,我规划分3篇来阐述。第一篇:介绍PCIe的基本概念;第二篇:以xilinx提供的例程PIO为例,仿真、板载测试结果等等;第三篇:承接第一篇的成果,进行DMA的介绍。三篇下来,应该可以算是基本入门了吧。
文中主要是以xilinx的FPGA展开论述。
1. PCIE总线概述
1.1 PCIE总线的发展历史
PCIE总线技术,也叫计算机内部总线技术”Peripheral Component Interconnect”,即外围组件互联,其前身是PCI总线,但PCI总线真正应用是随着Intel的Pentium处理器诞生而开始的,在1994年的时候,以绝对的优势,战胜了VESA总线,成为了当时的标准,从此,几乎所有的外围设备,从硬盘控制器到声卡,网卡,都用PCI插槽。
在过去的十几年中,PCI总线得到了广泛的应用,虽然PCI总线,在往后的10几年当中也有所发展,先后出现了64位的PCI-/66MHz、PCI-X,但是随着微处理器、存储器和互联网络的发展,并行数据传输的PCI总线技术逐渐成为系统整体性能提升的瓶颈,首先是高性能的图像处理芯片从PCI总线分离出来,形成单独一种总线技术,那就是AGP总线,随着千兆以太网和其他高带宽设备在消费级系统上的出现,PCI133MB/s的带宽明显不能满足这些应用的需求。而串行点对点的PCI Express总线的提出彻底改变了原来PCI总线的并行技术,克服了PCI总线在系统带宽、传输速度等方面的固有缺陷。
PCIe总线规范 |
总线频率 |
单Lane的峰值带宽 |
编码方式 |
单个Lane带宽 |
1.x |
1.25GHz |
2.5GT/s |
8/10b编码 |
250MB/s |
2.x |
2.5GHz |
5GT/s |
8/10b编码 |
500MB/s |