Asic芯片验证方法和可编程门阵列的制作方法

文档序号:6600962阅读:226来源:国知局
专利名称:Asic芯片验证方法和可编程门阵列的制作方法
技术领域
本发明涉及芯片设计领域,具体涉及一种ASIC芯片验证方法和可编程门阵列。
背景技术
专用集成电路(ASIC,Application Specific Integrated Circuit)原型机验证 是指ASIC开发过程中,利用现场可编程门阵列(FPGA,Field ProgrammableGate Array)进 行网表级功能验证和部分系统验证。由于网表规模都比较大,所以一般采用数个FPGA以输 入/输出(1/0,Input-Output)管脚进行互联,形成一个能够承载网表的FPGA阵列,进行网 表内部逻辑和对外器件接口的代码级调试。由于网表规模越来越大,FPGA片间连接方案成 为原型机验证的一个瓶颈。现有的一种FPGA片间连接方法如图1所示,FPGA1和FPGA2之间所有的接口信号 直接通过FPGA芯片的普通I/O管脚相连,一个待验证模块的接口信号占用一个I/O管脚。 对于一些接口信号较多的待验证模块,例如高级可扩展接口(AXI,Advanced extensible Interface)模块有400个I/O管脚,而一块FPGA芯片可用I/O管脚数只有900个,按照上 述连接方式,仅仅一个模块就占用了一块FPGA芯片一半的I/O管脚,管脚资源占用过多 ’另 外,为了保证信号传输的正确性,同组信号的印制电路板(PCB,Printed Circuit Board)走 线延时应基本相等,而大量的并行信号在PCB上做到等长走线(从而达到走线延时基本相 等)难度非常大。

