记忆卡中rtl级的实时硬件测试平台及其测试方法

文档序号:7163885阅读:287来源:国知局
专利名称:记忆卡中rtl级的实时硬件测试平台及其测试方法
技术领域
本发明涉及一种集成电路的实时硬件测试平台及其测试方法,尤其涉及一种记忆卡中RTL级的实时硬件测试平台及其测试方法。
背景技术
在集成电路的正向设计中,从需求到系统划分,到最后设计验证,是一个不断迭代的过程。其中验证过程一般占用整个设计时间的2/3,显然,设计的验证在整个集成电路设计中占有十分重要的地位。既要尽量缩短的产品的开发周期,又要保证所开发产品功能要经过充分测试,这两者是一对矛盾。
在集成电路的前端设计中,一般采用编程语言的形式输入电路图,流行的语言有Verilog HDL,VHDL等。使用硬件编程语言构造好整个电路系统后,然后用EDA软件进行仿真,试图找出设计中的缺陷,若发现系统中某个功能不正确,改写硬件编程语言的代码,再进行仿真。这就是一个设计验证的不断反复过程。
一般来说,现阶段使用的集成电路前端设计验证方法有两种一是人为的观察EDA软件仿真的结果,这种方法效率很低,而且由于设计人员的粗心,极容易忽略设计中存在的错误;二是使用C\C++等语言编写一个跟所要设计的电路相同逻辑功能的程序,然后与Verilog HDL,VHDL等硬件编程语言构造好的电路系统执行相同的指令,所得到结果进行比较,互相可以找出电路和程序中存在的错误,这种方法效率高,是一种广泛采用的方法,但是这种方法也难以避免人为出错的因素,因为程序和电路都是未经过验证的,也有可能错误同在一个地方,这样有可能在产品提供给用户之前都无法找出这个错误。
在记忆卡中RTL级的硬件测试也会遇到同样的问题。

发明内容
本发明需要解决的技术问题是提供了一种记忆卡中RTL级的实时硬件测试平台及其测试方法,旨在解决目前对记忆卡中RTL级的硬件测试中由于人为因素的出错而导致提供给用户之前都无法找出这个错误以及测试效率低下的缺陷。
为了解决上述技术问题,本发明是通过以下技术方案实现的本发明的测试平台包括通用的记忆卡,设计的记忆卡,仿真器,PC机;将N条测试指令一一输入到所述的通用的记忆卡并将对应结果输入到PC机;同样将N条测试指令一一输入到设计的记忆卡,通过Verilog HDL或者VHDL仿真器得到测试结果,并将对应结果输入到PC机;
所述的N条测试指令是指对应于一定的设计的记忆卡所需的测试指令条数;本发明的测试方法是通过以下步骤实现的将N条测试指令一一输入到所述的通用的记忆卡并将对应结果输入到PC机;同样将N条测试指令一一输入到设计的记忆卡,通过Verilog HDL或者VHDL仿真器得到测试结果,并将对应结果输入到PC机;比较两个结果结果相同,表明设计的记忆卡硬件正确或者实时修改设计的记忆卡硬件。
与现有技术相比,本发明的有益效果是由于利用了已有的标准进行测试,减少了设计中人为的出错因素、减少了设计的迭代过程,测试的效率更高。


