CN1667428A - 一种利用仿真源数据进行专用集成电路验证的装置和方法 - Google Patents
一种利用仿真源数据进行专用集成电路验证的装置和方法 Download PDFInfo
- Publication number
- CN1667428A CN1667428A CN 200410008446 CN200410008446A CN1667428A CN 1667428 A CN1667428 A CN 1667428A CN 200410008446 CN200410008446 CN 200410008446 CN 200410008446 A CN200410008446 A CN 200410008446A CN 1667428 A CN1667428 A CN 1667428A
- Authority
- CN
- China
- Prior art keywords
- data
- asic
- emulation
- source data
- expected
- 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.)
- Granted
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种利用仿真源数据进行专用集成电路(ASIC)验证的装置,该装置包括,比较模块,用于存储符合3GPP协议的仿真源数据和期望数据,输出仿真源数据至接口模块,配置算法信息并发送控制指令至ASIC数据处理部件,从接口模块读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证;ASIC数据处理部件,用于对仿真源数据进行扩频***算法处理输出结果数据;接口模块,用于控制比较模块和ASIC数据处理部件之间的数据传输。本发明还公开了一种利用仿真源数据进行ASIC验证的方法,采用该装置和方法能够对ASIC芯片所采用的扩频***算法进行验证,并可做到结果数据与期望数据的比特比较,从而用简单可行的方法对ASIC芯片实现的算法功能进行精确验证。
Description
技术领域
本发明涉及一种专用集成电路(ASIC)功能验证技术,特别涉及一种利用仿真源数据进行ASIC功能验证的装置和方法。
背景技术
目前,在宽带码分多址(WCDMA)扩频通信***中,ASIC芯片作为扩频***核心算法技术的实现方式,不但其设计存在较大难度,ASIC芯片实现算法其本身比较复杂,实际应用环境比较多样,并且WCDMA***中的ASIC芯片在业界属于重大技术难点。因而,其验证方法和思路的相关资料信息很难获得。如何构造一种高效可行的验证装置和方法对ASIC芯片实现的扩频***算法功能进行验证,具有相当的难度和独创性。
通常,业界会采用WCDMA信号发生仪器作为信号源,对WCDMA***中的ASIC芯片实现的算法进行验证。图1为现有技术的ASIC验证装置组成结构示意图。如图1所示,采用WCDMA信号发生仪器作为信号源的验证方法需要在实际的硬件环境中进行。其具体方法就是:将WCDMA信号发生仪器101接到需进行ASIC芯片算法验证的基带/中频/射频通道102上;然后将通道102输出的数据输入ASIC数据处理部件103进行处理;最后,直接对ASIC数据处理部件103输出的结果进行分析。其中,ASIC数据处理部件103包括两个主要部分:ASIC芯片104和数字信号处理器(DSP)105。ASIC芯片104主要完成扩频***算法处理;DSP105主要完成处理过程中对ASIC芯片104的各种资源配置和控制。
但由于ASIC数据处理部件输出的数据很多情况下是多比特(BIT)并行输出。如果直接对输出结果进行比较,只能取其符号位通过比较器进行比较或设置译码模块进行误块率(BLER)判断。这种分析只是对实际的结果数据和期望数据的大概比较。因而,这种验证方法的最大弊端在于,运用仪器只能对ASIC芯片中所配置算法的大概功能进行验证。此种方法无法做到对ASIC数据处理部件输出的结果数据与仿真环境输出的期望数据进行按BIT的比较验证,因此无法对ASIC芯片实现的扩频***算法功能做出精确评价。这样,可能会导致芯片的重大问题被隐藏。此外,虽然此种方法可以尽量模拟实际环境,但构造实际信道环境还需要购买价格昂贵的仪器,验证成本太高。而且,增加译码模块进行BLER判断,也大大增加了的结果分析的复杂度。因此,现有的验证方案不是一种简单可行的办法。
发明内容
有鉴于此,本发明的主要目的在于提供一种利用仿真源数据进行ASIC验证的装置,可将ASIC数据处理部件输出的结果数据与仿真环境输出的期望数据按BIT比较,并可大大降低验证成本,进而能够采用简单的验证装置对ASIC芯片实现的扩频***算法功能进行精确验证。
本发明的另一目的在于提供一种利用仿真源数据进行ASIC验证的方法,可在简单的验证环境下对ASIC数据处理部件输出的结果数据进行输入输出控制,使结果数据与仿真环境输出的期望数据按BIT比较,从而能够用简单可行的方法对ASIC芯片实现的扩频***算法功能进行精确验证。
本发明公开了一种利用仿真源数据进行ASIC验证的装置,包括:
比较模块,用于存储符合3GPP协议的仿真源数据和期望数据,输出仿真源数据至接口模块,配置算法信息并发送控制指令至ASIC数据处理部件,从接口模块读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证;
ASIC数据处理部件,用于接收控制指令,对输入的仿真源数据进行扩频***算法处理并输出结果数据;
接口模块,用于接收仿真源数据并输出至ASIC数据处理部件,从ASIC数据处理部件接收并输出结果数据。
其中,所述比较模块包括,
个人电脑(PC),用于存储并输出符合3GPP协议的仿真源数据和期望数据;
中央处理器(CPU),用于配置算法信息并发送控制指令至ASIC数据处理部件,从PC读取并存储期望数据,从PC读取仿真源数据并输出至接口模块,从接口模块读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证。
其中,所述比较模块包括,
PC,用于存储符合3GPP协议的仿真源数据和期望数据,输出仿真源数据至CPU,读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证;
CPU,用于配置算法信息并发送控制指令至ASIC数据处理部件,读取仿真源数据并输出至接口模块,从接口模块读取并输出结果数据至PC。
该装置还包括,
输入缓存器(RAMIN),用于从接口模块接收并缓存仿真源数据,将仿真源数据输出至接口模块;
输出缓存器(RAMOUT),用于从接口模块接收并缓存结果数据,将结果数据输出至接口模块。
其中,所述CPU、ASIC数据处理部件、接口模块、RAMIN和RAMOUT集成在一块验证单板上。
上述方案中,所述接口模块为可编程逻辑器件。
本发明还公开了一种利用仿真源数据进行ASIC验证的方法,应用于包括PC、ASIC数据处理部件和CPU的验证装置中,主要处理步骤为:
1)ASIC数据处理部件未完成算法处理之前循环接收仿真工具生成的一段仿真源数据,对所接收的仿真源数据进行扩频***算法处理得到相应的结果数据,同时,仿真工具对其所生成的仿真源数据进行ASIC数据处理部件所实现的扩频***算法处理得到相应的期望数据;
2)将步骤1)所述期望数据和结果数据按BIT比较,得到验证结果。
其中,步骤1)为仿真工具对仿真源数据进行算法处理得到全部期望数据,ASIC数据处理部件接收仿真源数据进行算法处理得到部分结果数据;步骤2)为将当前得到部分结果数据的仿真源数据进行当前得到部分结果数据的算法处理所得到的部分期望数据,与当前得到的部分结果数据按BIT比较,再判断ASIC数据处理部件是否得到全部结果数据,如果是,则结束验证;否则,ASIC数据处理部件接收仿真源数据进行算法处理得到部分结果数据,再转入步骤2)。
其中,步骤1)为仿真工具和ASIC数据处理部件分别接收仿真源数据进行算法处理,并分别得到全部期望数据和全部结果数据;步骤2)为将全部期望数据和全部结果数据按BIT比较,结束验证。
其中,步骤1)为ASIC数据处理部件接收仿真源数据进行算法处理得到全部结果数据,仿真工具对仿真源数据进行算法处理得到部分期望数据,步骤2)为将当前得到部分期望数据的仿真源数据进行当前得到部分期望数据的算法处理所得到的部分结果数据,与当前得到的部分期望数据按BIT比较,再判断仿真工具是否得到全部期望数据,如果是,则结束验证;否则,仿真工具对仿真源数据进行算法处理得到部分期望数据,再转入步骤2)。
步骤1)中,ASIC数据处理部件接收仿真源数据之前,进一步包括,PC将仿真工具生成的一段符合3GPP协议的仿真源数据存储在硬盘或内存中。
步骤1)中,ASIC数据处理部件接收仿真源数据进行算法处理得到结果数据之后,进一步包括,ASIC数据处理部件将结果数据送入CPU。
步骤1)中,仿真工具对仿真源数据进行算法处理得到期望数据之后,进一步包括,PC将期望数据存储在硬盘或内存中。
步骤1)中,ASIC数据处理部件将结果数据送入CPU之后,进一步包括,PC从CPU读取结果数据并存储在硬盘或内存中;步骤2)为PC从硬盘或内存读取结果数据和期望数据按BIT比较。
步骤1)中,PC将期望数据存储在硬盘或内存中之后,进一步包括,CPU从PC读取并存储期望数据;步骤2)为CPU读取期望数据和结果数据按BIT比较。
由上述方案可以看出,本发明所提供的一种利用仿真源数据进行ASIC验证的装置和方法,所带来的有益效果为:
1)本发明中,PC内存储了一段符合3GPP协议的仿真源数据,并设置了一个RAMIN将此段仿真源数据缓存起来。进行验证时,接口模块能够循环读取RAMIN中的数据来模拟信道环境中数据连续不断的发送。这样,保证了输入ASIC芯片的仿真源数据能够全面覆盖扩频***算法功能点。
2)由于在本发明装置工作时,CPU还有很多除传输结果数据以外的其它进程需要处理,它不能持续不断地接收结果数据,从而CPU上的数据传输是不均匀的。因此,本发明设置了一个RAMOUT对结果数据进行缓存,由接口模块先将ASIC数据处理部件输出的结果数据存入RAMOUT,再由接口模块将RAMOUT内所存的结果数据送入CPU。因此,本发明能够使结果数据均匀完整地通过接口模块送入CPU。
3)接口模块连接并控制CPU、ASIC数据处理部件、RAMIN和RAMOUT之间数据的相互传输,使数据的传输和处理完整、有序、均匀,从而保证的验证的准确性。
4)根据以上的描述可知,CPU可以完整有序地接收结果数据,并将接收到的结果数据或者进行保存或者输入PC存入其硬盘或内存中,因此CPU或PC能够读取结果数据与期望数据进行按BIT的比较验证。
5)本发明不必耗费大量资金和物料成本来购买价格昂贵的仪器并搭建包括中频和射频通道这样一个实际信道环境,整个验证环境只需一块验证单板和一台PC。因此,本发明也提供了一种最为经济和简单易行的验证方案。
综上所述,本发明所提供的一种利用仿真源数据进行ASIC验证的装置和方法,大大降低了构造验证环境的成本,能够使用覆盖扩频***算法功能点的仿真源数据,快速、灵活地对ASIC中配置的扩频***算法进行按BIT的比较验证,从而能够用最简单可行的方法对ASIC实现的算法功能进行精确验证。
附图说明
图1为现有技术ASIC验证装置的组成结构示意图;
图2为本发明利用仿真源数据进行ASIC验证的装置一较佳实施例的组成结构示意图;
图3为本发明利用仿真源数据进行ASIC验证的方法一较佳实施例的流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明所提供的一种利用仿真源数据进行ASIC验证的装置包括以下几个部分:比较模块、接口模块和ASIC数据处理部件。其中,比较模块可由PC和CPU来实现;接口模块可以由可编程逻辑器件FPGA、EPLD或CPLD来实现。由于PC内仅存了一段仿真源数据,为了尽量模拟实际信道环境下数据的连续不断发送,使仿真源数据可以覆盖ASIC数据处理部件所采用的扩频***算法的所有功能点,本发明装置进一步包括用于缓存仿真源数据的RAMIN,接口模块可以循环连续不断地从RAMIN读取仿真源数据并送入ASIC数据处理部件;同时RAMIN对仿真源数据的缓存使仿真源数据能够均匀地输入ASIC数据处理部件进行算法处理,从而也保证了验证的准确性。
另外,在CPU通过接口模块读取结果数据时,由于CPU要同时处理很多除读取结果数据以外的其它进程,不能持续均匀的传输结果数据,因此本发明装置还进一步包括用于缓存结果数据的RAMOUT使结果数据完整均匀地输入CPU,进而保证了验证的准确性。这里,所述ASIC数据处理部件采用的扩频***算法为,在验证之前根据验证需求在ASIC数据处理部件中所配置的扩频***算法,ASIC数据处理部件可以同时采用扩频***中的一种或几种算法,以下所述算法就是指ASIC数据处理部件所采用的某一种或几种扩频***算法。下述本发明装置的实施例中,以FPGA实现接口模块功能为例,这里,将此接口模块称为接口FPGA。
由于本发明目的在于对ASIC芯片所实现的扩频***算法功能进行验证,所以假设以下实施例中,所述的除ASIC数据处理部件中ASIC芯片以外的部分,即:PC、接口FPGA、CPU、ASIC数据处理部件中DSP、RAMIN和RAMOUT均工作正常。也就是说,对于结果数据的比较分析不考虑ASIC芯片外部因素的影响,即验证结果所证明的是ASIC芯片内部扩频***算法功能实现的情况。
图2为本发明利用***仿真源数据进行ASIC验证的装置一较佳实施例的组成结构示意图。该装置包括以下几个部分:PC201、CPU202、RAMIN203、接口FPGA204、ASIC数据处理部件205和RAMOUT206。其中,ASIC数据处理部件205与现有技术中如图1所示的ASIC数据处理部件103一样,包括两个部分:ASIC芯片207和DSP208。这里,CPU202、RAMIN203、接口FPGA204、ASIC数据处理部件205和RAMOUT206可集成在一块验证单板209上。
其中,PC201用于存储一段仿真工具生成的符合3GPP协议的数据作为ASIC芯片验证的仿真源数据,存储ASIC数据处理部件205扩频***算法处理后的结果数据,存储仿真工具进行ASIC数据处理部件205所采用的扩频***算法处理后的期望数据,并按BIT比较结果数据和期望数据是否一致得出验证结果;CPU202,用于为ASIC数据处理部件205配置算法信息并发送控制指令至ASIC数据处理部件205中的DSP208,实时从DSP208读取ASIC芯片207的配置信息,从PC201网口读取PC201内存储的仿真源数据并输出至接口FPGA204,从接口FPGA204读取结果数据并输出至PC201网口;RAMIN203,用于从接口FPGA204接收并输出仿真源数据;ASIC数据处理部件205,用于对输入的仿真源数据进行扩频***算法处理并输出结果数据,该ASIC数据处理部件205包括DSP208和ASIC芯片207,其中,DSP208用于发送控制指令至接口FPGA204,启动FPGA204开始工作,ASIC芯片207用于从接口FPGA204接收仿真源数据并输出结果数据至接口FPGA204;RAMOUT206,用于缓存并输出结果数据。接口FPGA204控制CPU202、RAMIN203、ASIC数据处理部件205和RAMOUT206之间的数据传输来保证数据传输的完整有序,用于从CPU202接收仿真源数据并发送至RAMIN203,从RAMIN203接收仿真源数据并发送至ASIC数据处理部件205,从ASIC数据处理部件205接收结果数据并发送至RAMOUT206,从RAMOUT206读取结果数据并输出至CPU202。
这里,结果数据和期望数据的比较验证也可以在CPU202中进行,这种情况下,该装置中的PC201主要用来存储并输出仿真源数据,存储期望数据并输出至CPU202;该装置中的CPU202则用来为ASIC数据处理部件205配置算法信息,并发送控制指令至ASIC数据处理部件205中的DSP208,实时从DSP208读取ASIC芯片207的配置信息,从PC201网口读取PC201内存储的仿真源数据并输出至接口FPGA204,并且,从PC201网口读取并存储期望数据,从接口FPGA204读取并保存结果数据,CPU202还负责读取结果数据和期望数据按BIT进行比较验证。
由于PC201中只存储了一段符合3GPP协议的仿真源数据,如果CPU202从PC201读取仿真源数据,并仅发送一次此段数据至接口FPGA204进行验证,不能够保证仿真源数据全面覆盖扩频***算法功能点;并且,即使CPU202从PC201循环读取仿真源数据发送至接口FPGA204,由于CPU202在传输仿真源数据时,还要同时处理除传输仿真源数据以外的其它进程,不能持续不断传输仿真源数据,因此也就不能模拟实际信道环境下数据的连续发送,故此设置了RAMIN203对仿真源数据进行缓存。在验证时,先将此段仿真源数据存入RAMIN203,当RAMIN203被写满或此段仿真源数据已全部发送至RAMIN203时,再由接口FPGA204读取RAMIN203中的仿真源数据送入ASIC数据处理部件205进行算法处理。如果RAMIN203中的仿真源数据不能够满足ASIC数据处理部件205中算法处理的需求,即接口FPGA204已经将RAMIN203中的仿真源数据全部发送至ASIC数据处理部件205后,ASIC数据处理部件205还没有完成算法处理得到全部结果数据,接口FPGA204将循环读取RAMIN203中的仿真源数据发送至ASIC数据处理部件205进行处理,直到ASIC数据处理部件205完成算法处理得到全部结果数据。这样,能够模拟数据连续不断发送的信道环境,从而保证输入ASIC数据处理部件205的仿真源数据能够覆盖扩频***算法功能点,并全面地对ASIC数据处理部件205的稳定性和准确性做出评价。
另外,CPU202中有很多除传输仿真源数据或结果数据之外的其它进程需要处理,不能保证持续通过接口FPGA204向ASIC数据处理部件205输出仿真源数据或从ASIC数据处理部件205读取结果数据,因此CPU202中的数据传输是不均匀的,并且有时CPU202输出仿真源数据的速度会大于ASIC数据处理部件205的接收数据速度,或CPU202接收结果数据的速度会小于ASIC数据处理部件205输出结果数据的速度。如果直接将仿真源数据从CPU202通过接口FPGA204传入ASIC数据处理部件205,或直接将ASIC数据处理部件205输出的结果数据通过接口FPGA204送入CPU202,均有可能出现数据传输不均匀,甚至数据丢失的现象。因此,设置了RAMIN203和RAMOUT206分别对仿真源数据和结果数据进行缓存,ASIC数据处理部件205通过接口FPGA204从RAMIN203均匀读取仿真源数据,CPU202也通过接口FPGA204从RAMOUT206均匀读取结果数据。这样使仿真源数据和结果数据均匀完整地被处理,保证了验证的准确性。
由于,设置了RAMIN203和RAMOUT205对数据进行缓存,并由接口FPGA204对数据的传输进行控制,因此结果数据均匀、完整、有序地通过CPU202,或者被存入PC201的硬盘或内存中,或者被存入CPU202,从而PC201或者CPU202可以读取其所存储的期望数据和结果数据进行按BIT比较。
其中,对RAMOUT读写控制方式会有多种。例如:当RAMOUT被写满时,再将结果数据读出;对RAMOUT写入数据的同时,也将数据读出;或者将RAMOUT分成两个区域,在其中一个区域写入数据的同时,也从另一个区域读取数据等等方式。所述本发明装置和方法的实施例所采用的RAMOUT读写控制方式为:当RAMOUT被写满时,再将数据读出。由于本发明涉及验证技术,RAMOUT的读写控制方式不是本发明重点,因此其它控制方式在此不做详述。
本发明利用仿真源数据进行ASIC验证的装置,其工作原理如下:
首先,CPU202根据当前扩频***算法验证需求为ASIC数据处理部件205配置算法信息,并发送包含所述算法信息的控制指令至DSP208,启动ASIC数据处理部件205工作,然后DSP208再向接口FPGA204发送控制指令,启动接口FPGA204工作。
接口FPGA204被启动后,先向CPU202发出中断请求,CPU202响应中断请求从PC201的硬盘或内存读取仿真源数据并输出至接口FPGA204。
然后,接口FPGA204持续将接收到的仿真源数据送入RAMIN203进行缓存,直至RAMIN203被存满或PC201中的仿真源数据已全部发送至RAMIN203中。接口FPGA204再从RAMIN203循环读取仿真源数据并输出至ASIC芯片207,由ASIC数据处理部件205进行扩频***算法处理。其中,ASIC数据处理部件205进行算法处理时,由ASIC芯片207实现扩频***算法功能,由DSP208为ASIC芯片207提供算法配置和控制。
当接口FPGA204接收到ASIC芯片207输出的数据时,表明ASIC数据处理部件205开始有结果数据输出,此时ASIC芯片207会自动将结果数据输入接口FPGA204。接口FPGA204再将接收到的结果数据存入RAMOUT206。这里,接口FPGA204持续将结果数据写入RAMOUT206,直到RAMOUT206已被写满或ASIC芯片207没有数据输出。这里所述的ASIC芯片207没有数据输出表明ASIC数据处理部件205的数据处理结束。
当RAMOUT206已被写满或ASIC芯片207没有数据输出时,接口FPGA204从RAMOUT206读取结果数据并向CPU202发出中断请求,CPU202响应中断请求从接口FPGA204读取结果数据送入PC201,然后PC201将结果数据存储在硬盘或内存中。PC201同时也在硬盘或内存中存储了仿真工具扩频***算法处理后的期望数据。最后,PC201读取其所存储的结果数据和期望数据进行按BIT的比较,比较两个数据是否一致,得到验证结果。
这里,如果比较验证在CPU202中进行,则CPU202响应接口FPGA204的中断请求从接口FPGA204读取并存储结果数据;PC201同时也在硬盘或内存中存储了仿真工具扩频***算法处理后的期望数据并发送至CPU202,由CPU202对期望数据进行保存;最后,CPU202读取其所存储的结果数据和期望数据进行按BIT的比较,得到验证结果。
这里,在ASIC数据处理部件205进行算法处理时,CPU202将实时地从DSP208读取ASIC芯片207中算法处理的配置信息,便于定位验证中出现的问题。
上述方案中,所述仿真工具可以为COSSAP或SPW。
基于上述装置,本发明利用仿真源数据进行ASIC验证的方法,如图3所示,包括以下步骤:
步骤300:仿真工具生成一段符合3GPP协议的仿真源数据,并将其存储在PC的硬盘或内存中。
步骤301:接口模块通过CPU从PC读取仿真源数据并存入RAMIN。
步骤302:接口模块判断RAMIN是否被写满或已将PC内全部仿真源数据送入RAMIN,如果是,转入步骤303;如果不是,则返回步骤301,继续向RAMIN写入仿真源数据。
步骤303:接口模块从头读取RAMIN中的仿真源数据。
步骤304:接口模块依次从RAMIN读取仿真源数据,并将当前读取的仿真源数据送入ASIC数据处理部件,ASIC数据处理部件再对输入的仿真源数据进行扩频***算法处理。
步骤305:接口模块判断ASIC数据处理部件是否有数据输出,如果有,表明已有部分仿真源数据被处理成为结果数据,转入步骤306;如果没有,表明还没有仿真源数据被处理成为结果数据,则返回步骤305进行等待。
步骤306:接口模块将接收到的ASIC数据处理部件输出的结果数据写入RAMOUT。这里,ASIC数据处理部件有结果数据产生时,会自动将结果数据输出至接口模块,接口模块有一定的缓存空间,可以在将结果数据写入RAMOUT之前缓存结果数据,因此不会造成数据丢失。
步骤307:接口模块判断RAMOUT是否被写满,如果是,表明RAMOUT已被写满,需要将RAMOUT内的结果数据读出,因此转入步骤309;如果不是,表明RAMOUT内还有空间,可以继续存入结果数据,则转入步骤308。
步骤308:接口模块判断ASIC数据处理部件是否有数据输出,如果有,表明在步骤307中判断RAMOUT未被写满且还有结果数据在输出,应继续向RAMOUT写入结果数据,因此转入步骤306;如果没有,表明虽然在步骤307中RAMOUT未被写满,但此部分数据处理已经结束,需要将RAMOUT内的结果数据读出,则转入步骤309。
步骤309:接口模块从RAMOUT读取结果数据,再将其送入CPU;PC从CPU读取结果数据,并将其存储在硬盘或内存中。这里,如果比较验证在CPU中进行,则步骤309为:接口模块从RAMOUT读取结果数据并输出,CPU读取并存储结果数据。
步骤310:接口模块判断ASIC数据处理部件是否有数据输出,如果有,表明虽然在步骤307中判断RAMOUT被写满,但还有结果数据在输出,需要继续将结果数据缓存在RAMOUT内,因此返回步骤306;如果没有,表明此部分数据处理结束,则转入步骤311。
步骤311:接口模块判断ASIC数据处理部件是否已得到全部结果数据,如果是,则转入步骤313;否则,转入步骤312。这里,ASIC数据处理部件得到全部结果数据时,会向接口模块发出表示算法处理结束得到全部结果数据的信号。
步骤312:接口模块判断ASIC数据处理部件是否已将RAMIN中的仿真源数据完全接收,如果是,表明接口模块已将RAMIN中所存的一段仿真源数据从头到尾发送给ASIC数据处理部件进行处理,由于在步骤311判断算法处理还未结束,因此需要循环将RAMIN中的仿真源数据发送到ASIC数据处理部件进行算法处理,即接口模块应从头读取RAMIN中的仿真源数据发送至ASIC数据处理部件,则返回步骤303;否则,表明接口模块还未将RAMIN中所存的一段仿真源数据全部发送给ASIC数据处理部件进行处理,由于在步骤311判断算法处理还未结束,因此继续依次将RAMIN中的仿真源数据发送到ASIC数据处理部件进行算法处理,则返回步骤304。
步骤313:仿真工具对其所生成的仿真源数据进行ASIC数据处理部件所采用的扩频***算法的仿真处理生成期望数据,并将期望数据存储在PC的硬盘或内存中。同样如上所述ASIC数据处理部件的算法处理一样,如果此段仿真源数据不能够满足算法处理的需要,即仿真工具已对全部仿真源数据进行处理,但仿真工具的算法处理还没结束,还未得到全部期望数据,此时仿真工具也将循环对此段仿真源数据进行处理,直到仿真工具的算法处理结束并得到全部期望数据。这里,如果比较验证在CPU中进行,则步骤313中期望数据存储在PC的硬盘或内存中之后,进一步包括,CPU从PC读取并保存期望数据。
步骤314:PC从硬盘或内存读取期望数据和结果数据,按BIT比较两个数据是否一致,得到验证结果。这里,如果比较验证在CPU中进行,则步骤314为:CPU读取期望数据和结果数据进行比较验证。
由于,步骤313的处理是对于期望数据的处理,与其它在与结果数据相关的处理相互独立。因此步骤313可在步骤300中仿真工具生成仿真源数据之后和步骤314中将期望数据和结果数据按BIT比较之前任何时刻进行处理。同样,步骤309中PC或CPU读取结果数据并存储的处理与步骤310至步骤312中接口模块的判决处理相互独立,因此,步骤309中PC或CPU读取结果数据并存储的处理与步骤310至步骤312也可以并行执行。
此外,本发明方法可以采用三种处理方式对ASIC数据处理部件所采用的扩频***算法进行验证,图3所示的是其中的第二种处理方式,所述三种处理方式分别为:
一、步骤300中仿真工具生成仿真源数据之后,在步骤313,仿真工具对仿真源数据进行算法处理得到全部期望数据存储在CPU中或PC的硬盘或内存中;在步骤302,RAMIN存满了PC内的仿真源数据或仿真源数据全部被写入RAMIN后,从步骤303到步骤310,ASIC数据处理部件接收仿真源数据进行算法处理,得到部分结果数据;然后转入步骤314,CPU或PC读取当前得到部分结果数据的仿真源数据进行当前得到部分结果数据的算法处理所得到的部分期望数据,和当前得到的部分结果数据进行比较验证,再转入步骤311判决ASIC数据处理部件是否得到全部结果数据,即ASIC数据处理部件的算法处理是否结束。也就是设定,排除步骤311至步骤313,从步骤303到步骤314是整个验证流程中一个验证子流程A。在CPU或PC存储了仿真工具生成的全部期望数据后,***会反复执行此验证子流程A,并在每一次执行完验证子流程A之后执行步骤311和步骤312的判决,直至在步骤311中判决ASIC数据处理部件得到全部结果数据,结束算法处理,得到最终验证结果。
这里,此验证子流程A也可以根据当时的数据处理情况几个验证子流程A分别对应不同的进程并行处理,较佳的并行方式为:当前一个验证子流程A还未结束下一个验证子流程A就可以开始,但前一个验证子流程A中与后一个验证子流程A相同的步骤均相应地在后一个验证子流程A的步骤之前执行,即前一个验证子流程A中的步骤303在后一个验证子流程A中的步骤303之前执行并以此类推到除步骤311至步骤313以外的步骤304到步骤314。
二、步骤302中RAMIN存满了PC内的仿真源数据或仿具源数据全部被写入RAMIN后,从步骤303到步骤310 ASIC数据处理部件接收仿真源数据进行算法处理,得到部分结果数据,再转入步骤311判断是否得到全部结果数据;也就是设定,从步骤303到步骤312是整个验证流程中一个结果数据生成子流程,在步骤302中RAMIN存满了PC内的仿真源数据或仿真源数据全部被写入RAMIN后,***会反复执行此结果数据生成子流程,直至在步骤311判决ASIC数据处理部件进行算法处理得到全部结果数据并存入CPU或PC。然后在步骤313,仿真工具对仿真源数据进行算法处理得到全部期望数据存入CPU中或者PC的硬盘或内存中;再转入步骤314,CPU或PC读取全部期望数据和全部结果数据进行验证,得到最终验证结果。这里,也可以先在步骤313生成全部期望数据,再从步骤302开始处理得到全部结果数据,最后在步骤314进行全部数据的验证。
这里,此结果数据生成子流程可以根据当时的数据处理情况几个结果数据生成子流程分别对应不同的进程并行处理,较佳的并行处理方式为:当前一个结果数据生成子流程还未结束下一个结果数据生成子流程就可以开始,但前一个结果数据生成子流程中与后一个结果数据生成子流程相同的步骤均相应地在后一个结果数据生成子流程的步骤之前执行,即前一个结果数据生成子流程中的步骤303在后一个结果数据生成子流程中的步骤303之前执行并以此类推到步骤304至步骤312。
三、步骤302中RAMIN存满了PC内的仿真源数据或仿真源数据全部被写入RAMIN后,从步骤303到步骤310ASIC数据处理部件接收仿真源数据进行算法处理,得到部分结果数据,再转入步骤311判决是否得到全部结果数据,并在步骤312判断ASIC数据处理部件是否接收完全部仿真源数据;也就是设定,从步骤303到步骤312是整个验证流程中一个结果数据生成子流程,在步骤302中RAMIN存满了PC内的仿真源数据或仿真源数据全部被写入RAMIN后,***会反复执行此结果数据生成子流程,直至ASIC数据处理部件进行算法处理得到全部结果数据并存入CPU或PC。然后在步骤313,仿真工具对仿真源数据进行算法处理得到部分期望数据存入CPU中或者PC的硬盘或内存中;再转入步骤314,CPU或PC读取当前得到部分期望数据的仿真源数据进行当前得到部分期望数据的算法处理所得到的部分结果数据,和当前得到的部分期望数据进行验证,然后再返回步骤313得到部分期望数据。也就是设定,从步骤313到步骤314是整个验证流程中一个验证子流程B,在CPU或PC内存储了全部结果数据后,***会反复执行此验证子流程B,直至仿真工具进行算法处理得到全部期望数据,将其存入CPU或PC并进行比较验证,得到最终验证结果。
这里,此结果数据生成子流程或验证子流程B也可以根据当时的数据处理情况几个结果数据生成子流程或验证子流程B分别对应不同的进程并行处理,较佳的并行处理方式为:当前一个结果数据生成子流程还未结束下一个结果数据生成子流程就可以开始,但前一个结果数据生成子流程中与后一个结果数据生成子流程相同的步骤均相应地在后一个结果数据生成子流程的步骤之前执行,即前一个结果数据生成子流程中的步骤303在后一个结果数据生成子流程中的步骤303之前执行并以此类推到步骤304至步骤312;同样,当前一个验证子流程B还未结束下一个验证子流程B就可以开始,但前一个验证子流程B中与后一个验证子流程B相同的步骤均相应地在后一个验证子流程B的步骤之前执行,即前一个验证子流程B中的步骤313在后一个验证子流程B中的步骤313之前执行并以此类推到步骤314。
由以上对于本发明方法中验证的三种处理方式的描述可见,采用上述三种处理方式均能够完成对ASIC数据处理部件所采用的扩频***算法的全面验证,从而对ASIC芯片实现的算法功能做出准确的判决。
可见,应用上述本发明装置或方法一较佳实施例均能够使用覆盖扩频***算法功能点的仿真源数据快速、灵活地对ASIC中实现的扩频***算法做出验证,同时可以做到对ASIC数据处理部件输出的结果数据与仿真环境输出的相应的期望数据进行按BIT的比较分析,从而能够用最简单易行的方法对ASIC芯片中实现的算法功能进行精确验证。
Claims (19)
1、一种利用仿真源数据进行专用集成电路ASIC验证的装置,其特征在于,包括:
比较模块,用于存储符合3GPP协议的仿真源数据和期望数据,输出仿真源数据至接口模块,配置算法信息并发送控制指令至ASIC数据处理部件,从接口模块读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证;
ASIC数据处理部件,用于接收控制指令,对输入的仿真源数据进行扩频***算法处理并输出结果数据;
接口模块,用于接收仿真源数据并输出至ASIC数据处理部件,从ASIC数据处理部件接收并输出结果数据。
2、根据权利要求1所述的装置,其特征在于,所述比较模块包括,
个人电脑PC,用于存储并输出符合3GPP协议的仿真源数据和期望数据;
中央处理器CPU,用于配置算法信息并发送控制指令至ASIC数据处理部件,从PC读取并存储期望数据,从PC读取仿真源数据并输出至接口模块,从接口模块读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证。
3、根据权利要求1所述的装置,其特征在于,所述比较模块包括,
PC,用于存储符合3GPP协议的仿真源数据和期望数据,输出仿真源数据至CPU,读取并存储结果数据,并对结果数据和期望数据按比特BIT比较验证;
CPU,用于配置算法信息并发送控制指令至ASIC数据处理部件,读取仿真源数据并输出至接口模块,从接口模块读取并输出结果数据至PC。
4、根据权利要求2或3所述的装置,其特征在于,该装置还包括,输入缓存器RAMIN,用于从接口模块接收并缓存仿真源数据,将仿真源数据输出至接口模块。
5、根据权利要求2或3所述的装置,其特征在于,该装置还包括,输出缓存器RAMOUT,用于从接口模块接收并缓存结果数据,将结果数据输出至接口模块。
6、根据权利要求2或3所述的装置,其特征在于,该装置还包括,
RAMIN,用于从接口模块接收并缓存仿真源数据,将仿真源数据输出至接口模块;
RAMOUT,用于从接口模块接收并缓存结果数据,将结果数据输出至接口模块。
7、根据权利要求4所述的装置,其特征在于,所述CPU、ASIC数据处理部件、接口模块和RAMIN集成在一块验证单板上。
8、根据权利要求5所述的装置,其特征在于,所述CPU、ASIC数据处理部件、接口模块和RAMOUT集成在一块验证单板上。
9、根据权利要求6所述的装置,其特征在于,所述CPU、ASIC数据处理部件、接口模块、RAMIN和RAMOUT集成在一块验证单板上。
10、根据权利要求1、2或3所述的装置,所述接口模块为可编程逻辑器件。
11、一种利用仿真源数据进行ASIC验证的方法,应用于包括PC、ASIC数据处理部件和CPU的验证装置中,其特征在于,主要处理步骤为:
1)ASIC数据处理部件未完成算法处理之前循环接收仿真工具生成的一段仿真源数据,对所接收的仿真源数据进行扩频***算法处理得到相应的结果数据,同时,仿真工具对其所生成的仿真源数据进行ASIC数据处理部件所实现的扩频***算法处理得到相应的期望数据;
2)将步骤1)所述期望数据和结果数据按BIT比较,得到验证结果。
12、根据权利要求11所述的方法,其特征在于,步骤1)为仿真工具对仿真源数据进行算法处理得到全部期望数据,ASIC数据处理部件接收仿真源数据进行算法处理得到部分结果数据;步骤2)为将当前得到部分结果数据的仿真源数据进行当前得到部分结果数据的算法处理所得到的部分期望数据,与当前得到的部分结果数据按BIT比较,再判断ASIC数据处理部件是否得到全部结果数据,如果是,则结束验证;否则,ASIC数据处理部件接收仿真源数据进行算法处理得到部分结果数据,再转入步骤2)。
13、根据权利要求9所述的方法,其特征在于,步骤1)为仿真工具和ASIC数据处理部件分别接收仿真源数据进行算法处理,并分别得到全部期望数据和全部结果数据;步骤2)为将全部期望数据和全部结果数据按BIT比较,结束验证。
14、根据权利要求9所述的方法,其特征在于,步骤1)为ASIC数据处理部件接收仿真源数据进行算法处理得到全部结果数据,仿真工具对仿真源数据进行算法处理得到部分期望数据,步骤2)为将当前得到部分期望数据的仿真源数据进行当前得到部分期望数据的算法处理所得到的部分结果数据,与当前得到的部分期望数据按BIT比较,再判断仿真工具是否得到全部期望数据,如果是,则结束验证;否则,仿真工具对仿真源数据进行算法处理得到部分期望数据,再转入步骤2)。
15、根据权利要求11至14中任一项所述的方法,其特征在于,步骤1)中,ASIC数据处理部件接收仿真源数据之前,进一步包括,PC将仿真工具生成的一段符合3GPP协议的仿真源数据存储在硬盘或内存中。
16、根据权利要求11至14中任一项所述的方法,其特征在于,步骤1)中,ASIC数据处理部件接收仿真源数据进行算法处理得到结果数据之后,进一步包括,ASIC数据处理部件将结果数据送入CPU。
17、根据权利要求11至14中任一项所述的方法,其特征在于,步骤1)中,仿真工具对仿真源数据进行算法处理得到期望数据之后,进一步包括,PC将期望数据存储在硬盘或内存中。
18、根据权利要求16所述的方法,其特征在于,步骤1)中,ASIC数据处理部件将结果数据送入CPU之后,进一步包括,PC从CPU读取结果数据并存储在硬盘或内存中;步骤2)为PC从硬盘或内存读取结果数据和期望数据按BIT比较。
19、根据权利要求17所述的方法,其特征在于,步骤1)中,PC将期望数据存储在硬盘或内存中之后,进一步包括,CPU从PC读取并存储期望数据;步骤2)为CPU读取期望数据和结果数据按BIT比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100084465A CN100390556C (zh) | 2004-03-10 | 2004-03-10 | 一种利用仿真源数据进行专用集成电路验证的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100084465A CN100390556C (zh) | 2004-03-10 | 2004-03-10 | 一种利用仿真源数据进行专用集成电路验证的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1667428A true CN1667428A (zh) | 2005-09-14 |
CN100390556C CN100390556C (zh) | 2008-05-28 |
Family
ID=35038626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100084465A Expired - Fee Related CN100390556C (zh) | 2004-03-10 | 2004-03-10 | 一种利用仿真源数据进行专用集成电路验证的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100390556C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464193C (zh) * | 2006-10-13 | 2009-02-25 | 北京中星微电子有限公司 | 芯片测试***和芯片测试方法 |
CN101042424B (zh) * | 2007-04-26 | 2010-08-11 | 北京南山之桥信息技术有限公司 | 一种检测专用集成电路的方法及装置 |
CN102420982A (zh) * | 2011-10-31 | 2012-04-18 | 展讯通信(上海)有限公司 | 芯片及其验证方法和***、处理器端 |
CN111443892A (zh) * | 2019-01-16 | 2020-07-24 | 长鑫存储技术有限公司 | 仿真结果的比较方法 |
CN115481594A (zh) * | 2021-11-22 | 2022-12-16 | 北京百度网讯科技有限公司 | 计分板实现方法、计分板、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621651A (en) * | 1994-03-09 | 1997-04-15 | Texas Instruments Incorporated | Emulation devices, systems and methods with distributed control of test interfaces in clock domains |
US6223272B1 (en) * | 1998-07-15 | 2001-04-24 | Siemens Aktiengesellschaft | Test vector verification system |
JP2000122890A (ja) * | 1998-10-12 | 2000-04-28 | Dainippon Printing Co Ltd | 回路試作装置および回路検証装置 |
DE19947838A1 (de) * | 1999-10-05 | 2001-04-19 | Siemens Ag | Schnittstellenumsetzer zum Anschluß an einen Hardware-Emulator |
JP2002358342A (ja) * | 2001-05-31 | 2002-12-13 | Matsushita Electric Ind Co Ltd | 回路検証装置 |
-
2004
- 2004-03-10 CN CNB2004100084465A patent/CN100390556C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464193C (zh) * | 2006-10-13 | 2009-02-25 | 北京中星微电子有限公司 | 芯片测试***和芯片测试方法 |
CN101042424B (zh) * | 2007-04-26 | 2010-08-11 | 北京南山之桥信息技术有限公司 | 一种检测专用集成电路的方法及装置 |
CN102420982A (zh) * | 2011-10-31 | 2012-04-18 | 展讯通信(上海)有限公司 | 芯片及其验证方法和***、处理器端 |
CN111443892A (zh) * | 2019-01-16 | 2020-07-24 | 长鑫存储技术有限公司 | 仿真结果的比较方法 |
CN111443892B (zh) * | 2019-01-16 | 2022-04-29 | 长鑫存储技术有限公司 | 仿真结果的比较方法 |
CN115481594A (zh) * | 2021-11-22 | 2022-12-16 | 北京百度网讯科技有限公司 | 计分板实现方法、计分板、电子设备及存储介质 |
CN115481594B (zh) * | 2021-11-22 | 2023-09-08 | 北京百度网讯科技有限公司 | 计分板实现方法、计分板、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100390556C (zh) | 2008-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1187733C (zh) | 语音识别***、服务器、客户机及其控制方法 | |
CN1794168A (zh) | 信息处理设备、信息处理方法、半导体器件及计算机程序 | |
CN1828617A (zh) | 一种软硬件协同仿真/验证***及矢量模式仿真/验证方法 | |
CN1828541A (zh) | Java操作***中定时任务的实现方法 | |
CN100337212C (zh) | 逻辑验证***及方法 | |
US20230004775A1 (en) | Method for implementing a hardware accelerator of a neural network | |
CN107608893B (zh) | 一种压力测试调度方法、装置、调度服务器及计算设备 | |
CN1893282A (zh) | 一跨序列排序涡轮码***和其操作方法 | |
CN1928576A (zh) | 芯片测试***和芯片测试方法 | |
CN1667428A (zh) | 一种利用仿真源数据进行专用集成电路验证的装置和方法 | |
CN200982985Y (zh) | 一种信号发生器 | |
Wang et al. | Hierarchical memory-constrained operator scheduling of neural architecture search networks | |
CN101079890A (zh) | 一种生成特征码确定状态机的方法和装置 | |
CN1272701C (zh) | 调整中央处理器工作频率方法 | |
CN1945478A (zh) | 仿真装置 | |
CN1665153A (zh) | 基于周边元件扩展接口卡的专用集成电路验证装置和方法 | |
CN1725714A (zh) | 伪随机数产生装置及利用其实现的测试*** | |
CN115237390A (zh) | 一种继电保护装置逻辑图生成代码方法、装置及存储介质 | |
CN1858752A (zh) | 基于fpga和usb储存装置的无线通信仿真装置 | |
CN1684380A (zh) | 一种专用集成电路功能验证装置 | |
US7096462B2 (en) | System and method for using data address sequences of a program in a software development tool | |
CN118043821A (zh) | 混合稀疏压缩 | |
CN101076780A (zh) | 针对程序中循环的编译方法、编译设备和计算机*** | |
Lei et al. | An effective design to improve the efficiency of DPUs on FPGA | |
CN1700197A (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: 20080528 Termination date: 20200310 |
|
CF01 | Termination of patent right due to non-payment of annual fee |