基于异步物理层接口的PCIe接口芯片硬件验证方法技术

技术编号:8834169 阅读:311 留言:0更新日期:2013-06-22 20:25
本发明专利技术公开了一种基于异步物理层接口的PCIe接口芯片硬件验证方法,其实施步骤如下:1)构建具有标准PCI?Express接口的FPGA硬件平台;2)在待验证的PCI?Express接口芯片ASIC代码中的PCI?Express软核与物理层之间插入用于匹配频率差的异步物理层接口;3)将待验证的PCI?Express接口芯片ASIC代码迁移到FPGA硬件平台综合实现,并根据PCIExpress接口芯片被综合的最高频率设置降频PIPE接口的工作频率;4)使用测试程序通过FPGA硬件平台对PCI?Express接口芯片的PCI?Express软核和用户逻辑进行功能测试。本发明专利技术能够实现PCI?Express接口芯片的降频硬件验证,具有兼容现有测试代码、实现简单方便、通用性好、资源占用率低的优点。

【技术实现步骤摘要】

本专利技术涉及ASIC芯片的硬件验证领域,具体涉及一种。
技术介绍
PCI Express (PCIe)是目前应用最为广泛的I/O总线标准,基于PCI Express接口的ASIC芯片结构如图1所示,主要由物理层、PCI Express软核以及用户逻辑三部分构成。物理层负责数据编码和串并转换,PCI Express软核实现PCI Express总线协议,物理层与PCI Express软核之间是一个工业标准接口,称为PCI Express物理层接口(PHYInterface of PCI Express,简称PIPE接口),用户逻辑在PCI Express用户接口之上实现ASIC芯片的数据处理功能。ASIC芯片的验证主要有两种方法:软件模拟和硬件验证。软件模拟基于模拟器对代码进行仿真执行,简单方便但是速度较慢,难以发现逻辑设计中的深层次错误。硬件验证将代码综合到硬件验证平台上在真实的环境中执行,验证速度很快,但是较为复杂。ASIC验证过程中通常两种方法会互为补充,最终实现对芯片功能的全覆盖。ASIC代码综合到FPGA中时通常达不到ASIC实际的工作频率,因此一般都采用降频验证的方式,将FPGA工作频率降为ASIC工作频率的几分之一。内部逻辑代码降频对功能验证通常没有影响,外部接口一般需要与FPGA验证平台以外的设备进行通信(例如PCIExpress端节点设备需要连接主板上的PCI Express根节点设备),如果FPGA验证平台的接口速率与其它设备的接口速率不一致,就无法进行正常的数据传输。PCI Express软核的工作频率与物理层接口速率间有严格的关系,直接降低软核的工作频率将会引起物理层接口速率降低,导致 无法连接标准速率的PCI Express设备,因此这就需要一种硬件验证PCIExpress接口的方法以实现降频后的PCI Express软核和标准PCI Express设备之间的通 目。针对上述技术问题,现有技术的解决方法主要有如下两种:(l)Xilinx/Altera公司的硬核替换法。将为ASIC设计的PCI Express软核替换为可以在FPGA中实现的PCI Express软核或硬核,然后在替换后的PCI Express用户接口上插入异步FIFO实现降频验证。这种方法的缺点第一是PCI Express软核自身以及相关逻辑无法得到验证,第二由于每种PCI Express IP的用户接口都不同,采用替换的方式改变了用户接口,因此用户逻辑必须做出相应的修改,导致ASIC代码和FPGA代码不一致,不仅增加了验证复杂性,而且降低了验证的可信度。(2) SpeedBridge 技术。Cadence 的 SpeedBridge 技术是在标准的 PCI Express 接口与硬件验证平台上降频的PCI Express接口之间插入一个特殊的PCI Express桥设备,该桥设备有两个不同速率的端口,它将标准PCI Express接口收到的报文缓存后转发给降频的PCI Express接口,从而实现降频PCI Express设备与标准PCI Express设备的透明通信。SpeedBridge技术需要设计专用的转接板和桥芯片,实现非常复杂,并且SpeedBridge目前只能用于Cadence的Palladium验证平台,无法应用到通用的FPGA验证平台上。综上所述,如何在通用FPGA硬件验证平台上实现PCI Express接口的降频验证是本领域技术人员极为关注的技术问题。
技术实现思路
本专利技术要解决的技术问题是提供一种能够实现PCI Express接口芯片降频硬件验证、兼容现有测试代码、实现简单方便、通用性好、资源占用率低的。为了解决上述技术问题,本专利技术采用的技术方案为:一种,其实施步骤如下:I)构建具有标准PCI Express接口的FPGA硬件平台,将所述FPGA硬件平台通过标准PCI Express接口与带有PCI Express根节点设备的主机相连;2)在待验证的PCI Express接口芯片ASIC代码中的PCI Express软核与物理层之间插入用于匹配频率差的异步物理层接口,所述异步物理层接口包含发送缓冲区、接收缓冲区、降频PIPE接口和标准PIPE接口,所述异步物理层接口通过降频PIPE接口与FPGA硬件平台相连、通过标准PIPE接口与物理层相连;3)将所述待验证的PCI Express接口芯片ASIC代码迁移到所述FPGA硬件平台综合实现,并根据PCI Express接口芯片被综合的最高频率设置降频PIPE接口的工作频率;4)使用测试程序通过所述FPGA硬件平台对PCI Express接口芯片的PCI Express软核和用户逻辑进行功能测试;当PCI Express软核通过异步物理层接口向物理层发送PCI Express报文时,PCI Express软核通过降频PIPE接口将PCI Express报文写入异步物理层接口的发送缓冲区,异步物理层接口将发送缓冲区缓存PCI Express报文通过标准PIPE接口发送给物理层,同时当异步物理层接口的发送缓冲区为空时,异步物理层接口检测链路的握手状态,如果握手未成功则在标准PIPE接口上插入SKP有序集报文来补偿PCI Express软核与物理层之间的频率差,如果握手已经成功则在标准PIPE接口上插入LIDLE逻辑空报文来补偿PCIExpress软核与物理层之间的频率差;当物理层通过异步物理层接口向PCI Express软核发送PCI Express报文时,异步物理层接口检测链路的握手状态,如果握手未成功则将接收到的PCIExpress报文按照降频PIPE接口的工作频率和标准PIPE接口的工作频率之间的比值进行丢弃,并将未丢弃的PCI Express报文写入异步物理层接口的接收缓冲区,如果握手已经成功则判断接收到的PCI Express报文的类型,当PCIExpress报文是链路层报文或者事务层报文时写入异步物理层接口的接收缓冲区,当PCIExpress报文是逻辑空报文时全部丢弃,异步物理层接口将接收缓冲区缓存PCI Express报文通过降频PIPE接口发送给物理层。作为本专利技术上述技术方案的进一步改进:所述步骤3)中根据PCI Express接口芯片被综合的最高频率设置降频PIPE接口的工作频率时,降频PIPE接口的工作频率取值规则如式(I)所示;fVfs = 1,4/5,3/4,7/10,2/3,3/5,1/2,2/5 (I)式(I)中,为降频PIPE接口的工作频率,fs为标准PIPE接口的工作频率。所述异步物理层接口的接收缓冲区容量满足式(2)的函数关系;Cfifo > Ctlp*(UfffdllpVfs) (2)式⑵中,Cfif。为接收缓冲区的容量,Ctlp为PCI Express软核的事务层报文接收缓冲区容量(具体数值与软核配置有关,一般不超过32KB),fdllp为数据链路层报文的最大更新频率(具体数值与软核配置有关,一般不超过IMHzhf1为降频PIPE接口的工作频率,fs为标准PIPE接口的工作频率。所述步骤4)中将接收到的PCI Express报文按照降频PIPE接口的工作频率和标准PIPE接口的工作频率之间的比值进行本文档来自技高网
...

