登录站点

用户名

密码

FPGA开发PCIE(一)

已有 81 次阅读  2012-08-30 17:06   标签开发 

PciE是pci express的简称,是为了解决pci带宽限制而开发的新技术。并行信号由于受信号串扰的影响,带宽做到pcix 64bit位宽x133M基本已经到了瓶颈了,要进一步提高总线带宽一种新技术迫在眉睫,PCIE就是在这种背景下提出的。

pcie发展到今天已经有了三个版本,分别被称为gen1,gen2,gen3即一代,二代,三代。截至目前二代pcie已经在计算机系统中比较广泛的应用了,三代pcie各大厂家都在争相抢占制高点,像plx,xilinx,altera,cypress等都相继推出了gen3的ip或芯片。相信用不了三年,pcie3就会广泛应用与计算机中。

先介绍PCIE的几个基本概念:pcie采用差分方式,每一对差分线分别用于收和发,一到三代的差分线线速率分别为2.5Gbps,5Gbps和8Gbps。实际的传输带宽分别为2Gbps、4Gbps和8Gbps,因为gen1和gen2都采用8B/10B编码,三代采用130B/128B编码。计算机到外设传输方向的通路对计算机来说叫发通路,对设备叫收通路;对于从设备到计算机的数据传输对计算机来说叫收通路,对设备来说叫发通路。没有特殊说明时说的收发都是对所说的设备而言的。另一个概念就是lane,我在这不做任何翻译,就用这个单词,lane是对一对完整通路的总称,一个lane表示一收一发,也就是我们常说的x几,x1就是一个lane,x2就是两个lane,x4,x8,x16依次类推。下面分别从逻辑设计,板卡设计及测试介绍pcie开发的难点和关键点。

首先介绍板卡设计,笔者目前接触到最多的就是基于fpga的pcie设计。对于第一次做pcie板卡的人来说2.5Gbps以上的线速率,板子的走线会让你感觉无从下手,这么高的速率信号完整性问题相当重要,要有很大的的工作量来保证信号完整性问题。但是对于gen1的PCIE的设计来说单板能够保证差分线阻抗为100ohm,线间距最小3倍线宽,信号有完整的回流路径这几点基本就可以了,如果您觉得没有把握,那么可以借助仿真手段。Gen1的背板设计,gen2,gen3的板卡设计建议设计者最好仿真一下。当然我的介绍比较泛泛,如果您正做相关的项目,建议您仔细阅读datesheet,像Xilinx的PCIE开发会有板卡参考设计的原理图,PCB原文件,design guide等一系列全方位的文档支持,相信自己一定可以搞定,就一定可以搞定。

电路板设计完成就要调试了,PCIE调试分PCIE的链路调试、功能调试和稳定性调试。链路调试就是保证设计的电路板可以通,板卡插到计算机上可以找到;功能调试就是调试FPGA中的逻辑功能;稳定性调试只基本功能调试通过后,测试板卡运行的稳定性。这几个部分我会在后面的文章中一一详细介绍。 

上一篇: stm32应用例程 下一篇: ASIC学习技巧

分享 举报