图1是本发明的方框图;图2是本发明中测试通用的记忆卡或者设计的记忆卡的方框图;图3是本发明的流程图;图4是本发明中N条测试指令中某一条测试指令输入的流程图;图5是本发明中N条测试指令中某一条测试指令定义的波型图;其中通用的记忆卡1,设计的记忆卡2,仿真器3,PC机4,具体实施方式
下面结合附图与具体实施方式
对本发明作进一步详细描述由图1、图2可见本发明的测试平台包括通用的记忆卡1,设计的记忆卡2,仿真器3,PC机4;将N条测试指令一一输入到所述的通用的记忆卡1并将对应结果输入到PC机4;同样将N条测试指令一一输入到设计的记忆卡2,通过Verilog HDL或者VHDL仿真器3得到测试结果,并将对应结果输入到PC机4;所述的N条测试指令是指对应于一定的设计的记忆卡所需的测试指令条数所述的测试指令输入到通用的记忆卡1或者设计的记忆卡2并将结果输出是将基本配置文件和详细测试文件通过通用的记忆卡1或者设计的记忆卡2中时钟信号、复位输入、I/O口输入管脚的输入,再通过I/O口将基本配置文件和详细测试文件所定义的波形图输出。
由图3、图4、图5可见本发明的测试方法是通过以下步骤实现的将N条测试指令一一输入到所述的通用的记忆卡并将对应结果输入到PC机51;同样将N条测试指令一一输入到设计的记忆卡,通过Verilog HDL或者VHDL仿真器得到测试结果,并将对应结果输入到PC机52;比较两个结果结果相同,表明设计的记忆卡硬件正确53或者实时修改设计的记忆卡硬件54。
所述步骤51或者52中测试指令的输入并将结果输出是将基本配置文件和详细测试文件通过通用的记忆卡或者设计的记忆卡中时钟信号、复位输入、I/O口输入管脚的输入,再通过I/O口将基本配置文件和详细测试文件所定义的波形图输出到PC机上。
下面对本发明的原理作如下描述对于通用的记忆卡中RTL电路,根据其功能特点以及各种情况下异常,写出详细的测试方案,包括有几条测试指令;而对于不同的设计的记忆卡,它们的测试指令的条数也不同;这些测试指令及其条数可以从所对应的通用的记忆卡中得到。
因为这个测试方案最终是要转成波形文件输入到现有通用的记忆卡以及所设计的记忆卡中的,所以测试方案还要转成详细的测试文件输入,详细测试文件输入需要指明当前是何指令,地址、数据信息,以及指令输入所需要的时间;输出是一个获取结果的过程,而不必关心时间长短的问题,直至输出数据完毕。如下所示单条指令输入command=6′h0e;当前何指令address=10′h000 ;地址信息data=8′h00 ;数据信息n=0065;需要时间这个详细的测试文件输入到现有通用的记忆卡会返回一个执行结果;输入到所设计的记忆卡也会返回一个结果;这两个结果的形式有可能不一样,有可能是16进制的形式,也有可能是二进制的形式,需要转换成相同的形式方便于比较。如果比较的结果有错误发生,一般错误会发生在设计的记忆卡电路上,返回修改设计。
编写详细的测试文件时,要有一定要求,两边返回的测试结果才能够作比较。一般的要求是写完某一个地址后,可以立即读出该地址数据,这样才能实现结果的比较。
这样可以一边写测试文件,一边测试,一边修改错误,加快设计过程。
现有的通用的记忆卡产品测试方法首先把测试的方案转换成详细的测试文件输入单条指令的输入command=6′h0e ;当前何指令address=10′h000;地址信息data=8′h00 ;数据信息
n=0065;需要时间使用专门的程序处理以上信息,根据以上的信息,控制单片机输出与之对应的波形。在这里波形只跟详细测试文件的输入有关系,跟所运行的软件以及单片机等等其他的东西无关。这一步对于以后测试别的通用的记忆卡很重要,因为不同的卡片不用修改软件不用修改硬件即可以做测试。
其次设计只跟详细测试文件输入有关的波形输出系统用来测试现有通用的记忆卡对于一个芯片来说,它的内部特性都表现在I/O上,如果定义它的输入行为,那么输出特性也就确定下来。
关键是芯片的输入行为有多种形式。一片芯片的输入有指令、有地址、有数据、有模拟量等等信息;也可能是并行输入、串行输入、混合输入;也有可能不同的芯片管脚的定义也不一样。
在通用的记忆卡中,除了VCC与GND之外,它只有3个管脚时钟信号(CLK),复位输入(RST),输入输出(I/O口)。通用的记忆卡主要通过I/O口表现内部特性。I/O口中包含指令、地址、数据信息。
建立一个基本的配置文件,在基本的配置文件中定义一些基本的信息CLKusepin1output;CLK利用单片机1号口输出RSTusepin2output;RST利用单片机2号口输出IO usepin3inout ;IO利用单片机3号口输入输出在基本的配置文件中定义通用的记忆卡的一些行为(此处定义了通用的记忆卡的两个行为指令输入行为和数据输出行为,这两个行为的关键字cmdin、dataout在以下的定义中需要用到)另外可以定义其他的行为,专用程序都可以处理。
cmdin ;指令输入行为dataout ;数据输出行为在基本的配置文件中定义CLK的特性CLK=XXX KHz;CLK的频率RST no CLK ;RST跟CLK无关IO use at posedge CLK;IO输入输出在CLK上升沿有效在基本的配置文件中定义RST的特性
在基本的配置文件中定义IO的特性(它说明了IO在行为cmdin中的特性,IO为串行输入,一共有三项,按照先后顺序和字长大小输入,字长大小在详细的测试文件中定义) 所以在详细的测试文件中可以这样定义一条具体的测试指令 以上的两个文件具体定义了对通用的记忆卡输出的波形;所设计的记忆卡RTL级代码的测试方法类似的,在设计的记忆卡RTL的测试时,也可以根据基本配置文件和详细测试文件输入。生成一个标准的测试基准文件(Test Bench),它也是跟具体的设计的记忆卡无关的。它也定义了设计的记忆卡的外部输入行为,采样设计的记忆卡外部输出行为。
这个标准的测试基准文件(Test Bench)是要Verilog HDL或VHDL仿真器能够编译通过的,只要根据基本配置文件和详细测试文件输入就能够生成这样一个测试基准文件(Test Bench)具体的分析和应用与现有的通用的记忆卡芯片的测试类似。
两者结果的比较验证对于所设计的记忆卡RTL代码的测试返回结果。因为这是VerilogHDL或VHDL仿真器返回的结果,可以在RTL的源代码中任意决定结果的形式,可以是16进制,也可以2进制的形式,不需要太多处理。
对于所设计的记忆卡RTL代码的测试返回结果。因为这是硬件返回的波形结果,需要对结果进行校准。
假定有如下的输出行为 那么系统将在CLK的上升沿采样设计的记忆卡IO的输出65次,得出的结果就是设计的记忆卡执行该指令的结果。这个结果表现为高电平、低电平的形式,输入到PC机中就是二进制数据的形式。如果不转换成16进制形式,可以使用Verilog HDL或VHDL仿真器返回的二进制结果与此结果进行比较。两个结果都会相对应对IO做65次的采样,如果有不同的地方,证明通用的记忆卡与所设计的记忆卡特性不一样,应作进一步检查。
对于市场上已有的通用产品设计,使用的是已有的标准,如果在自己的设计中采用正向的设计方法,可以考虑快速利用已有的标准进行测试,本发明就是利用这一思想,把现有设计跟已有标准进行很好的结合,使设计快速、正确。
本发明相对于现有的技术来说,减少了设计中人为的出错因素、减少了设计的迭代过程。因为设计通用产品时,设计人员很难掌握“通用”的标准。因此,这样设计出来产品通用性更高、设计周期更短。
该发明关键的技术是对于任何通用的记忆卡,只要一次构造好这样的专用硬件、软件系统以后,如果要设计另一种通用的记忆卡,不需要重新更换搭建硬件平台,也不需要重新编写软件,只需要更改测试指令就可以测试它所有的指令以及得到相应的结果,利用这个结果可以与自己设计的记忆卡电路相比较,达到快速验证设计的目的。
权利要求
1.一种记忆卡中RTL级的实时硬件测试平台包括通用的记忆卡(1),设计的记忆卡(2),仿真器(3),PC机(4);将N条测试指令一一输入到所述的通用的记忆卡(1)并将对应结果输入到PC机(4);同样将N条测试指令一一输入到设计的记忆卡(2),通过Verilog HDL或者VHDL仿真器(3)得到测试结果,并将对应结果输入到PC机(4);所述的N条测试指令是指对应于一定的设计的记忆卡所需的测试指令条数。
2.根据权利要求1所述的记忆卡中RTL级的实时硬件测试平台其特征在于所述的测试指令输入到通用的记忆卡(1)或者设计的记忆卡(2)并将结果输出是将基本配置文件和详细测试文件通过通用的记忆卡(1)或者设计的记忆卡(2)中时钟信号、复位输入、I/O口输入管脚的输入,再通过I/O口将基本配置文件和详细测试文件所定义的波形图输出。
3.一种记忆卡中RTL级的实时硬件测试方法是通过以下步骤实现的将N条测试指令一一输入到所述的通用的记忆卡并将对应结果输入到PC机(51);同样将N条测试指令一一输入到设计的记忆卡,通过Verilog HDL或者VHDL仿真器得到测试结果,并将对应结果输入到PC机(52);比较两个结果结果相同,表明设计的记忆卡硬件正确(53)或者实时修改设计的记忆卡硬件(54)。
4.根据权利要求3所述的记忆卡中RTL级的实时硬件测试方法其特征在于所述步骤(51)或者(52)中测试指令的输入并将结果输出是将基本配置文件和详细测试文件通过通用的记忆卡或者设计的记忆卡中时钟信号、复位输入、I/O口输入管脚的输入,再通过I/O口将基本配置文件和详测试文件所定义的波形图输出到PC机上。
全文摘要
本发明涉及记忆卡中RTL级的实时硬件测试平台及其测试方法,本发明的测试平台包括通用的记忆卡(1),设计的记忆卡(2),仿真器(3),PC机(4);将N条测试指令一一输入到所述的通用的记忆卡(1)并将对应结果输入到PC机(4);同样将N条测试指令一一输入到设计的记忆卡(2),通过Verilog HDL或者VHDL仿真器(3)得到测试结果,并将对应结果输入到PC机(4);所述的N条测试指令是指对应于一定的设计的记忆卡所需的测试指令条数;比较两个结果结果相同,表明设计的记忆卡硬件正确或者实时修改设计的记忆卡硬件;本发明的有益效果是由于利用了已有的标准进行测试,减少了设计中人为的出错因素、减少了设计的迭代过程,测试的效率更高。
文档编号H01L21/82GK1567556SQ03129679
公开日2005年1月19日 申请日期2003年7月4日 优先权日2003年7月4日
发明者郭俊, 曹辉, 印义言 申请人:上海华园微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1