发明内容
本发明实施例提供一种ASIC芯片验证方法和一种可编程门阵列,旨在解决现有 技术中FPGA片间连接方法占用I/O管脚资源多或需要降低待验证模块之间接口速率的问题。一种ASIC芯片验证方法,包括根据第一待验证模块接口的数量,第一复用/解复 用模块将所述第一待验证模块接口上的接口信号打包成第一复用数据包后发送至第一并/ 串-串/并转换模块;所述第一并/串-串/并转换模块将所述第一复用数据包转换成串 行数据后发送。一种可编程门阵列,所述可编程门阵列包括复用/解复用模块和并/串-串/并转 换模块;所述复用/解复用模块,用于根据待验证模块接口的数量,将所述待验证模块接口 上的接口信号打包成复用数据包后发送至所述并/串-串/并转换模块;所述并/串-串 /并转换模块,用于将所述复用/解复用模块打包成的复用数据包转换成串行数据后发送。本发明实施例通过将待验证模块接口上的接口信号打包成包含若干子数据包的 复用数据包后由并/串-串/并转换模块串行发送出去,在接收方,由并/串-串/并转换 模块将接收到的串行数据转换为复用数据包后发送至复用/解复用模块,复用/解复用模 块解包后发送至待验证模块的接口。与现有技术相比,减少了对I/O管脚的占用,从而可简 化FPGA验证平台的设计和PCB的布线等工作。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是现有技术一种FPGA片间连接方法示意图;图2是本发明实施例一提供的一种ASIC芯片验证方法基本流程示意图;图3是本发明实施例提供的复用数据包结构示意图;图4是本发明实施例二提供的一种ASIC芯片验证方法基本流程示意图;图5是本发明实施例提供的可编程门阵列基本逻辑结构示意图;图6是本发明实施例一的FPGA片间连接示意图;图7是本发明实施例二的FPGA片间连接示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。请参考图2,本实施例一提供的一种ASIC芯片验证方法基本流程示意图,主要包 括步骤S201,根据待验证模块接口的数量,复用/解复用模块将该待验证模块接口上的 接口信号打包成复用数据包后发送至并/串-串/并转换模块。在本实施例中,待验证模块是指ASIC原型机验证过程中待验证芯片包含的功能 模块,其能够实现的功能可以以程序的形式写入FPGA中。ASIC原型机验证时,一个待验证 的芯片往往包含数十个功能模块,在验证时可能需要将这些模块置入多块FPGA中。为了减 少待验证模块的接口直接相连占用FPGA较多的I/O管脚,可以先将待验证模块接口上的接 口信号打包成复用数据包。在本实施例中,复用数据包由多个子数据包组成,每一个子数据 包包含待验证模块接口上的若干接口信号。在本实施例中,可以将待验证模块接口上的接口信号打包成包含子数据包的复用 数据包,如图3所示。假设待验证模块有n个接口,该n个接口上的接口信号依次为a。、
........an_2、an_10可以按照n的大小,将所有的接口信号打包成一个长度为N、包含子
数据包SDi至SDn的复用数据包,此处N的大小为「《/A/],其中,M为并/串-串/并转换模 块的数据位宽,可以取8、16或32等等。在本实施例中,「WMl可以取大于或等于n除以 M的整数,例如,当n/M为整数时,「〃/从1取n/M ;当n/M不为整数时,「n/A^取n/M的整数 部分加1。子数据包SDi、子数据包SD2........子数据包含的接口信号依次为{aQ、
ai、.......aM-J、"!^aM、aM+l、.......a2M-J........ia(N-l)M^ a(N-1)M+1、.....an}。可以理解
的是,若子数据包SDn不足M个接口信号,可将不足部分补充填0,S卩,子数据包SDN可以为
5{a(N-1)M、a(N—1)M+1、.......an、0、0、......、0} 。
对于接口数量过多的待验证模块,为了减少打包的复杂程度和减小复用数据包的 长度,在本实施例中,还可以根据待验证模块接口的数量,将接口信号打包成长度更小的复 用数据包。例如,将接口信号打包成包含「(n/A/)/0个子数据包的复用数据包,此处,n仍然 为待验证模块接口的数量,M仍然为并/串-串/并转换模块的数据位宽,可以取8、16或 32等,而Q为并/串-串/并转换模块的数量。在本实施例中,「(WA/)/Q可以取大于或等 于(n/M)/Q的整数,例如,当(n/M)/Q为整数时,「(n/M/)/Q取(n/M)/Q;当(n/M)/Q不为整 数时,「(n/M)/Q取(n/M)/Q的整数部分加1。这样,实际上将接口信号打包成Q个复用数 据包,每个复用数据包包含「…/ M) / 01个子数据包。为了方便接收方接收数据和对复用数据包进行解包,在本实施例中,可以在每一 个复用数据包的首位置写入一个同步标识,用于标识一个复用数据包的开始。与此同时,为 了保证传输的正确性,同步标识必须具有独立性,即,无论数据包内容如何变化,同步标识
不能与子数据包SDi、子数据包SD2........子数据包SDn的内容重复。在本实施例中,可以
采用8bit/10bit进行编码,将8bit/10bit编码中的K码作为同步标识。S202,并/串-串/并转换模块将复用数据包转换成串行数据后发送。并/串-串/并转换模块一次接收一个子数据包,即,一次接收M bit的接口信号 并将这M bit的接口信号转换成串行数据后从串行数据口发送出去。由于是串行发送,因此,对于接口数量为n的待验证模块或者接口信号打包成长 度为包含个子数据包的复用数据包,实际上只占用FPGA的一个I/O管脚,与现有技 术相比,节省了 FPGA的n-1个I/O管脚。而对于接口信号打包成长度为包含「(n/A/)/Q个子数据包的复用数据包,每M bit的接口信号也是被转换成串行数据后从串行数据口发送出去,由于一个这样的数据包 只占用一个FPGA的一个I/O管脚,n个接口信号也只占用FPGA的Q个I/O管脚。在接收端,接收端处的并/串-串/并转换模和复用/解复用模块则分别执行与 发送端处的并/串-串/并转换模和复用/解复用模块相反的操作,即,接收端处的并/ 串-串/并转换模块接收发送端处的并/串-串/并转换模发送过来的串行数据,将这些 串行数据转换成复用数据包后发送至接收端处的复用/解复用模块,接收端处的复用/解 复用模块将这些复用数据包解包成接收端处的待验证模块的接口信号后发送至接收端处 的待验证模块。需要说明的是,在本实施例中,若接收端将待验证模块的接口信号发送出去,其复 用/解复用模块和并/串-串/并转换模块执行的操作则分别与发送端处的复用/解复用 模块和并/串-串/并转换模块执行的操作相同,即,分别执行与本实施例中步骤S201和 步骤S202相同的动作,此处不再赘述。请参阅图4,本实施例二提供的一种ASIC芯片验证方法基本流程示意图,主要包 括步骤S401,并/串-串/并转换模块将串行数据转换成复用数据包后发送至复用/解 复用模块。并/串-串/并转换模块每接收到一个同步标识,即认为对端正在传送一个复用数据包,在本实施例中,复用数据包也是由若干子数据包组成。与本实施例一相应,并/ 串-串/并转换模块接收到同步标识(例如,8bit/10bit编码中的K码)后,按照每M bit 为一个转换单位,将串行数据转换成包含子数据包的复用数据包后发送至复用/解复用模 块。可以理解,若对端待验证模块的接口数量为n,并且是将n个接口信号打包成一个 长度为包含「《/Ml个子数据包的复用数据包,则此时只需要一个复用/解复用模块和一个 并/串-串/并转换模块,相应地,也只需要占用FPGA的一个I/O管脚;若对端待验证模块的接口数量为n,并且是将n个接口信号打包成长度为包含 「(i7/M)/2l个子数据包的复用数据包,则此时需要Q个复用/解复用模块和Q个并/串-串 /并转换模块,相应地,也需要占用FPGA的Q个I/O管脚。S402,复用/解复用模块将复用数据包解包成待验证模块的接口信号后发送至待 验证模块。复用/解复用模块将长度为包含「〃/Ml个子数据包的复用数据包解包后,并行发 送至待验证模块的接口 ;或者,Q个复用/解复用模块将长度为包含「(n/A/)/0l个子数据包 的复用数据包解包后,并行发送至待验证模块的接口。需要说明的是,在本实施例中,若步骤S401的并/串-串/并转换模块是接收端 处的并/串-串/并转换模块,则发送端处的复用/解复用模块和并/串-串/并转换模 块分别执行与接收端处的复用/解复用模块和并/串-串/并转换模块相反的操作,即,根 据接收端处待验证模块接口的数量,接收端处的复用/解复用模块将该验证模块接口上的 接口信号打包成复用数据包后发送至并/串-串/并转换模块,第二并/串-串/并转换 模块将复用数据包转换成串行数据后发送。从上述本实施例一和实施例二可以获知,假设并/串-串/并转换模块之间的接 口速率为6. 144Gbps,则一个并/串-串/并转换模块的管脚可以就可以传输256个频率 为15. 36Mhz的接口信号,与现有技术相比,减少了对FPGA中255个I/O管脚的占用,从而 简化了 FPGA验证平台的设计和PCB的布线等工作。此外,本发明也充分利用了 FPGA的并 /串-串/并模块接口(serdes)的高速传输特性,例如,假设并/串-串/并转换模块之 间的接口速率为6. 144Gbps,则一个频率为61. 44Mhz、接口数量为400的待验证模块,采用 FPGA的8个并/串-串/并模块接口接可以完成待验证模块之间接口信号的交互,因此,本 发明特别适合待验证模块之间接口速率较高的场景。请参阅图5,本实施例提供的可编程门阵列基本逻辑结构示意图。为了便于说明, 仅仅示出了与本发明实施相关的部分。该可编程门阵列包括复用/解复用模块501和并/ 串-串/并转换模块502。复用/解复用模块501,用于将待验证模块接口上的接口信号打包成包含子数据 包的复用数据包后发送至并/串-串/并转换模块502,或者将并/串-串/并转换模块 502接收的包含子数据包的复用数据包解包成待验证模块接口上的接口信号。例如,在发 明实施例一提供的一种ASIC芯片验证方法中,复用/解复用模块501将接口信号打包成 长度为包含「《/似1或「(n/A/)/0l个子数据包的复用数据包;或者,在发明实施例二提供的 一种ASIC芯片验证方法中,复用/解复用模块501将长度为包含「《/A/l或「(WA/)/0l个子数据包的复用数据包解包后,并行发送至待验证模块的接口。在本实施例中,_「〃/A^或 「(n/M)/gl的含义与本实施例一或实施例二提供的一种ASIC芯片验证方法中「《/Ml.或 \{n / M) / 01的含义相同,此处不再赘述。并/串-串/并转换模块502,用于将复用/解复用模块501打包成的复用数据 包转换成串行数据后发送,或者将接收的串行数据转换成复用数据包后发送至复用/解复 用模块。例如,在本实施例一提供的一种ASIC芯片验证方法中,并/串-串/并转换模块 502将每一次接收的M bit的接口信号转换成串行数据后从串行数据口发送出去,或者,在 本实施例二提供的一种ASIC芯片验证方法中,并/串-串/并转换模块502每接收到一个 同步标识,按照每M bit为一个子数据包,将串行数据转换成复用数据包后发送至复用/解 复用模块。图6和图7分别示出了使用本实施例提供的一种ASIC芯片验证方法的FPGA片间 连接图。在图6中,复用/解复用模块将待验证模块的所有接口信号打包成一个长度为包 含n/M个子数据包的复用数据包,并/串-串/并转换模块之间采用一根数据线连接,即, 只占用FPGA的一个I/O管脚;而在图7中,复用/解复用模块将待验证模块的所有接口信 号打包成Q个长度为包含(n/M) /Q个子数据包的复用数据包,并/串-串/并转换模块之 间采用Q根数据线连接,即,占用FPGA的Q个I/O管脚。对于图6或图7中的控制信号线, 它独立于各个FPGA的数据线,主要用于在FPGA之间交互控制信号,例如,中断信号等等。需要说明的是,上述实施例设备各模块/单元之间的信息交互、执行过程等内容, 由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此 处不再赘述。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。以上对本发明的实施例所提供的一种ASIC芯片验证方法和一种可编程门阵列进 行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施 例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人 员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明 书内容不应理解为对本发明的限制。
权利要求
一种ASIC芯片验证方法,其特征在于,包括根据第一待验证模块接口的数量,第一复用/解复用模块将所述第一待验证模块接口上的接口信号打包成第一复用数据包后发送至第一并/串-串/并转换模块;所述第一并/串-串/并转换模块将所述第一复用数据包转换成串行数据后发送。
2.根据权利要求1所述的方法,其特征在于,所述第一复用/解复用模块将所述第一待 验证模块接口上的接口信号打包成第一复用数据包后发送至第一并/串_串/并转换模块 包括将所述第一待验证模块接口上的接口信号打包成长度为包含「《/A/1个子数据包的第 一复用数据包后发送至所述第一并/串-串/并转换模块,所述n为所述第一待验证模块 接口的数量,所述M为所述第一并/串-串/并转换模块的数据位宽,所述“「〃/A^”表示 取大于或等于n除以M的整数。
3.根据权利要求1所述的方法,其特征在于,所述第一复用/解复用模块将所述第一待 验证模块接口上的接口信号打包成第一复用数据包后发送至第一并/串_串/并转换模块 包括将所述第一待验证模块接口上的接口信号打包成长度为包含「(〃/AO/2l个子数据包 的第一复用数据包后发送至所述第一并/串-串/并转换模块,所述n为所述第一待验证 模块接口的数量,所述M为所述并/串-串/并转换模块的数据位宽,所述Q为所述第一并 /串-串/并转换模块的数量,所述「(n/M)/0l表示取大于或等于(n/M)/Q的整数。
4.根据权利要求1至3任意一项所述的方法,其特征在于,还包括在所述第一复用数据包的首位置写入同步标识。
5.根据权利要求1所述的方法,其特征在于,所述第一并/串-串/并转换模块将所述 第一复用数据包转换成串行数据后发送之后进一步包括第二并/串-串/并转换模块接收所述串行数据并将所述串行数据转换成第二复用数 据包发送至第二复用/解复用模块;所述第二复用/解复用模块将所述第二复用数据包解包成第二待验证模块的接口信 号后发送至所述第二待验证模块。
6.一种可编程门阵列,其特征在于,所述可编程门阵列包括复用/解复用模块和并/ 串-串/并转换模块;所述复用/解复用模块,用于根据待验证模块接口的数量,将所述待验证模块接口上 的接口信号打包成复用数据包后发送至所述并/串-串/并转换模块;所述并/串-串/并转换模块,用于将所述复用/解复用模块打包成的复用数据包转 换成串行数据后发送。
7.根据权利要求6所述的可编程门阵列,其特征在于,所述复用/解复用模块,具体用 于将所述待验证模块接口上的接口信号打包成长度为包含「〃/A^个子数据包的复用数据 包后发送至所述并/串-串/并转换模块,所述n为所述待验证模块接口的数量,所述M为 所述并/串-串/并转换模块的数据位宽,所述“「WA^”表示取大于或等于n除以M的整 数。
8.根据权利要求6所述的可编程门阵列,其特征在于,所述复用/解复用模块,具体用 于将所述待验证模块接口上的接口信号打包成长度为包含「(n/M)/0l个子数据包的复用 数据包后发送至所述并/串-串/并转换模块,所述n为所述待验证模块接口的数量,所述 M为所述并/串-串/并转换模块的数据位宽,所述Q为所述并/串-串/并转换模块的数 量,所述「(《/M)/0l表示取大于或等于(n/M)/Q的整数。
9.根据权利要求6所述的可编程门阵列,其特征在于,所述并/串-串/并转换模块, 还用于将接收的串行数据转换成复用数据包发送至所述复用/解复用模块;所述复用/解复用模块,还用于将所述并/串-串/并转换模块转换所得的复用数据 包解包成待验证模块的接口信号后发送至所述待验证模块。
10.一种可编程门阵列,其特征在于,所述可编程门阵列包括复用/解复用模块和并/ 串-串/并转换模块;所述并/串-串/并转换模块,用于将串行数据转换成复用数据包发送至所述复用/ 解复用模块;所述复用/解复用模块,用于将所述复用数据包解包成待验证模块的接口信号后发送 至所述待验证模块。
11.根据权利要求10所述的可编程门阵列,其特征在于,所述复用/解复用模块还用于 根据待验证模块接口的数量,将所述验证模块接口上的接口信号打包成复用数据包后发送 至并/串-串/并转换模块;所述并/串-串/并转换模块还用于将所述复用/解复用模块打包成的复用数据包转 换成串行数据后发送。
12.根据权利要求11所述的可编程门阵列,其特征在于,所述复用/解复用模块,具体 用于将所述待验证模块接口上的接口信号打包成长度为包含「n/A/1个子数据包的复用数 据包后发送至所述并/串-串/并转换模块,所述n为所述待验证模块接口的数量,所述M 为所述并/串-串/并转换模块的数据位宽,所述“「《/似1”表示取大于或等于n除以M的 整数。
13.根据权利要求11所述的可编程门阵列,其特征在于,所述复用/解复用模块,具体 用于将所述待验证模块接口上的接口信号打包成长度为包含「(n/A/)/2l个子数据包的复 用数据包后发送至所述并/串-串/并转换模块,所述n为所述待验证模块接口的数量,所 述M为所述并/串-串/并转换模块的数据位宽,所述Q为所述并/串-串/并转换模块 的数量,所述「(《/M)/0]表示取大于或等于(n/M)/Q的整数。
全文摘要
本发明实施例提供一种ASIC芯片验证方法和可编程门阵列,旨在解决现有技术中FPGA片间连接方法占用I/O管脚资源多或需要降低待验证模块之间接口速率的问题。该方法包括根据第一待验证模块接口的数量,第一复用/解复用模块将第一待验证模块接口上的接口信号打包成第一复用数据包后发送至第一并/串-串/并转换模块;第一并/串-串/并转换模块将第一复用数据包转换成串行数据后发送。与现有技术相比,减少了对FPGA中I/O管脚的占用,从而简化了FPGA验证平台的设计和PCB的布线等工作。此外,本发明实施例中FPGA的并/串-串/并模块接口(serdes)传输速率高,特别适合待验证模块之间接口速率较高的场景。
文档编号G06F11/36GK101833502SQ20101015008
公开日2010年9月15日 申请日期2010年4月15日 优先权日2010年4月15日
发明者孟凡博, 陈继德, 高旸 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1