【技术保护点】
一种基于异步物理层接口的PCIe接口芯片硬件验证方法,其特征在于实施步骤如下:1)构建具有标准PCI?Express接口的FPGA硬件平台,将所述FPGA硬件平台通过标准PCI?Express接口与带有PCI?Express根节点设备的主机相连;2)在待验证的PCI?Express接口芯片ASIC代码中的PCI?Express软核与物理层之间插入用于匹配频率差的异步物理层接口,所述异步物理层接口包含发送缓冲区、接收缓冲区、降频PIPE接口和标准PIPE接口,所述异步物理层接口通过降频PIPE接口与FPGA硬件平台相连、通过标准PIPE接口与物理层相连;3)将所述待验证的PCI?Express接口芯片ASIC代码迁移到所述FPGA硬件平台综合实现,并根据PCI?Express接口芯片被综合的最高频率设置降频PIPE接口的工作频率;4)使用测试程序通过所述FPGA硬件平台对PCI?Express接口芯片的PCI?Express软核和用户逻辑进行功能测试;当PCI?Express软核通过异步物理层接口向物理层发送PCI?Express报文时,PCI?Express软核通过降频PIPE接口将PCI?Express报文写入异步物理层接口的发送缓冲区,异步物理层接口将发送缓冲区缓存PCI?Express报文通过标准PIPE接口发送给物理层,同时当异步物理层接口的发送缓冲区为空时,异步物理层接口检测链路的握手状态,如果握手未成功则在标准PIPE接口上插入SKP有序集报文来补偿PCI?Express软核与物理层之间的频率差,如果握手已经成功则在标准PIPE接口上插入LIDLE逻辑空报文来补偿PCI?Express软核与物理层之间的频率差;当物理层通过异步物理层接口向PCI?Express软核发送PCI?Express报文时,异步物理层接口检测链路的握手状态,如果握手未成功则将接收到的PCI?Express报文按照降频PIPE接口的工作频率和标准PIPE接口的工作频率之间的比值进行丢弃,并将未丢弃的PCI?Express报文写入异步物理层接口的接收缓冲区,如果握手已经成功则判断接收到的PCI?Express报文的类型,当PCI?Express报文是链路层报文或者事务层报文时写入异步物理层接口的接收缓冲区,当PCI?Express报文是逻辑空报文时全部丢弃,异步物理层接口将接收缓冲区缓存PCI?Express报文通过降频PIPE接口发送给物理层。...

