CN105446843A - Soc芯片功能测试系统及方法 - Google Patents
Soc芯片功能测试系统及方法 Download PDFInfo
- Publication number
- CN105446843A CN105446843A CN201410239712.9A CN201410239712A CN105446843A CN 105446843 A CN105446843 A CN 105446843A CN 201410239712 A CN201410239712 A CN 201410239712A CN 105446843 A CN105446843 A CN 105446843A
- Authority
- CN
- China
- Prior art keywords
- packet
- cpu
- soc
- function test
- receive
- 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
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请记载了一种SOC芯片功能测试系统及方法,涉及电子通信技术领域,通过在SOC芯片中设置直读模块,使得功能测试序列的产生和调试的复杂度得到几何级别的降低,且在大大降低了芯片测试成本的同时,还有效的提高了测试效率,从而使得功能测试操作成为一种简单易用且高效低成本的测试方法,以使得其能够在SOC芯片的测试中得到大规模的应用。
Description
技术领域
本发明涉及电子通信技术领域,尤其涉及一种SOC芯片功能测试系统及方法。
背景技术
系统级芯片(System-on-a-chip,简称SOC)的功能测试(functiontest)对于解决某些复杂的芯片测试问题具有重大的应用价值,但是传统的功能测试序列(functiontestpatten)的产生和调试非常复杂,而且非常不稳定,从而限制了功能测试(functiontest)这一方法的大规模低成本的应用。
另外,由于传统的功能测试(functiontest)太复杂,导致很多测试,不得不把测试信号拉到芯片的I/O上来,这样不仅增加了芯片可测性(DesignForTest,DFT)设计的复杂度,还在I/O受限或者涉及到高速模拟(analog)IP测试的芯片上时,使得很多测试无法实现。
发明内容
针对上述存在的问题,本申请记载了一种SOC芯片功能测试系统,其中,所述系统包括:自动测试设备和SOC芯片,且所述SOC芯片中设置有直读模块、集成存储模块和启动CPU;
所述自动测试设备中存储有功能测试代码数据;
所述直读模块通过第一端口与所述自动测试设备连接,以读取所述功能测试代码数据;
所述直读模块通过第二端口与所述集成存储模块连接,以采用数据包的方式将读取的所述功能测试代码数据存储至所述集成存储模块中;
所述启动CPU通过第三端口与所述集成存储模块连接,以读取所述集成存储模块存储的数据。
上述的SOC芯片功能测试系统,其中,所述直读模块与所述启动CPU的复位信号输入端连接,以控制所述启动CPU的复位状态。
上述的SOC芯片功能测试系统,其中,所述第一端口为所述SOC芯片的8位I/O端口。
上述的SOC芯片功能测试系统,其中,所述第二端口为32位的AHB总线。
上述的SOC芯片功能测试系统,其中,所述直读模块中设置有数据包转换模块;
所述数据包转换模块将利用所述第一端口从所述自动测试设备中下载测试代码数据并转换为所述数据包后,再经所述第二端口存储至所述集成存储模块中。
上述的SOC芯片功能测试系统,其中,所述第三端口为异步桥。
上述的SOC芯片功能测试系统,其中,所述集成存储模块包括AON矩阵单元(AlwaysOnmatrix,始终开启的矩阵单元)和片上存储器;
所述第二端口和所述第三端口均通过所述AON矩阵单元分别与所述片上存储器连接。
上述的SOC芯片功能测试系统,其中,所述SOC芯片中还设置有至少一个被启动CPU,且每个所述被启动CPU均通过所述异步桥与所述AON矩阵单元连接,以读取所述片上存储器中存储的数据;
其中,所述启动CPU能够启动每个所述被启动CPU。
上述的SOC芯片功能测试系统,其中,所述集成存储模块包括若干个存储单元,且该若干个被划分为多个存储段,且每个所述存储段中均存储一个所述数据包;
其中,所述多个存储段按顺序编址。
上述的SOC芯片功能测试系统,其中,每个所述存储段均包括起始标志存储空间、地址存储空间、数据长度存储空间、数据存储空间和结束标志存储空间;
所述起始标志存储空间用于存储所述数据包的起始标志信息,所述地址存储空间用于存储所述数据包的存储地址信息,所述数据长度存储空间用于存储所述数据包的数据长度信息,所述数据存储空间用于存储所述数据包的数据信息,所述结束标志存储空间用于存储所述数据包的结束标志信息。
上述的SOC芯片功能测试系统,其中,所述起始标志存储空间占用1个所述存储单元,所述地址存储空间占用1个所述存储单元,所述数据长度存储空间占用1个所述存储单元,所述数据存储空间占用N个所述存储单元,所述结束标志存储空间占用1个所述存储单元;
其中,所述N为正整数。
上述的SOC芯片功能测试系统,其中,每个所述存储单元的大小均为32位。
本申请还记载了一种SOC芯片功能测试方法,其中,应用于上述任意一项所述的SOC芯片功能测试系统中,所述方法包括:
步骤S1,所述直读模块发送持续复位信号至所述启动CPU,以将所述启动CPU保持复位状态;
步骤S2,所述直读模块读取所述自动测试设备中存储的功能测试代码数据;
步骤S3,所述直读模块将读取的所述功能测试代码数据以数据包的方式存储至所述集成存储模块;
步骤S4,所述直读模块释放所述复位信号,所述启动CPU正常启动;
步骤S5,所述启动CPU读取所述集成存储模块中存储的数据包,继续功能测试操作。
上述的SOC芯片功能测试方法,其中,所述方法还包括:
步骤a,对所述启动CPU进行复位操作,使所述启动CPU处于复位状态;
步骤b,将所述SOC芯片功能测试系统的状态设置为空闲状态;
步骤c,判断所述自动测试设备发送至所述直读模块的功能测试开始信息是否合法,
若所述功能测试开始信息不合法,则继续步骤b;
步骤d,将所述SOC芯片功能测试系统的状态设置为接收起始标志状态,并继续判断是否接收到所述数据包的起始标志信息,
若没有接收到所述数据包的起始标志信息,则继续步骤b;
步骤e,将所述SOC芯片功能测试系统的状态设置为接收存储地址状态,并继续判断是否接收到所述数据包的存储地址信息,
若没有接收到所述数据包的存储地址信息,则继续步骤b;
步骤f,将所述SOC芯片功能测试系统的状态设置为接收数据长度状态,并继续判断是否接收到所述数据包的数据长度信息,
若没有接收到所述数据包的数据长度信息,则继续步骤b;
步骤g,将所述SOC芯片功能测试系统的状态设置为接收数据状态,并继续判断是否接收到所述数据包的数据信息,
若没有接收到所述数据包的数据信息,则继续步骤b;
步骤h,将所述SOC芯片功能测试系统的状态设置为接收结束标志状态,并继续判断是否接收到所述数据包的结束标志信息或所述数据包的开始标志信息,
若接收到所述数据包的开始标志信息,则继续步骤e;
若接收到所述数据包的结束标志信息,则释放对所述启动CPU进行的复位操作,所述启动CPU开始运行;
若没有接收到所述数据包的开始标志信息和所述数据包的结束标志信息,则继续步骤b。
上述的SOC芯片功能测试方法,其中,所述SOC芯片为多核芯片,所述SOC芯片中还设置有至少一被启动CPU,当对任一所述被启动CPU进行所述功能测试操作时,所述方法还包括:
步骤A,判断所述直读模块是否能够读取所述被启动CPU所需的寄存器,
若所述直读模块无法读取任意一个所述寄存器,则采用所述启动CPU启动所述被启动CPU,并继续步骤D;
步骤B,判断所有的所述寄存器是否在同一个时域中,
若所有的所述寄存器不在同一个时域中,则采用所述启动CPU启动所述被启动CPU,并继续步骤D;
步骤C,采用所述直读模块直接启动所述被启动CPU;
步骤D,所述被启动CPU读取所述集成存储模块中存储的数据包,继续功能测试操作;
其中,所述寄存器为所述启动CPU启动所述被启动CPU时进行读写操作的寄存器。
上述发明具有如下优点或者有益效果:
1、本申请记载的SOC芯片功能测试系统及方法,通过将测试代码分解为相互独立的下载步骤和执行步骤,使得测试过程不受异步逻辑的影响,进而有效的保证了测试序列的稳定性。
2、本申请记载的SOC芯片功能测试系统及方法,通过芯片外自动测试设备(ATE)直接主导整个测试过程,使得产生的功能测试序列无需进行仿真,进而有效的降低调试的复杂度,以利于功能测试的大规模低成本的广泛应用。
3、本申请记载的SOC芯片功能测试系统及方法,通过设置的直读模块来执行测试代码的下载操作,并能替代部分CPU的配置功能,同时又利用统一的数据包格式完成寄存器配置和存储器的数据下载,进而实现多核系统中单核独立启动,以有效的简化测试序列。
4、产生的测试序列既是测试代码数据序列,进而大大的降低了测试序列生成的复杂度。
具体附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是本申请实施例中SOC芯片功能测试系统的结构示意图;
图2是本申请实施例中一个数据包的数据结构示意图;
图3是本申请实施例中数据包中每个标志所对应信息的表格;
图4是本申请实施例中读取数据包中数据信息的状态图。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
目前,对SOC芯片进行功能测试,均需要在EDA(ElectronicDesignAutomation)环境下进行芯片级别(chiplevel)的代码(Ccode)仿真,当应用于超大规模的SOC时,其仿真时间很长,进而造成工作效率极其低下;而在传统的功能测试操作中,测试序列(testpatten)记录的是CPU执行测试代码(code)的行为序列,该行为序列极其不规则,不仅增加了后续调试(debug)的难度,还会大大增加测试序列(patten)的长度。
另外,传统的功能测试操作中,SOC内部的CPU是从芯片I/O端口读取数据,使得数据路径(path)上存在异步逻辑(logic),进而会导致整个测试序列不稳定;而对于存在多个CPU核(Core)的SOC系统,传统的功能测试操作则无法实现CPU核(Core)的独立启动(boot),进而导致多核SOC系统功能测试序列(functiontestpatten)的产生异常复杂。
其中,功能测试模型(functiontestmode)为一种芯片的测试模式,在此模式下芯片按照正常模式启动(boot),根据测试序列(testpatten)完成某些指定的测试;功能测试序列(functiontestpatten)为在上述功能测试模型(functiontestmode)中,芯片进行测试的行为序列。
图1是本申请实施例中SOC芯片功能测试系统的结构示意图;如图1所示,一种SOC芯片功能测试系统,包括自动测试设备(AutoTestEquipment,简称ATE)和SOC芯片,且该自动测试设备中存储有针对该SOC芯片进行功能测试的测试代码;上述的自动测试设备与SOC芯片的片上输入/输出端口(如PADs等,即第一端口)连接,该片上输入/输出端口为8bits端口。
进一步的,上述的SOC芯片则包括直读模块(如DMA模块(DirectMemoryAccessmodule))、集成存储模块和启动CPU,该直读模块通过上述的片上输入/输出(I/O)与自动测试设备连接,且该直读模块还通过一AHB总线(AdvancedHighperformanceBus,即第二端口)与集成存储模块连接,启动CPU通过一异步桥(AsynchronousBridge,即第三端口)与上述的集成存储模块连接,且该直读模块中设置有数据包转换模块;即上述的直读模块通过以8bits的方式下载自动测试设备中的测试代码,并利用数据包转换模块将该下载的测试代码转换为数据包后,经AHB总线以32bits的方式发送至集成存储模块中存储;启动CPU启动后,通过异步桥读取存储在集成存储模块中存储的数据包。
其中,在上述集成存储模块存储数据时,该启动CPU一直处于复位状态,即当上述的直读模块(functiontestDMA,简称为func--tst-dma)开始下载测试代码前,先发送持续的复位信号(即使func--tst-boot-cpu-rst(functiontestbootCPUreset)为高)至启动CPU的复位信号输入端,以保持该启动CPU在测试代码下载过程始终处于复位(reset)状态;当上述的启动CPU复位完成后,经PADs输入功能测试操作开始信号(func-tst-start(functionteststart)),且该功能测试操作开始信号与功能测试操作时钟(func-tst(functiontest)clock)同步,启动功能测试操作模块(“func-tst-dma”module)即直读模块启动,开始从PADs以8bits方式读取测试代码(如bootcode)至启动CPU的共享存储器(shareRAM,即片上存储器如IRAM等),并在存储方程中定义数据包的格式,而当该测试代码下载完且均存储至集成存储模块后,直读模块释放上述的复位信号,即func-tst-dmamodule在下载测试代码(如downloadbootcode)完毕后,自动松开上述的func-tst-boot-cpu-rst(functiontestbootCPUreset),此时启动CPU正常启动,以读取集成存储模块中存储的数据包,进行功能测试操作。
优选的,上述的集成存储模块包括AON矩阵单元(AlwaysOnmatrix)和由若干存储段(如RAMx)构成的片上存储器(如IRAM),上述的启动CPU通过异步桥与AON矩阵单元的Mx端口(矩阵输入/输出端口)连接,直读模块通过AHB总线与该AON矩阵单元的另一Mx端口连接,每个存储段均通过一总线与AON矩阵单元的Sx端口(矩阵输入/输出端口,多个Mx端口可以访问一个Sx端口)连接;即上述的直读模块将数据包经AON矩阵单元存储至相应的RAMx中,后续启动CPU启动后也通过该AON矩阵单元读取RAMx中存储的数据包,以进行后续的功能测试操作;其中,上述的集成存储器主要包括若干个存储单元,该若干个存储单元被划分为多个上述的存储段,每个存储段中均存储一个所述数据包,且该多个存储段按顺序编址。
优选的,上述的SOC芯片若为单核芯片时,则以上述的启动CPU即为该单核芯片的core,即按照上述操作流程启动即可;而若该SOC芯片为多个多核芯片时,即SOC芯片中还设置有至少一个被启动CPU,上述的启动CPU能够将任意一个被启动CPU启动,且每个被启动CPU均通过一异步桥与AON矩阵单元连接,以读取上述IRAM中存储的数据包(即所有的CPU共享该IRAM),继续进行后续功能测试操作。
进一步的,图2是本申请实施例中一个数据包的数据结构示意图;如图2所示,每个存储段RAMx中均存储有一个数据包,且每个存储段均包括起始标志存储空间(1个字节(1word))、地址存储空间(1word)、数据长度存储空间(1word)、数据存储空间(Nword,N为正整数)和结束标志存储空间(1word);起始标志存储空间用于存储数据包的起始标志(StartFlag)信息,地址存储空间用于存储数据包的存储地址(StartAddr)信息,数据长度存储空间用于存储数据包的数据长度(DataLength)信息,数据存储空间用于存储数据包的数据(Data)信息,结束标志存储空间用于存储数据包的结束标志(EndFlag)信息;即上述的起始标志存储空间占用1个存储单元,地址存储空间占用1个存储单元,数据长度存储空间占用1个存储单元,数据存储空间占用N(N为正整数)个存储单元,结束标志存储空间占用1个存储单元。
优选的,上述的每个存储单元的大小均为32位(即1word)。
进一步的,图3是本申请实施例中数据包中每个标志所对应信息的表格,如图3所示,在字段(field)栏中标示数据包的字段标志,对应的说明(description)栏中则是字段标志的具体说明,具体的:StartFlag为该数据包的起始标志,在本实施例中设定数据包的StartFlag的值为32’h5A5A5A5A;StartAddr为该32位数据寄存器的起始地址(32bitsstartaddress);DataLength为数据包中存储的数据的长度(单位为字节(word));Data为数据包中存储的数据(即寄存器写数据,其长度为DataLengthword);EndFlag为该数据包的结束标志,在本实施例中设定数据包的EndFlag的值为32’hA5A5A5A5。
另外,在上述的EndFlag字段时隙中若是检测到StartFlag信息,则认为接收到另一个数据包,以用于支持向不同的存储设备(memory)下载(download)存储数据。
本申请还记载了一种SOC芯片功能测试方法,可应用于上述的SOC芯片功能测试系统中,具体包括:
步骤S1,直读模块发送持续复位信号至启动CPU,以将启动CPU保持复位状态;
步骤S2,直读模块读取自动测试设备中存储的功能测试代码;
步骤S3,直读模块将读取的功能测试代码以数据包的方式存储至集成存储模块;
步骤S4,直读模块释放复位信号,启动CPU正常启动;
步骤S5,启动CPU读取集成存储模块中存储的数据包,继续功能测试操作。
进一步的,上述的SOC芯片为多核芯片时,即SOC芯片中还设置有至少一被启动CPU,当对任一被启动CPU进行功能测试操作时,上述的方法还包括:
步骤A,判断直读模块是否无法读取部分寄存器,若直读模块无法读取部分寄存器,则采用启动CPU启动被启动CPU,并继续步骤D;
步骤B,判断所有的寄存器是否在同一个时域中,若所有的寄存器不在同一个时域中,则采用启动CPU启动被启动CPU,并继续步骤D;
步骤C,采用直读模块直接启动被启动CPU;
步骤D,被启动CPU读取集成存储模块中存储的数据包,继续功能测试操作;
其中,寄存器为BootCPU启动被启动CPU时进行读写操作的寄存器。
具体的,对于多核SOC芯片(即多个core的芯片),一般是采用一个核(core)启动(boot)其他的(core),即启动CPU可启动其他任意一个被启动CPU,这样就会涉及到部分寄存器的读写操作,而该读写操作相应的就可能会涉及到异步路径(path),而且有些寄存器“func-tst-dma”module(即直读模块)可能根本无法访问到,即此时“func-tst-dma”module无法安全的支持寄存器读写操作。对于这种情况,仍然建议和正常模式相同,用一个core去boot其他的core,即采用启动CPU去启动其他的被启动CPU,以进行功能测试操作。
但是,若一个coreboot其他core仅仅是涉及到一些寄存器操作,而且这些寄存器都是func-tst-dma(即直读模块)可以访问到的空间,且寄存器及直读模块均位于同一个时域(clockdomain)中,比如都在AONsystem的matrix上,此时func-tst-dma直读模块就能取代BootCPU,完成其承担的寄存器操作,从而直接启动被启动CPU,进而实现多核SOC芯片中单核(core)的独立启动(Boot),且此时BootCPU仍然会boot起来,但仅需要空转即可。
进一步的,图4是本申请实施例中读取数据包中数据信息的状态图;参见图4所示,Cond0:rcv-data(receivedata)==32’hA5A5A5A5,上述的方法还包括:
步骤a,对启动CPU进行复位操作(rst,即reset),使启动CPU处于复位状态;
步骤b,将SOC芯片功能测试系统的状态设置为空闲状态(IDLE);
步骤c,判断自动测试设备发送至直读模块的功能测试开始信息(func-tst-start)是否合法(valid),若功能测试开始信息不合法(即接收!Cond0),则继续步骤b(将功能测试系统置为IDLE);
步骤d,将SOC芯片功能测试系统的状态设置为接收起始标志状态(RCV-SFLAG),并继续判断是否接收到数据包的起始标志信息(StartFlag),若没有接收到数据包的起始标志信息,则继续步骤b,并设置错误标志(seterrorflag);
步骤e,若接收到数据包的起始标志信息(即接收到Cond0)时,则将SOC芯片功能测试系统的状态设置为接收存储地址状态(RCV-SSDDR),并继续判断是否接收到数据包的存储地址信息,若没有接收到数据包的存储地址信息(StartAddr),则继续步骤b;
步骤f,将SOC芯片功能测试系统的状态设置为接收数据长度状态(RCV-DLENTH),并继续判断是否接收到数据包的数据长度信息,若没有接收到数据包的数据长度信息(DataLength),则继续步骤b;
步骤g,将SOC芯片功能测试系统的状态设置为接收数据状态(RCV-DATA),并继续判断是否接收到数据包的数据信息,若没有接收到数据包的数据信息(Data),则继续步骤b;
步骤h,将SOC芯片功能测试系统的状态设置为接收结束标志状态(RCV-EFLAG),并继续判断是否接收到数据包的结束标志信息(EndFlag)或数据包的开始标志信息(StartFlag),若接收到数据包的开始标志信息(即Cond0),则继续步骤e,以继续另一个数据包的下载和存储操作;若接收到数据包的结束标志信息,则释放对启动CPU进行的复位操作(clearthe“func-tst-boot-cpu-rst”),启动CPU开始运行;若没有接收到数据包的开始标志信息和数据包的结束标志信息,则继续步骤b;
其中,基于状态机(Finitestatemachine,FSM)生成上述的各个状态。
进一步的,本申请实施例中的为了确保时序的准确性,本申请的计时要求(timingrequirement)“func-tst-start”信号相对于DMA模块(module)的工作时钟需要进行时序检查(timingcheck),以确保在下个时钟沿能够准确的采集到数据信号。
进一步的,本申请实施例中的启动CPU的ROM中的代码需要进行修改(ROMCodeModification),即BootCPU的ROMcode要做func-tst-dma模式判别,以在func-tst-dma下跳转到IRAM位置,以启动(boot)CPU。
综上所述,本申请记载了一种SOC芯片功能测试系统及方法,通过在SOC芯片中设置直读模块(如专用DMA模块),先将测试代码(testcode)以数据包的方式下载到共享存储(sharememory)中,然后再启动(boot)启动CPU(bootCPU),这样下载的路径(path)上就没有异步逻辑(logic),还使得功能测试序列的产生和调试的复杂度得到几何级别的降低,且在大大降低了芯片测试成本的同时,还有效的提高了测试效率,即使得功能测试操作成为一种简单易用且高效低成本的测试方法,进而使得其能够在SOC芯片的测试中得到大规模的应用。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (15)
1.一种SOC芯片功能测试系统,其特征在于,所述系统包括:自动测试设备和SOC芯片,且所述SOC芯片中设置有直读模块、集成存储模块和启动CPU;
所述自动测试设备中存储有功能测试代码数据;
所述直读模块通过第一端口与所述自动测试设备连接,以读取所述功能测试代码数据;
所述直读模块通过第二端口与所述集成存储模块连接,以采用数据包的方式将读取的所述功能测试代码数据存储至所述集成存储模块中;
所述启动CPU通过第三端口与所述集成存储模块连接,以读取所述集成存储模块存储的数据。
2.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述直读模块与所述启动CPU的复位信号输入端连接,以控制所述启动CPU的复位状态。
3.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述第一端口为所述SOC芯片的8位I/O端口。
4.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述第二端口为32位的AHB总线。
5.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述直读模块中设置有数据包转换模块;
所述数据包转换模块将利用所述第一端口从所述自动测试设备中下载测试代码数据并转换为所述数据包后,再经所述第二端口存储至所述集成存储模块中。
6.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述第三端口为异步桥。
7.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述集成存储模块包括AON矩阵单元和片上存储器;
所述第二端口和所述第三端口均通过所述AON矩阵单元分别与所述片上存储器连接。
8.如权利要求7所述的SOC芯片功能测试系统,其特征在于,所述SOC芯片中还设置有至少一个被启动CPU,且每个所述被启动CPU均通过所述异步桥与所述AON矩阵单元连接,以读取所述片上存储器中存储的数据;
其中,所述启动CPU能够启动每个所述被启动CPU。
9.如权利要求1所述的SOC芯片功能测试系统,其特征在于,所述集成存储模块包括若干个存储单元,且该若干个存储单元被划分为多个存储段,且每个所述存储段中均存储一个所述数据包;
其中,所述多个存储段按顺序编址。
10.如权利要求9所述的SOC芯片功能测试系统,其特征在于,每个所述存储段均包括起始标志存储空间、地址存储空间、数据长度存储空间、数据存储空间和结束标志存储空间;
所述起始标志存储空间用于存储所述数据包的起始标志信息,所述地址存储空间用于存储所述数据包的存储地址信息,所述数据长度存储空间用于存储所述数据包的数据长度信息,所述数据存储空间用于存储所述数据包的数据信息,所述结束标志存储空间用于存储所述数据包的结束标志信息。
11.如权利要求10所述的SOC芯片功能测试系统,其特征在于,所述起始标志存储空间占用1个所述存储单元,所述地址存储空间占用1个所述存储单元,所述数据长度存储空间占用1个所述存储单元,所述数据存储空间占用N个所述存储单元,所述结束标志存储空间占用1个所述存储单元;
其中,所述N为正整数。
12.如权利要求9所述的SOC芯片功能测试系统,其特征在于,每个所述存储单元的大小均为32位。
13.一种SOC芯片功能测试方法,其特征在于,应用于上述权利要求1~12任意一项所述的SOC芯片功能测试系统中,所述方法包括:
步骤S1,所述直读模块发送持续复位信号至所述启动CPU,以将所述启动CPU保持复位状态;
步骤S2,所述直读模块读取所述自动测试设备中存储的功能测试代码数据;
步骤S3,所述直读模块将读取的所述功能测试代码数据以数据包的方式存储至所述集成存储模块;
步骤S4,所述直读模块释放所述复位信号,所述启动CPU正常启动;
步骤S5,所述启动CPU读取所述集成存储模块中存储的数据包,继续功能测试操作。
14.如权利要求13所述的SOC芯片功能测试方法,其特征在于,所述方法还包括:
步骤a,对所述启动CPU进行复位操作,使所述启动CPU处于复位状态;
步骤b,将所述SOC芯片功能测试系统的状态设置为空闲状态;
步骤c,判断所述自动测试设备发送至所述直读模块的功能测试开始信息是否合法,
若所述功能测试开始信息不合法,则继续步骤b;
步骤d,将所述SOC芯片功能测试系统的状态设置为接收起始标志状态,并继续判断是否接收到所述数据包的起始标志信息,
若没有接收到所述数据包的起始标志信息,则继续步骤b;
步骤e,将所述SOC芯片功能测试系统的状态设置为接收存储地址状态,并继续判断是否接收到所述数据包的存储地址信息,
若没有接收到所述数据包的存储地址信息,则继续步骤b;
步骤f,将所述SOC芯片功能测试系统的状态设置为接收数据长度状态,并继续判断是否接收到所述数据包的数据长度信息,
若没有接收到所述数据包的数据长度信息,则继续步骤b;
步骤g,将所述SOC芯片功能测试系统的状态设置为接收数据状态,并继续判断是否接收到所述数据包的数据信息,
若没有接收到所述数据包的数据信息,则继续步骤b;
步骤h,将所述SOC芯片功能测试系统的状态设置为接收结束标志状态,并继续判断是否接收到所述数据包的结束标志信息或所述数据包的开始标志信息,
若接收到所述数据包的开始标志信息,则继续步骤e;
若接收到所述数据包的结束标志信息,则释放对所述启动CPU进行的复位操作,所述启动CPU开始运行;
若没有接收到所述数据包的开始标志信息和所述数据包的结束标志信息,则继续步骤b。
15.如权利要求13所述的SOC芯片功能测试方法,其特征在于,所述SOC芯片为多核芯片,所述SOC芯片中还设置有至少一被启动CPU,当对任一所述被启动CPU进行所述功能测试操作时,所述方法还包括:
步骤A,判断所述直读模块是否能够读取所述被启动CPU所需的寄存器,
若所述直读模块无法读取任意一个所述寄存器,则采用所述启动CPU启动所述被启动CPU,并继续步骤D;
步骤B,判断所有的所述寄存器是否在同一个时域中,
若所有的所述寄存器不在同一个时域中,则采用所述启动CPU启动所述被启动CPU,并继续步骤D;
步骤C,采用所述直读模块直接启动所述被启动CPU;
步骤D,所述被启动CPU读取所述集成存储模块中存储的数据包,继续功能测试操作;
其中,所述寄存器为所述启动CPU启动所述被启动CPU时进行读写操作的寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410239712.9A CN105446843B (zh) | 2014-05-30 | 2014-05-30 | Soc芯片功能测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410239712.9A CN105446843B (zh) | 2014-05-30 | 2014-05-30 | Soc芯片功能测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446843A true CN105446843A (zh) | 2016-03-30 |
CN105446843B CN105446843B (zh) | 2019-02-15 |
Family
ID=55557075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410239712.9A Active CN105446843B (zh) | 2014-05-30 | 2014-05-30 | Soc芯片功能测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446843B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018072439A1 (zh) * | 2016-10-21 | 2018-04-26 | 深圳市中兴微电子技术有限公司 | 一种测试信号产生方法及装置、计算机存储介质 |
CN109344082A (zh) * | 2018-11-01 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种自动测试寄存器的方法与系统 |
CN109344018A (zh) * | 2018-09-10 | 2019-02-15 | 深圳忆联信息系统有限公司 | 多核cpu测试方法、装置、计算机设备和存储介质 |
CN109684657A (zh) * | 2018-11-06 | 2019-04-26 | 电子科技大学 | 一种基于Cortex-M3处理器的专用SoC存储器布局方法 |
CN115656788A (zh) * | 2022-12-23 | 2023-01-31 | 南京芯驰半导体科技有限公司 | 一种芯片测试系统、方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196556A (zh) * | 2006-12-07 | 2008-06-11 | 上海华虹Nec电子有限公司 | 进行并行测试判定的soc及其实现方法 |
CN101458971A (zh) * | 2008-12-02 | 2009-06-17 | 炬力集成电路设计有限公司 | 一种嵌入式存储器的测试系统及测试方法 |
CN203573309U (zh) * | 2013-11-27 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 嵌入式系统存储器的测试结构 |
-
2014
- 2014-05-30 CN CN201410239712.9A patent/CN105446843B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196556A (zh) * | 2006-12-07 | 2008-06-11 | 上海华虹Nec电子有限公司 | 进行并行测试判定的soc及其实现方法 |
CN101458971A (zh) * | 2008-12-02 | 2009-06-17 | 炬力集成电路设计有限公司 | 一种嵌入式存储器的测试系统及测试方法 |
CN203573309U (zh) * | 2013-11-27 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 嵌入式系统存储器的测试结构 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018072439A1 (zh) * | 2016-10-21 | 2018-04-26 | 深圳市中兴微电子技术有限公司 | 一种测试信号产生方法及装置、计算机存储介质 |
CN109344018A (zh) * | 2018-09-10 | 2019-02-15 | 深圳忆联信息系统有限公司 | 多核cpu测试方法、装置、计算机设备和存储介质 |
CN109344082A (zh) * | 2018-11-01 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种自动测试寄存器的方法与系统 |
CN109684657A (zh) * | 2018-11-06 | 2019-04-26 | 电子科技大学 | 一种基于Cortex-M3处理器的专用SoC存储器布局方法 |
CN115656788A (zh) * | 2022-12-23 | 2023-01-31 | 南京芯驰半导体科技有限公司 | 一种芯片测试系统、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105446843B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN105446843A (zh) | Soc芯片功能测试系统及方法 | |
US20100161309A1 (en) | Apparatus and Methods Thereof for Configuration and Control of a System-On-Chip Emulation Platform | |
JP2009205698A5 (zh) | ||
CN113835945B (zh) | 芯片的测试方法、装置、设备及系统 | |
CN103279406B (zh) | 一种内存的隔离方法和装置 | |
CN111427794B (zh) | 一种用于加速存储部件网表仿真的方法、系统及介质 | |
TWI620061B (zh) | 伺服器的偵錯裝置及其偵錯方法 | |
CN100487668C (zh) | 一种嵌入式处理器的调试方法 | |
CN108899061A (zh) | 一种电源常开芯片中的存储器内建自测试方法和系统 | |
CN116256621B (zh) | 芯粒的测试方法、装置、电子设备及存储介质 | |
CN105572565A (zh) | 适用于1553总线协议的内建自测试电路 | |
CN110321260B (zh) | 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台 | |
CN110750946A (zh) | 集成电路网表仿真加速方法及其系统 | |
CN101320344B (zh) | 一种多核或众核处理器功能验证设备及方法 | |
CN116029239B (zh) | 静态时序分析方法及其系统、计算机可读取介质 | |
CN115017845A (zh) | 用于ip单元级别验证的总线驱动式芯片仿真激励模型 | |
CN110569162B (zh) | 一种通信领域中fpga的自动测试方法及装置 | |
CN113127283B (zh) | 芯片修复系统、方法、装置、计算机设备和存储介质 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
WO2017083751A1 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
CN109117299B (zh) | 服务器的侦错装置及其侦错方法 | |
CN110261758B (zh) | 待测器件验证装置及相关产品 | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
CN102750167B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |