一种采用硬件逻辑对ic设计进行验证的方法

文档序号:6573305阅读:308来源:国知局
专利名称:一种采用硬件逻辑对ic设计进行验证的方法
技术领域
本发明涉及一种检测方法,尤其涉及一种采用硬件逻辑对IC设计进行检测的方法。
背景技术
在采用FPGA等硬件逻辑验证IC设计的程中,通常需要用逻辑分析仪来观测硬件逻辑的内部信号。一种验证方法是SYNPLILIFY公司推出的工具IDEDNTIFY,将这些功能代码和测试代码一起经逻辑综合和布线生成配置文件,下载到FPGA等硬件逻辑,然后在测试过程中进行信号采样并通过JTAG(联合测试行动组,Joint Test Action Group)接口传输到逻辑分析仪(如PC)进行分析。边界扫描测试技术是在20世纪80年代开发的标准,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)和EPLD(ErasableProgrammable Logic Device,可擦除可编程逻辑器件)等。
实现FPGA内部信号检测必须要处理的一个问题是信号的存储。由于JTAG是一个速度很慢的接口,因此它不能实时地将采样到的数据传送至PC端。目前市场上通常的做法是将采样到的数据存储到FPGA的逻辑单元,即FPGA存储器中,等到采样过程结束后,再将采样到的数据从FPGA存储器中提取出,并通过JTGA接口传送至PC端显示和存储。
但是,采用上述方法仅适合于所要检测的信号量和采样深度较低的环境。当要检测的信号量较大或需要较深的采样深度时,采用上述方法往往需要耗费大量的FPGA等硬件逻辑资源。因此,在FPGA等硬件逻辑资源较紧张的项目中,采用上述IDENTIFY方法往往不符合设计的成本要求,因此无法采用。

发明内容
本发明要解决的技术问题是提供一种硬件逻辑内部信号的检测方法和系统,能够减少硬件逻辑资源占用。
为了解决上述问题,本发明提供一种采用硬件逻辑对IC设计进行验证的方法,应用于包括依次相连的逻辑分析仪、硬件逻辑和外部存储器的系统,该方法包含以下步骤(a)标识需要检测的信号,并给定采样时钟和采样深度,生成用于完成对待测信号的采样和数据传输功能的测试代码;(b)将待测试的功能代码和所述测试代码一起进行逻辑综合和布线,生成配置文件,并下载到硬件逻辑;(c)向硬件逻辑输入激励信号并启动测试过程,对待测信号进行采样,将采样到的数据存储到外部存储器,采样结束后再上传到逻辑分析仪;(d)采样结束后,从所述外部存储器读取保存的采样数据,通过与逻辑分析仪的接口上传至逻辑分析仪进行后续的分析和处理。
此外,所述步骤(b)将配置文件下载到硬件逻辑平台后,所述功能代码对应于硬件逻辑中生成的待测试模块,所述测试代码对应于硬件逻辑中生成的信号采样模块;所述步骤(c)进一步分为以下步骤(c1)通过逻辑分析仪的人机界面向硬件逻辑中的待测试模块输入预定的激励信号,并启动测试过程;(c2)信号采样模块根据需要检测的信号数分配硬件逻辑的临时存储单元,大小为一个采样时钟周期内的采样数据的比特数;(c3)在采样时钟沿上对待测试信号进行采样,能同时采样的信号比特数=外部存储器的位宽×外部存储器的速度/采样时钟的速度;(c4)将同一采样时钟沿上采集到的数据存储到硬件逻辑的临时存储单元中;(c5)在一个采样时钟周期内,将所述临时存储单元中保存的数据分批送至外部存储器保存;(c6)重复步骤(c3)到步骤(c5),直至采样结束。
此外,所述逻辑分析仪和硬件逻辑之间通过联合测试行动组JTAG接口进行通信,且所述逻辑分析仪使用JTAG人机界面。
此外,所述逻辑分析仪为PC,所述硬件逻辑为现场可编程门阵列,所述外部存储器为同步动态随机存储器。
此外,所述步骤(c6)中采样结束的条件为以下条件中的一种或任意组合已满足指定的采样深度;用户通过逻辑分析仪的人机界面强制结束信号采样;外部存储器空间不足。
本发明还提供一种采用硬件逻辑对IC设计进行验证的系统,包括依次相连的逻辑分析仪和硬件逻辑,其特征在于,还包括与所述硬件逻辑通过接口相连的外部存储器,其中所述逻辑分析仪包括人机界面模块和测试接口,该测试接口与硬件逻辑上的测试访问端口相连,用于逻辑分析仪与硬件逻辑之间的通信;所述人机界面模块用于提供用户输入测试控制命令和信号,并将采集到的数据显示给用户;所述硬件逻辑中包括待测试功能模块、信号采样模块、测试访问端口和外部存储器接口;其中信号采样模块用于在测试过程中对待测信号进行采样,将采样到的数据先存储到外部存储器,采样结束后再从外部存储器读取保存的采样数据,通过测试接口上传至逻辑分析仪。
此外,信号采样模块进一步包括临时存储区域分配单元、采样单元、采样数据保存单元、外部存储器控制单元和数据上传单元,其中所述临时存储区域分配单元,用于根据待测信号数分配硬件逻辑的临时存储单元,其大小为一个采样时钟周期内的采样数据的比特数;所述采样单元,用于在每个采样时钟周期对待测试功能模块中的待测信号进行数据采样,并将采样得到的数据保存在所述临时存储单元中;所述采样数据保存单元,用于与外部存储器控制单元配合,从所述临时存储单元中将一个采样时钟内得到的数据分批送至外部存储器;所述外部存储器控制单元,用于通过外部存储器接口对外部存储器进行数据的读取控制操作;所述数据上传单元,用于在采样过程结束后,通过外部存储器控制单元从外部存储器中读取数据,并通过测试访问端口将该数据发送至逻辑分析仪。
此外,所述逻辑分析仪的测试接口为联合测试行动组JTAG接口,且所述逻辑分析仪使用JTAG人机界面。
此外,所述逻辑分析仪为PC,所述硬件逻辑为现场可编程门阵列。
此外,所述外部存储器为同步动态随机存储器。
本发明通过使用可供硬件逻辑直接存取的、硬件逻辑外部的SDRAM存储器,在信号采样过程中将采样到的硬件逻辑内部信号数据进行存储,并在信号采样结束后将其上传至PC端,从而实现了减少硬件逻辑资源占用的目的,扩大了边界扫描测试工具的适用范围。


图1是采用本发明实施例系统的结构示意图;图2是本发明实施例方法的流程图。
具体实施例方式
本发明的基本思路是,将采样到的硬件逻辑的内部信号数据通过硬件逻辑中的SDRAM接口保存在外部的SDRAM存储器中,当采样结束后,再通过SDRAM接口从SDRAM存储器中将上述硬件逻辑的内部信号数据上传到PC中。
下面将结合附图对本发明的一个实施例进行详细的描述。
如图1所示,本实施例一种采用硬件逻辑对IC设计进行验证的系统包括依次相连的PC端、FPGA平台以及SDRAM。其中PC端包括JTAG人机界面模块和JTAG接口。JTAG接口与FPGA平台上的TAP(Test Access Port,测试访问端口)相连,用于与FPGA间的通信;JTAG人机界面模块用于提供用户输入测试控制命令和信号,如采样开始命令、预定的激励信号等,并可将采集到的数据显示给用户。
FPGA平台中包括待测试功能模块、信号采样模块、TAP、同步动态随机存储器(SDRAM)接口。
TAP与信号采样模块以及PC端的JTAG接口相连,用于实现FPGA与PC间的通信;信号采样模块用于在测试过程中对待测信号进行采样,将采样到的数据先存储到外部的SDRAM,采样结束后再从SDRAM读取保存的采样数据,通过JTAG接口上传至PC;该模块进一步包括临时存储区域分配单元,根据待测信号数分配FPGA临时存储单元,其大小为一个采样时钟周期内的采样数据的比特数。例如,一个采样时钟周期内有128个单比特的信号需要采集,则FPGA临时存储单元的大小为128比特。
采样单元,用于在每个采样时钟周期对待测试功能模块中的待测信号进行数据采样,并将采样得到的数据保存在FPGA临时存储单元中。
采样数据保存单元,用于与SDRAM控制单元配合,从FPGA临时存储单元中将一个采样时钟内得到的数据分批送至SDRAM存储器。
SDRAM控制单元,用于通过SDRAM接口对SDRAM存储器进行数据的读取控制操作。
数据上传单元,用于在采样过程结束后,通过SDRAM控制单元从SDRAM存储器中读取数据,并通过TAP将该数据发送至PC端。
以上单元中涉及数据输入输出的部分需修改FPGA的IO定义文件。
图2是本实施例采用硬件逻辑对IC设计进行验证的方法的流程图,包含如下步骤步骤110标识需要检测的信号,并给定采样时钟和采样深度,生成用于完成对待测信号的采样和数据传输功能的测试代码;目前已存在类似的测试代码生成工具,如IDENTIFY。但是,本发明测试代码中与信号存储和上传相关的部分与其不同,例如已有做法是将采集到的数据先存入FPGA中的FIFO存储区中,而本实施例则将上述FIFO存储区的分配代码变为分配单比特的存储器,又如本实施例需增加SDRAM控制器逻辑部分等。具体需执行的操作可参见上文对信号采样模块功能的详细说明。
步骤120,将待测试的功能代码和上述测试代码一起进行逻辑综合和布线,生成配置文件,并通过JTAG接口下载到FPGA;所谓的逻辑综合即是通过逻辑综合工具将高级语言编写的测试代码和功能代码编译映射成最基本的逻辑单元,如与门、或门、D触发器、存储单元等。所述布线指使用专门的布线工具将这些基本逻辑单元按设计的方式连接起来,生成配置文件。将该配置文件下载到FPGA即是将这些基本逻辑单元组成的逻辑电路固化到FPGA平台中,此时,功能代码对应于FPGA中生成的待测试模块,测试代码对应于FPGA平台中生成的信号采样模块。
步骤130向FPGA中输入激励信号并启动测试过程,对待测信号进行采样,并将采样到的数据存储到外部SDRAM存储器;该步进一步可分为以下步骤A,通过JTAG人机界面向FPGA的待测试模块输入预定的激励信号,并启动测试过程;B,根据需要检测的信号数分配FPGA临时存储单元,大小为一个采样时钟周期内的采样数据的比特数;例如,一个采样时钟周期内有128个单比特的信号需要采集,则FPGA临时存储单元的大小为128比特。
C,在采样时钟沿上对待测试信号进行采样;能同时采样的信号比特数与SDRAM存储器的位宽、SDRAM存储器的速度以及采样时钟的速度有关。具体的关系为信号比特数=SDRAM存储器的位宽×SDRAM存储器的速度/采样时钟的速度。例如,SDRAM存储器的位宽为64比特,SDRAM的速度为96MHZ,采样时钟的速度为12MHz,那么能同时采样的信号比特数就是64×96/12=512。通常能满足应用要求。
D,将同一采样时钟沿上采集到的数据存储到FPGA临时存储单元中;有128个单比特的信号需要采集时,就先将这个时钟周期采到的128比特的数据存储到FPGA临时存储单元中;E,在一个采样时钟周期内,将FPGA临时存储单元中保存的数据分批送至SDRAM存储器保存;其中,将数据保存至SDRAM存储器的批次与SDRAM存储器的接口位宽度有关,例如,在有128比特的采样数据需保存的情况下,如果SDRAM存储器的接口位宽度是32比特,则分4批送到SDRAM中;如果SDRAM存储器的接口位宽度是64比特,就分两批送到SDRAM中。
F,重复步骤C到步骤E,直至采样结束。
采样结束的条件可以是已满足指定的采样深度;用户通过JTAG人机界面强制结束信号采样;或SDRAM存储器空间不足。
步骤140,采样结束后,通过SDRAM控制器读取SDRAM存储器中保存的采样数据并通过TAP上传至PC端进行后续的分析和处理。
在上述实施例的基础上,本发明还可以有其它的变换方式。例如,PC端可以更换为其它的逻辑分析仪,只要具有相应的模块即可。FPGA可以是其它的硬件逻辑,如CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)、EPLD(Erasable Programmable Logic Device,可擦除可编程逻辑器件)等。至于测试工具和硬件逻辑之间的接口,也不局限在JTAG接口,对于PC端,也可以使用USB等其它接口,只是JTAG接口的使用目前更为成熟和方便。
权利要求
1.一种采用硬件逻辑对IC设计进行验证的方法,应用于包括依次相连的逻辑分析仪、硬件逻辑和外部存储器的系统,该方法包含以下步骤(a)标识需要检测的信号,并给定采样时钟和采样深度,生成用于完成对待测信号的采样和数据传输功能的测试代码;(b)将待测试的功能代码和所述测试代码一起进行逻辑综合和布线,生成配置文件,并下载到硬件逻辑;(c)向硬件逻辑输入激励信号并启动测试过程,对待测信号进行采样,将采样到的数据存储到外部存储器,采样结束后再上传到逻辑分析仪;(d)采样结束后,从所述外部存储器读取保存的采样数据,通过与逻辑分析仪的接口上传至逻辑分析仪进行后续的分析和处理。
2.如权利要求1所述的方法,其特征在于所述步骤(b)将配置文件下载到硬件逻辑平台后,所述功能代码对应于硬件逻辑中生成的待测试模块,所述测试代码对应于硬件逻辑中生成的信号采样模块;所述步骤(c)进一步分为以下步骤(c1)通过逻辑分析仪的人机界面向硬件逻辑中的待测试模块输入预定的激励信号,并启动测试过程;(c2)信号采样模块根据需要检测的信号数分配硬件逻辑的临时存储单元,大小为一个采样时钟周期内的采样数据的比特数;(c3)在采样时钟沿上对待测试信号进行采样,能同时采样的信号比特数=外部存储器的位宽×外部存储器的速度/采样时钟的速度;(c4)将同一采样时钟沿上采集到的数据存储到硬件逻辑的临时存储单元中;(c5)在一个采样时钟周期内,将所述临时存储单元中保存的数据分批送至外部存储器保存;(c6)重复步骤(c3)到步骤(c5),直至采样结束。
3.如权利要求1或2所述的方法,其特征在于所述逻辑分析仪和硬件逻辑之间通过联合测试行动组JTAG接口进行通信,且所述逻辑分析仪使用JTAG人机界面。
4.如权利要求1所述的方法,其特征在于所述逻辑分析仪为PC,所述硬件逻辑为现场可编程门阵列,所述外部存储器为同步动态随机存储器。
5.如权利要求1所述的方法,其特征在于所述步骤(c6)中采样结束的条件为以下条件中的一种或任意组合已满足指定的采样深度;用户通过逻辑分析仪的人机界面强制结束信号采样;外部存储器空间不足。
6.一种采用硬件逻辑对IC设计进行验证的系统,包括依次相连的逻辑分析仪和硬件逻辑,其特征在于,还包括与所述硬件逻辑通过接口相连的外部存储器,其中所述逻辑分析仪包括人机界面模块和测试接口,该测试接口与硬件逻辑上的测试访问端口相连,用于逻辑分析仪与硬件逻辑之间的通信;所述人机界面模块用于提供用户输入测试控制命令和信号,并将采集到的数据显示给用户;所述硬件逻辑中包括待测试功能模块、信号采样模块、测试访问端口和外部存储器接口;其中信号采样模块用于在测试过程中对待测信号进行采样,将采样到的数据先存储到外部存储器,采样结束后再从外部存储器读取保存的采样数据,通过测试接口上传至逻辑分析仪。
7.如权利要求6所述的方法,其特征在于信号采样模块进一步包括临时存储区域分配单元、采样单元、采样数据保存单元、外部存储器控制单元和数据上传单元,其中所述临时存储区域分配单元,用于根据待测信号数分配硬件逻辑的临时存储单元,其大小为一个采样时钟周期内的采样数据的比特数;所述采样单元,用于在每个采样时钟周期对待测试功能模块中的待测信号进行数据采样,并将采样得到的数据保存在所述临时存储单元中;所述采样数据保存单元,用于与外部存储器控制单元配合,从所述临时存储单元中将一个采样时钟内得到的数据分批送至外部存储器;所述外部存储器控制单元,用于通过外部存储器接口对外部存储器进行数据的读取控制操作;所述数据上传单元,用于在采样过程结束后,通过外部存储器控制单元从外部存储器中读取数据,并通过测试访问端口将该数据发送至逻辑分析仪。
8.如权利要求6所述的方法,其特征在于所述逻辑分析仪的测试接口为联合测试行动组JTAG接口,且所述逻辑分析仪使用JTAG人机界面。
9.如权利要求6所述的方法,其特征在于所述逻辑分析仪为PC,所述硬件逻辑为现场可编程门阵列。
10.如权利要求6所述的方法,其特征在于所述外部存储器为同步动态随机存储器。
全文摘要
一种采用硬件逻辑对IC设计进行验证的方法,应用于包括依次相连的逻辑分析仪、硬件逻辑和外部存储器的系统,该方法包含以下步骤(a)标识需要检测的信号,并给定采样时钟和采样深度,生成用于完成对待测信号的采样和数据传输功能的测试代码;(b)将待测试的功能代码和所述测试代码一起进行逻辑综合和布线,生成配置文件,并下载到硬件逻辑;(c)向硬件逻辑输入激励信号并启动测试过程,对待测信号进行采样,将采样到的数据存储到外部存储器,采样结束后再上传到逻辑分析仪;(d)采样结束后,从所述外部存储器读取保存的采样数据,通过与逻辑分析仪的接口上传至逻辑分析仪进行后续的分析和处理。
文档编号G06F11/36GK101013394SQ20071006384
公开日2007年8月8日 申请日期2007年2月12日 优先权日2007年2月12日
发明者杨作兴 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1