CN100383798C - 一种对随机存储器封装文件进行仿真的仿真平台及方法 - Google Patents
一种对随机存储器封装文件进行仿真的仿真平台及方法 Download PDFInfo
- Publication number
- CN100383798C CN100383798C CNB2005100986543A CN200510098654A CN100383798C CN 100383798 C CN100383798 C CN 100383798C CN B2005100986543 A CNB2005100986543 A CN B2005100986543A CN 200510098654 A CN200510098654 A CN 200510098654A CN 100383798 C CN100383798 C CN 100383798C
- Authority
- CN
- China
- Prior art keywords
- signal
- package file
- emulation
- ram package
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种对RAM封装文件进行仿真的仿真平台,包括显示单元、仿真机制选择单元、测试激励产生单元和测试响应分析单元。本发明同时公开了一种对RAM封装文件进行仿真的方法,包括以下步骤:选择仿真机制,产生测试激励信号,根据选择的仿真机制将测试激励信号中的写数据信号转换成RAM封装文件期望的数据信号;将写数据信号写入RAM封装文件,并从与写地址具有相同地址的读地址中读出数据信号;判断读出的数据信号与期望的数据信号是否一致,如果是,则该RAM封装文件功能正确;否则,该RAM封装文件功能不正确。利用本发明,能够减小仿真的工作量,降低人力和时间投入成本,对RAM封装文件进行充分和完备的仿真。
Description
技术领域
本发明涉及通信领域的仿真技术,特别涉及一种对随机存储器(RAM,Random Access Memory)封装文件进行仿真的仿真平台及方法。
背景技术
在可编程专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门列阵(FPGA,Field Programmable Gate Array)和可编程逻辑器件(PLD,Programmable Logic Device)的设计中,需要使用大量的RAM。这些RAM的存储深度和存储数据位宽可能不同,都被保存在综合库中。
在ASIC、FPGA和PLD逻辑代码设计中,设计的RAM代码需要描述RAM名称和对应的输入及输出管脚。为了在综合库更换后能够重复利用设计的RAM代码,减少仿真时间,加快仿真进度,设计的RAM代码与RAM综合库中的RAM并不直接对应,而是通过RAM封装文件与综合库中的RAM间接相对应。
因此,在对整个设计进行仿真的过程中,不但要保证电路逻辑功能的正确性,而且要保证RAM封装文件的正确性,而保证RAM封装文件的正确性就需要对RAM封装文件进行仿真。对RAM封装文件的仿真是项目后期仿真的重点,对RAM封装文件进行仿真的工作效率直接影响项目的进度,对RAM封装文件进行仿真的质量直接影响到项目的成败。
现有技术中对RAM封装文件进行仿真主要采用以下两种技术方案:
方案一:单独对每个RAM封装文件进行仿真。该方案仿真的对象是单个的RAM封装文件。
在该方案中,测试人员需要对每个RAM封装文件分别设计一套仿真环境,利用设计的仿真环境对相应的RAM封装文件单独进行仿真测试。仿真环境产生写操作,向RAM封装文件的某些地址写入数据,并从写入数据的地址回读数据,判断写入和读出的数据是否一致,如果是,则RAM的读写功能正常,RAM封装文件的功能正确;否则,RAM的读写功能不正常,需要修改RAM封装文件,直至RAM的读写功能正常。
方案二:通过对整个设计的逻辑部分的仿真来仿真所有的RAM封装文件。该方案仿真的对象是整个设计的逻辑部分。如图1所示,图1为现有技术方案二中对RAM封装文件进行仿真的方法流程图,该方法包括以下步骤:
步骤101:测试人员将整个设计分为逻辑和RAM两个部分,并完成整个设计中逻辑部分的设计。
步骤102:测试人员编写RAM的行为模型,将编写的RAM的行为模型代替逻辑部分的设计中使用的RAM封装文件。RAM的行为模型是一个简单的行为级的RAM封装文件,用于描述RAM的读写操作。
步骤103:仿真平台根据自身产生的对整个设计进行测试的测试激励信号,对利用RAM的行为模型代替RAM封装文件的整个设计进行仿真,判断对整个设计进行测试的结果与整个设计在测试激励信号下的响应是否一致,如果是,则整个设计的功能正确;否则,修改整个设计,直至整个设计的功能正确为止。
步骤104:测试人员利用RAM封装文件代替RAM的行为模型,再次使用仿真平台产生的对整个设计进行测试的测试激励信号对整个设计进行仿真,判断对整个设计进行测试的结果与整个设计在测试激励信号下的响应是否一致,如果是,则整个设计的功能正确;否则,修改整个设计,直至整个设计的功能正确为止。
在方案二中,仿真平台是为了仿真验证整个设计的正确性而设计的验证平台。该仿真平台产生的激励信号是针对整个设计的激励信号,判断的结果也是针对整个设计的结果。
根据上述方案一可知,由于方案一要求仿真环境与RAM封装文件一一对应,所以方案一存在以下问题:
1、目前的设计一般都有几十个RAM封装文件,测试人员需要设计几十套仿真环境,测试人员进行仿真的工作量巨大,人力投入成本非常高。
2、在设计中RAM代码的增加导致对应RAM封装文件的增加,进而导致对应仿真环境的增加,而在设计的整个阶段RAM封装文件经常有增加或者删减,这样测试人员对RAM仿真环境进行维护的工作量非常巨大和繁琐。
根据上述方案二可知,方案二也存在以下问题:
1、由于测试人员需要对整个设计仿真两次,测试人员的工作量巨大,人力投入成本非常高,还需要花费大量的测试时间,严重影响项目的进度。
2、由于在对RAM封装文件进行仿真之前,必须保证逻辑设计和测试激励信号本身的正确性,所以只能等到逻辑设计部分的仿真工作接近完成时,才能启动对RAM封装文件的仿真,留给对RAM封装文件进行仿真的时间非常有限,不能对RAM封装文件进行充分和完备的仿真。
发明内容
有鉴于此,本发明的一个目的在于提供一种对RAM封装文件进行仿真的仿真平台,以减小仿真的工作量,降低人力和时间投入成本,对RAM封装文件进行充分和完备的仿真。
本发明的另一个目的在于提供一种对RAM封装文件进行仿真的方法,以减小仿真的工作量,降低人力和时间投入成本,对RAM封装文件进行充分和完备的仿真。
为达到上述一个目的,本发明提供了一种对RAM封装文件进行仿真的仿真平台,该仿真平台包括:
显示单元,用于将从仿真平台外部输入的信息输出给仿真机制选择单元,并显示测试响应分析单元输入的信息;
仿真机制选择单元,用于接收显示单元输入的信息,根据接收的信息选择仿真机制,并将选择的仿真机制分别输出给测试激励产生单元和测试响应分析单元;
测试激励产生单元,用于接收仿真机制选择单元输入的仿真机制,产生对各种随机存储器RAM封装文件进行测试的测试激励信号,并将产生的测试激励信号分别输出给RAM封装文件和测试响应分析单元;
测试响应分析单元,用于根据接收自仿真机制选择单元的仿真机制将接收自测试激励产生单元的测试激励信号中的写数据信号转换为RAM封装文件期望的数据信号,从RAM封装文件读出数据信号,判断从RAM封装文件读出的数据信号与期望的数据信号是否一致,并将判断结果输出给显示单元。
上述方案中,所述的测试激励信号至少包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。
为达到上述另一个目的,本发明提供了一种对RAM封装文件进行仿真的方法,该方法包括以下步骤:
A、选择仿真机制,产生与仿真机制对应的测试激励信号,并根据选择的仿真机制将测试激励信号中的写数据信号转换成RAM封装文件期望的数据信号;
B、将测试激励信号中的写数据信号写入RAM封装文件,并从与写地址具有相同地址的读地址中读出数据信号;
C、判断读出的数据信号与期望的数据信号是否一致,如果是,则该RAM封装文件功能正确;否则,该RAM封装文件功能不正确。
上述方案中,所述方法基于包括显示单元、仿真机制选择单元、测试激励产生单元和测试响应分析单元的仿真平台,步骤A中所述的选择仿真机制是仿真平台的仿真机制选择单元根据接收的显示单元输入的信息进行的。
上述方案中,所述选择的仿真机制为当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入时:
步骤A中所述的产生测试激励信号,转换写数据信号包括:
根据选择的仿真机制产生全部有效的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号;根据选择的仿真机制将写数据信号本身作为RAM封装文件期望的数据信号;
所述的步骤B包括:
根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入RAM封装文件;根据产生的读使能信号、读地址信号和时钟信号从与写地址具有相同地址的读地址中读出数据信号;
所述的步骤C包括:
判断读出的数据信号是否为写入RAM封装文件的写数据信号,如果是,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;否则,该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
上述方案中,所述选择的仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为全0时:
步骤A中所述的产生测试激励信号,转换写数据信号包括:
根据选择的仿真机制产生写数据信号、写使能信号、写地址信号、无效的读使能信号、读地址信号和时钟信号;根据选择的仿真机制将写数据信号转换为0;
所述的步骤B包括:
根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入RAM封装文件,根据产生的无效的读使能信号、读地址信号和时钟信号从与写地址具有相同地址的读地址中读出数据信号;
所述的步骤C包括:
判断读出的数据信号是否为0,如果是,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;否则,该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
上述方案中,步骤A所述产生的测试激励信号包括:读地址信号、写地址信号和写数据信号;则所述的产生具体包括:设置两个计数器,并将两个计数器的值分别对RAM封装文件对应的RAM深度进行取余操作,得到的结果分别作为RAM封装文件的读地址信号和写地址信号;再将得到的写地址信号对以2为底、以RAM数据位宽为指数的幂进行取余操作,得到的结果作为RAM封装文件的写数据信号。
因此,本发明提供的这种对RAM封装文件进行仿真的仿真平台及方法,通过配置一个能够根据不同仿真机制产生不同测试激励信号,并根据产生测试激励信号的仿真机制来处理测试激励信号的仿真平台,使测试人员在对RAM封装文件进行仿真的过程中,能够利用该仿真平台实现对所有RAM封装文件进行的仿真。
利用本发明,由于对所有RAM封装文件都采用统一的仿真平台进行仿真,测试人员不必对每个RAM封装文件都编写一个测试环境,也不必对整个设计进行两次仿真,极大地减小了仿真工作的工作量。同时,由于仿真工作量的减小,大幅降低了仿真工作的人力和时间投入成本。由于对RAM封装文件的仿真与对逻辑设计部分的仿真相互独立,不必等到逻辑设计部分的仿真接近完成时才启动对RAM封装文件的仿真,留给对RAM封装文件进行仿真的时间非常充足,能够对RAM封装文件进行充分和完备的仿真。
另外,由于对所有RAM封装文件都采用统一的仿真平台进行仿真,可以在各个项目中实现仿真平台的共享,从而缩短了各个项目的开发周期,降低了各个项目的开发成本。同时,由于对RAM封装文件的仿真与逻辑设计部分相互独立,对RAM封装文件的仿真可以与逻辑设计部分同时进行,因此可以加速项目开发的进度。
附图说明
图1为现有技术方案二中对RAM封装文件进行仿真的方法流程图;
图2为本发明提供的对RAM封装文件进行仿真的仿真平台的结构框图;
图3为本发明提供的对RAM封装文件进行仿真总体技术方案的实现流程图;
图4为本发明第一个实施例中对RAM封装文件进行仿真的方法流程图;
图5为本发明第二个实施例中对RAM封装文件进行仿真的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
本发明的核心内容是:通过配置一个能够根据不同仿真机制产生不同测试激励信号,并根据产生测试激励信号的仿真机制来处理测试激励信号的仿真平台,使测试人员在对RAM封装文件进行仿真的过程中,能够利用该仿真平台实现对所有RAM封装文件进行的仿真。
如图2所示,图2为本发明提供的对RAM封装文件进行仿真的仿真平台的结构框图。该仿真平台包括显示单元201、仿真机制选择单元202、测试激励产生单元203和测试响应分析单元204。
其中,显示单元201用于将从仿真平台外部输入的信息输出给仿真机制选择单元202,并显示测试响应分析单元204输入的信息。该显示单元一般为人机界面,从仿真平台外部输入的信息通常是测试人员根据不同的RAM封装文件输入的、用于控制仿真机制选择单元选择仿真机制的信息。
仿真机制选择单元202用于接收显示单元201输入的信息,根据接收的信息选择仿真机制,并将选择的仿真机制分别输出给测试激励产生单元203和测试响应分析单元204。
仿真机制用来表征RAM的一些具体行为和功能,包括通用仿真机制和特殊仿真机制两种类型。通用仿真机制是所有RAM具有的正常的行为和功能,例如:当写端口的写使能信号有效时对应地址的数据能够正常写入,当读端口的读使能信号有效时对应地址的数据能够正常读出,即当读写端口的读写使能信号有效时,对应地址的数据能够正常读出和写入。
特殊仿真机制是某些或某个RAM具有的非正常行为和功能,但该功能是测试人员期望RAM具有的行为和功能,其类型很多,例如:
1、当读使能信号无效时,RAM封装文件要求从RAM封装文件中读出的数据为上次读出的数据;
2、当读使能信号无效时,RAM封装文件要求从RAM封装文件中读出的数据为全0;
3、当读地址与写地址相同,且读使能信号和写使能信号同时有效时,RAM封装文件要求从RAM封装文件中读出的数据为上次写入的数据;
4、当读地址与写地址相同,且读使能信号和写使能信号同时有效时,RAM封装文件要求从RAM封装文件中读出的数据为正在写入的数据。
测试激励产生单元203用于接收仿真机制选择单元202输入的仿真机制,根据接收的仿真机制产生对各种随机存储器RAM封装文件进行测试的测试激励信号,并将产生的测试激励信号分别输出给RAM封装文件和测试响应分析单元204;
这里,测试激励信号至少包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。测试激励产生单元203将产生的测试激励信号输出给RAM封装文件是根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入RAM封装文件;测试激励产生单元203将产生的测试激励信号输出给测试响应分析单元204,是将产生的写数据信号、读使能信号、读地址信号和时钟信号等测试激励信号输出给测试响应分析单元204。
如果仿真机制选择单元202输入的仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为上次读出的数据,则测试激励产生单元203根据该仿真机制产生写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号,并且其中读使能信号为无效的信号。
如果仿真机制选择单元202输入的仿真机制为当写端口的写使能信号有效时对应地址的数据能够正常写入,当读端口的读使能信号有效时对应地址的数据能够正常读出,则测试激励产生单元203根据该仿真机制产生写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号中,并且上述所有的信号都为有效的信号。
由于测试激励产生单元203产生的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号是根据仿真机制产生的,仿真机制是根据测试人员通过显示单元201输入的信息产生的,所以测试激励产生单元203能够根据不同的仿真机制产生与各种RAM封装文件对应的测试激励信号,即与各种RAM封装文件对应的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等。
测试响应分析单元204用于根据接收自仿真机制选择单元202的仿真机制,将接收自测试激励产生单元203的写数据信号转换为RAM封装文件期望的数据信号,根据接收自测试激励产生单元203的读使能信号、读地址信号和时钟信号从RAM封装文件读出数据信号,并判断从RAM封装文件读出的数据信号与期望的数据信号是否一致,并将判断的结果输出给显示单元201。
测试响应分析单元204在根据接收的仿真机制将接收的写数据信号转换为RAM封装文件期望的数据信号时,如果接收的仿真机制为当写端口的写使能信号有效时对应地址的数据能够正常写入,当读端口的读使能信号有效时对应地址的数据能够正常读出,则测试响应分析单元204将写数据信号本身作为对写数据信号进行处理的结果,即对写数据信号不作任何处理,以验证RAM封装文件的读写功能是否正常;
如果接收的仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为上次读出的数据,则测试响应分析单元204将上次从RAM封装文件中读出的数据作为对写数据信号进行处理的结果,以验证RAM封装文件的读写功能与期望的功能是否一致;
如果接收的仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为全0,则测试响应分析单元204将0作为对写数据信号进行处理的结果,以验证RAM封装文件的读写功能与期望的功能是否一致。
显示单元201接收到测试响应分析单元204输入的判断结果后,将判断结果显示出来。如果显示单元201显示RAM封装文件功能不正确,则需要修改相应的RAM封装文件,直至RAM封装文件的功能正确为止。
为清楚地说明本发明提供的技术方案,以下参照附图,对本发明提供的对RAM封装文件进行仿真的方法进行详细说明。
基于图2所示的仿真平台,如图3所示,图3为本发明提供的对RAM封装文件进行仿真总体技术方案的实现流程图,包括以下步骤:
步骤301:仿真平台选择仿真机制,产生与仿真机制对应的测试激励信号,并根据选择的仿真机制将测试激励信号中的写数据信号转换成RAM封装文件期望的数据信号;
步骤302:将测试激励信号中的写数据信号写入RAM封装文件,并从与写地址具有相同地址的读地址中读出数据信号;
步骤303:判断读出的数据信号与期望的数据信号是否一致,如果是,则该RAM封装文件功能正确;否则,该RAM封装文件功能不正确。
在上述步骤301中,所述的选择仿真机制是仿真平台的仿真机制选择单元根据接收显示单元输入的信息进行的,仿真机制选择单元对不同的RAM封装文件选择不同的仿真机制。
所述的产生与仿真机制对应的测试激励信号,是仿真平台的测试激励产生单元根据仿真机制选择单元输入的仿真机制来产生对各种RAM封装文件进行测试的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号。
在上述步骤302中,所述的将测试激励信号中的写数据信号写入RAM封装文件,是仿真平台的测试激励产生单元根据自身产生的写使能信号、写地址信号和时钟信号等,将自身产生的写数据信号写入对应的RAM封装文件。所述的从与写地址具有相同地址的读地址中读出数据信号,是仿真平台的测试激励产生单元根据自身产生的读使能信号、读地址信号和时钟信号等,从RAM封装文件与写地址具有相同地址的读地址中读出数据信号。
这里,读出的数据信号与写数据信号可能一致,也可能不一致。如果仿真机制为当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入,则读出的数据信号与写数据信号一致,以确定RAM封装文件的读写功能正常;
如果仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为全0,且读出的数据信号为0,则确定RAM封装文件的读写功能与期望的功能一致。
在上述步骤302中,如果读出的数据信号与期望的数据信号一致,则RAM封装文件功能与期望的功能一致,RAM封装文件功能正确;否则,RAM封装文件功能与期望的功能不一致,RAM封装文件功能不正确。
为清楚地说明本发明提供的技术方案,以下结合具体的实施例并参照附图,对本发明提供的对RAM封装文件进行仿真的方法进行详细说明。
如图4所示,图4为本发明第一个实施例中对RAM封装文件进行仿真的方法流程图。在本实施例中,RAM封装文件要求当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入。该方法包括以下步骤:
步骤401:仿真平台的仿真机制选择单元将当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入作为选择的仿真机制,并将选择的仿真机制分别输出给仿真平台的测试激励产生单元和测试分析响应单元。
步骤402:仿真平台的测试激励产生单元接收到仿真机制选择单元输入的仿真机制以后,根据该仿真机制产生全部有效的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号;然后测试激励产生单元将产生的写数据信号、读使能信号、读地址信号和时钟信号等输出给测试分析响应单元,同时根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入该RAM封装文件。
步骤403:仿真平台的测试分析响应单元根据接收自仿真机制选择单元的仿真机制,对接收自测试激励产生单元的写数据信号进行处理,将写数据信号转换为期望的数据信号。这里,由于RAM封装文件期望自身能够正常写入和读出,所以RAM封装文件期望的数据信号即为写数据信号本身。
步骤404:仿真平台的测试分析响应单元根据接收自测试激励产生单元的读使能信号、读地址信号和时钟信号等从该RAM封装文件中读出数据信号,并判断从该RAM封装文件中读出的数据信号是否为测试激励产生单元写入的写数据信号,如果是,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;否则,该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
如图5所示,图5为本发明第二个实施例中对RAM封装文件进行仿真的方法流程图。在本实施例中,RAM封装文件要求当读使能信号无效时从该RAM封装文件中读出的数据为全0。该方法包括以下步骤:
步骤501:仿真平台的仿真机制选择单元将当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为全0作为选择的仿真机制,并将选择的仿真机制分别输出给仿真平台的测试激励产生单元和测试分析响应单元。
步骤502:仿真平台的测试激励产生单元接收到仿真机制选择单元输入的仿真机制以后,根据该仿真机制产生针对该RAM封装文件的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号,其中读使能信号为无效的信号;然后测试激励产生单元将产生的写数据信号、无效的读使能信号、读地址信号和时钟信号等输出给测试分析响应单元,同时根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入该RAM封装文件。
步骤503:仿真平台的测试分析响应单元根据接收自仿真机制选择单元的仿真机制,对接收自测试激励产生单元的写数据信号进行处理,将写数据信号转换为期望的数据信号,即将写数据信号转换为0。
步骤504:仿真平台的测试分析响应单元根据接收自测试激励产生单元的无效读使能信号、读地址信号和时钟信号等从该RAM封装文件中读出数据信号,并判断从该RAM封装文件中读出的数据信号与期望的数据信号是否一致,如果从该RAM封装文件中读出的数据信号为0,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;如果从该RAM封装文件中读出的数据信号不为0,则该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
在上述步骤404和步骤504中,如果该RAM封装文件功能正确,则仿真平台的显示单元将显示该RAM封装文件功能正确信息;如果该RAM封装文件功能不正确,则显示单元将显示该RAM封装文件功能不正确信息,测试人员将修改该RAM封装文件,直至该RAM封装文件功能正确为止。
在本发明所举的第一个实施例中,RAM封装文件要求当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入,仿真机制选择单元选择的仿真机制为当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入,测试分析响应单元根据该仿真机制将接收的写数据信号作为RAM封装文件期望的数据信号,并通过判断从该RAM封装文件中读出的数据信号与写数据信号是否一致来验证该RAM封装文件的功能与期望的功能是否一致。
在本发明所举的第二个实施例中,RAM封装文件要求当读使能信号无效时从该RAM封装文件中读出的数据为全0,仿真机制选择单元选择的仿真机制为当读使能信号无效时从该RAM封装文件中读出的数据为全0,测试分析响应单元根据该仿真机制将接收的写数据信号转换为0,并通过判断从该RAM封装文件中读出的数据信号是否为0来验证该RAM封装文件的功能与期望的功能是否一致。
在实际应用中,仿真机制选择单元也可以选择其他的仿真机制,测试分析响应单元根据选择的仿真机制将接收的写数据信号转换为期望的数据信号,并通过判断从该RAM封装文件中读出的数据信号与转换的期望的数据信号是否一致来验证该RAM封装文件的功能与期望的功能是否一致。这样的技术方案与本发明提供的技术方案是一致的,应包含在本发明的保护范围之内。
在本发明所举的这两个实施例中,对测试激励产生单元如何产生写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号等各种测试激励信号并没有详细阐述。在实际应用中,测试激励产生单元可以根据任意算法来产生能够满足对应RAM封装文件的任意测试激励信号,但为了对不同的RAM封装文件产生不同的测试激励信号,本发明利用以下方式来产生测试激励信号中的读地址信号、写地址信号和写数据信号:
假设有两个计数器,为保证读地址和写地址不超过RAM的深度,将两个计数器值分别对RAM封装文件对应的RAM深度作取余操作,得到的结果分别作为RAM封装文件的读地址信号和写地址信号;为了保证写地址内的数据不超过RAM的数据位宽,将得到的写地址信号再对以2为底、以RAM数据位宽为指数的幂作取余操作,得到的结果作为RAM封装文件的写数据信号。
另外,如果RAM封装文件要求期望的数据信号是由读地址信号按照一定的算法转换而来的,则在满足RAM封装文件要求的情况下,测试响应分析单元也可以根据上述方式,将读地址信号对以2为底、以RAM数据位宽为指数的幂作取余操作,得到的结果作为RAM封装文件期望的数据信号,这样可以保证从读地址内读出的数据不超过RAM的数据位宽。
如果需要对具有同一读写地址的RAM封装文件进行仿真,则将上述两个计数器的初始值设为相同即可。按照上述这种方式,可以对所有RAM封装文件产生测试激励信号,进而遍历所有RAM封装文件的每个地址。
如果还需要遍历RAM的每个BIT位,则可以控制两个计数器的时钟周期跳变一次,这样第一个写时钟周期按上述算法产生测试激励信号,第二个写时钟周期将产生的测试激励信号按BIT取反,作为新的测试激励信号写入,这样可以测试每个BIT写入1和写入0是否都正常。
从上述内容可以看出,本发明提供的这种对RAM封装文件进行仿真的仿真平台及方法,通过配置一个能够根据不同仿真机制产生不同测试激励信号,并根据产生测试激励信号的仿真机制来处理测试激励信号的仿真平台,使测试人员在对RAM封装文件进行仿真的过程中,能够利用该仿真平台实现对所有RAM封装文件进行的仿真。
利用本发明,由于对所有RAM封装文件都采用统一的仿真平台进行仿真,测试人员不必对每个RAM封装文件都编写一个测试环境,也不必对整个设计进行两次仿真,极大地减小了仿真工作的工作量。同时,由于仿真工作量的减小,大幅降低了仿真工作的人力和时间投入成本。由于对RAM封装文件的仿真与对逻辑设计部分的仿真相互独立,不必等到逻辑设计部分的仿真接近完成时才启动对RAM封装文件的仿真,留给对RAM封装文件进行仿真的时间非常充足,能够对RAM封装文件进行充分和完备的仿真。
另外,由于对所有RAM封装文件都采用统一的仿真平台进行仿真,可以在各个项目中实现仿真平台的共享,从而缩短了各个项目的开发周期,降低了各个项目的开发成本。同时,由于对RAM封装文件的仿真与逻辑设计部分相互独立,对RAM封装文件的仿真可以与逻辑设计部分同时进行,因此可以加速项目开发的进度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种对随机存储器封装文件进行仿真的仿真平台,其特征在于,该仿真平台包括:
显示单元,用于将从仿真平台外部输入的信息输出给仿真机制选择单元,并显示测试响应分析单元输入的信息;
仿真机制选择单元,用于接收显示单元输入的信息,根据接收的信息选择仿真机制,并将选择的仿真机制分别输出给测试激励产生单元和测试响应分析单元;
测试激励产生单元,用于接收仿真机制选择单元输入的仿真机制,产生对各种随机存储器RAM封装文件进行测试的测试激励信号,并将产生的测试激励信号分别输出给RAM封装文件和测试响应分析单元;
测试响应分析单元,用于根据接收自仿真机制选择单元的仿真机制将接收自测试激励产生单元的测试激励信号中的写数据信号转换为RAM封装文件期望的数据信号,从RAM封装文件读出数据信号,判断从RAM封装文件读出的数据信号与期望的数据信号是否一致,并将判断结果输出给显示单元。
2.根据权利要求1所述的仿真平台,其特征在于,所述的测试激励信号至少包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。
3.一种对RAM封装文件进行仿真的方法,其特征在于,该方法包括以下步骤:
A、选择仿真机制,产生与仿真机制对应的测试激励信号,并根据选择的仿真机制将测试激励信号中的写数据信号转换成RAM封装文件期望的数据信号;
B、将测试激励信号中的写数据信号写入RAM封装文件,并从与写地址具有相同地址的读地址中读出数据信号;
C、判断读出的数据信号与期望的数据信号是否一致,如果是,则该RAM封装文件功能正确;否则,该RAM封装文件功能不正确。
4.根据权利要求3所述的方法,其特征在于,所述方法基于包括显示单元、仿真机制选择单元、测试激励产生单元和测试响应分析单元的仿真平台,步骤A中所述的选择仿真机制是仿真平台的仿真机制选择单元根据接收的显示单元输入的信息进行的。
5.根据权利要求3所述的方法,其特征在于,所述选择的仿真机制为当读写端口的读写使能信号有效时对应地址的数据能够正常读出和写入时:
步骤A中所述的产生测试激励信号,转换写数据信号包括:
根据选择的仿真机制产生全部有效的写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号;根据选择的仿真机制将写数据信号本身作为RAM封装文件期望的数据信号;
所述的步骤B包括:
根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入RAM封装文件;根据产生的读使能信号、读地址信号和时钟信号从与写地址具有相同地址的读地址中读出数据信号;
所述的步骤C包括:
判断读出的数据信号是否为写入RAM封装文件的写数据信号,如果是,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;否则,该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
6.根据权利要求3所述的方法,其特征在于,所述选择的仿真机制为当读使能信号无效时RAM封装文件要求从RAM封装文件中读出的数据为全0时:
步骤A中所述的产生测试激励信号,转换写数据信号包括:
根据选择的仿真机制产生写数据信号、写使能信号、写地址信号、无效的读使能信号、读地址信号和时钟信号;根据选择的仿真机制将写数据信号转换为0;
所述的步骤B包括:
根据产生的写使能信号、写地址信号和时钟信号将产生的写数据信号写入RAM封装文件,根据产生的无效的读使能信号、读地址信号和时钟信号从与写地址具有相同地址的读地址中读出数据信号;
所述的步骤C包括:
判断读出的数据信号是否为0,如果是,则该RAM封装文件功能与期望的功能一致,该RAM封装文件功能正确;否则,该RAM封装文件功能与期望的功能不一致,该RAM封装文件功能不正确。
7.根据权利要求3所述的方法,其特征在于,步骤A所述产生的测试激励信号包括:读地址信号、写地址信号和写数据信号;则所述的产生具体包括:
设置两个计数器,并将两个计数器的值分别对RAM封装文件对应的RAM深度进行取余操作,得到的结果分别作为RAM封装文件的读地址信号和写地址信号;再将得到的写地址信号对以2为底、以RAM数据位宽为指数的幂进行取余操作,得到的结果作为RAM封装文件的写数据信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100986543A CN100383798C (zh) | 2005-09-07 | 2005-09-07 | 一种对随机存储器封装文件进行仿真的仿真平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100986543A CN100383798C (zh) | 2005-09-07 | 2005-09-07 | 一种对随机存储器封装文件进行仿真的仿真平台及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1851716A CN1851716A (zh) | 2006-10-25 |
CN100383798C true CN100383798C (zh) | 2008-04-23 |
Family
ID=37133195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100986543A Expired - Fee Related CN100383798C (zh) | 2005-09-07 | 2005-09-07 | 一种对随机存储器封装文件进行仿真的仿真平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100383798C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426503B (zh) * | 2017-07-21 | 2022-05-31 | 华为技术有限公司 | 提供仿真激励的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0434624A (ja) * | 1990-05-30 | 1992-02-05 | Hitachi Ltd | パリティデータ初期条件設定装置 |
US5737578A (en) * | 1994-11-18 | 1998-04-07 | International Business Machines Corp. | Apparatus and method for partitioning multiport rams |
CN1482661A (zh) * | 2002-09-11 | 2004-03-17 | 华为技术有限公司 | 通用数字电路仿真测试系统及测试方法 |
CN1573695A (zh) * | 2003-01-23 | 2005-02-02 | 快速转动设计系统公司 | 用于硬件仿真器的存储器反绕和重构 |
-
2005
- 2005-09-07 CN CNB2005100986543A patent/CN100383798C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0434624A (ja) * | 1990-05-30 | 1992-02-05 | Hitachi Ltd | パリティデータ初期条件設定装置 |
US5737578A (en) * | 1994-11-18 | 1998-04-07 | International Business Machines Corp. | Apparatus and method for partitioning multiport rams |
CN1482661A (zh) * | 2002-09-11 | 2004-03-17 | 华为技术有限公司 | 通用数字电路仿真测试系统及测试方法 |
CN1573695A (zh) * | 2003-01-23 | 2005-02-02 | 快速转动设计系统公司 | 用于硬件仿真器的存储器反绕和重构 |
Also Published As
Publication number | Publication date |
---|---|
CN1851716A (zh) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133537B (zh) | 一种fpga功能模块仿真验证方法及其系统 | |
JP2699377B2 (ja) | ハードウエア論理シミユレータ | |
US5517432A (en) | Finite state machine transition analyzer | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN104408264B (zh) | 一种基于断言的嵌入式存储控制器验证系统及方法 | |
CN111428431B (zh) | 一种支持eda软件的自动化测试并记录的方法及系统 | |
CN108984393A (zh) | 一种单元测试代码自动生成方法及装置 | |
CN111930617A (zh) | 基于数据对象化的自动化测试方法及装置 | |
CN101131875A (zh) | 一种寄存器测试的方法和系统 | |
CN103870383A (zh) | 基于jvm的测试覆盖率统计方法及系统 | |
US6170078B1 (en) | Fault simulation using dynamically alterable behavioral models | |
CN105654993A (zh) | 用于ddr3 sdram控制器的功能验证方法及平台 | |
CN111723020A (zh) | 一种电能表测试软件的测试方法、装置及其设备 | |
CN109256173A (zh) | 机载存储设备测试系统 | |
US8700380B2 (en) | Method for generating performance evaluation model | |
CN100383798C (zh) | 一种对随机存储器封装文件进行仿真的仿真平台及方法 | |
CN101158919A (zh) | 一种数据驱动的单元测试方法 | |
US6131079A (en) | Method and device for automatic simulation verification | |
CN108205596B (zh) | 实现核电厂严重事故分析计算程序仿真功能的方法 | |
CN115525555A (zh) | 测试脚本的生成方法、装置、电子设备及存储介质 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN104679963A (zh) | 一种基于tcl的仿真验证装置和方法 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN113868046A (zh) | 一种pad控制单元的功能验证方法、系统及相关组件 | |
CN112463633A (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080423 Termination date: 20150907 |
|
EXPY | Termination of patent right or utility model |