【技术特征摘要】
1.一种基于异步物理层接口的PCIe接口芯片硬件验证方法,其特征在于实施步骤如下: 1)构建具有标准PCIExpress接口的FPGA硬件平台,将所述FPGA硬件平台通过标准PCI Express接口与带有PCI Express根节点设备的主机相连; 2)在待验证的PCIExpress接口芯片ASIC代码中的PCI Express软核与物理层之间插入用于匹配频率差的异步物理层接口,所述异步物理层接口包含发送缓冲区、接收缓冲区、降频PIPE接口和标准PIPE接口,所述异步物理层接口通过降频PIPE接口与FPGA硬件平台相连、通过标准PIPE接口与物理层相连; 3)将所述待验证的PCIExpress接口芯片ASIC代码迁移到所述FPGA硬件平台综合实现,并根据PCI Express接口芯片被综合的最高频率设置降频PIPE接口的工作频率; 4)使用测试程序通过所述FPGA硬件平台对PCIExpress接口芯片的PCI Express软核和用户逻辑进行功能测试;当PCI Express软核通过异步物理层接口向物理层发送PCI Express报文时,PCI Express软核通过降频PIPE接口将PCI Express报文写入异步物理层接口的发送缓冲区,异步物理层接口将发送缓冲区缓存PCI Express报文通过标准PIPE接口发送给物理层,同时当异步物理层接口的发送缓冲区为空时,异步物理层接口检测链路的握手状态,如果握手未成功则在标准PIPE接口上插入SKP有序集报文来补偿PCIExpress软核与物理层之间的频率差,如果握手已经成功则在标准PIPE接口上插入LIDLE逻辑空报文来补偿PCI Express软核与物理层之间的频率差;当物理层通过异步物理层接口向PCI Express软核发送PCI Express报文时,异步物理层接口检测链路的握手状态,如果握手未成功则将接收到的PCI Express报文按照降频PIPE接口的工作频率和标准PIPE接口的工作频率之间的比值进行丢弃,并将未丢弃的PCI Express报文写入异步物理层接口的接收缓冲区,如果握手已经成功则判断接收到的PCI Express报文的类型,当PCIExpress报文...

【专利技术属性】
技术研发人员:肖立权张磊王克非刘路沈胜宇王学慧张鹤颖肖灿文王永庆伍楠戴艺曹继军高蕾
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1