CN115658413B - 一种激励发生器和激励发生方法 - Google Patents
一种激励发生器和激励发生方法 Download PDFInfo
- Publication number
- CN115658413B CN115658413B CN202211702369.8A CN202211702369A CN115658413B CN 115658413 B CN115658413 B CN 115658413B CN 202211702369 A CN202211702369 A CN 202211702369A CN 115658413 B CN115658413 B CN 115658413B
- Authority
- CN
- China
- Prior art keywords
- field
- excitation
- value
- generated
- unit
- 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.)
- Active
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供了一种激励发生器和激励发生方法,该激励发生器包括:约束单元,用于确定字段信息。发生单元,用于产生随机数值。解析单元,获得字段信息以及随机数值,并根据字段信息以及随机数值生成字段,并拼接字段以生成激励向量,激励向量用于指示对待测系统进行的操作。通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
Description
技术领域
本申请涉及集成电路技术领域,并且更为具体地,涉及一种激励发生器和激励发生方法。
背景技术
随着大规模集成电路(integrated circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design undertest,DUT)进行准确快速的仿真测试。在仿真测试中,如何生成激励向量,以对待测系统进行操作是亟需解决的技术问题。
发明内容
本申请提供一种激励发生器以及激励发生方法,该激励发生器以及激励发生方法通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
第一方面,提供了一种激励发生器,包括:约束单元,用于确定字段信息;发生单元,用于产生随机数值;解析单元,获得所述字段信息以及随机数值,并根据所述字段信息以及所述随机数值生成字段,并拼接所述字段以生成激励向量,所述激励向量用于指示对待测系统进行的操作。通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
结合第一方面,在第一方面的某些实现方式中,所述约束单元确定的所述字段信息包括字段的数值取值范围。通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
结合第一方面,在第一方面的某些实现方式中,所述约束单元还用于确定生成激励向量的数量信息。从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
结合第一方面,在第一方面的某些实现方式中,所述约束单元还用于确定生成的激励向量的时间信息。从而使得激励向量的生成时间、发送时间可以控制,从而增加对待测系统进行的操作的可控性。
结合第一方面,在第一方面的某些实现方式中,所述激励发生器包括控制单元,所述控制单元包括:接口控制子单元,用于控制接口,所述接口用于所述激励向量的发送。通过控制单元控制接口,从而控制激励向量的发送,从而使得激励向量向其他器件、单元等发送激励向量可以控制。
结合第一方面,在第一方面的某些实现方式中,所述约束单元确定的所述字段信息还包括权重,所述权重用于所述解析单元确定数值取值范围包括的数值生成为字段的数值的几率。通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
结合第一方面,在第一方面的某些实现方式中,在所述解析单元生成的字段为地址字段时,所述解析单元根据所述字段的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现对待测系统的连续地址进行测试。
结合第一方面,在第一方面的某些实现方式中,所述激励发生器包括控制单元,所述控制单元包括:激励控制子单元,用于获得约束单元确定的数量信息,并控制解析单元生成的激励向量数量。通过控制解析单元生成激励向量数量,可以激励发生器生成激励向量的可控性。
结合第一方面,在第一方面的某些实现方式中,所述激励发生器包括控制单元,所述控制单元包括:激励控制子单元,用于获得约束单元确定的时间信息,并控制解析单元生成激励向量的时刻。通过控制解析单元生成激励向量时刻,可以激励发生器生成激励向量的可控性。
结合第一方面,在第一方面的某些实现方式中,所述激励向量用于指示对所述待测系统进行写操作。
结合第一方面,在第一方面的某些实现方式中,其特征在于,所述激励向量用于指示对所述待测系统进行读操作。
结合第一方面,在第一方面的某些实现方式中,所述激励发生器应用在硬件上。
在一些实现方式中,所述激励发生器应用在基于AXI协议接口的硬件设备上。
结合第一方面,在第一方面的某些实现方式中,所述激励发生器应用在通用总线模型中。
第二方面,提供了一种激励发生方法,包括:确定字段信息;产生随机数值;根据所述字段信息以及所述随机数值生成字段,并拼接所述字段以生成激励向量,所述激励向量用于指示对待测系统进行的操作。通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
结合第二方面,在第二方面的某些实现方式中,所述字段信息包括字段的数值取值范围。通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
结合第二方面,在第二方面的某些实现方式中,确定生成的所述激励向量的数量信息;根据所述数量信息控制所述激励向量的生成数量。从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
结合第二方面,在第二方面的某些实现方式中,确定生成的所述激励向量的时间信息;根据所述时间信息控制所述激励向量的生成时刻。从而使得激励向量的生成时间、发送时间可以控制,从而增加对待测系统进行的操作的可控性。
结合第二方面,在第二方面的某些实现方式中,所述字段信息还包括权重,所述权重用于确定数值取值范围包括的数值生成为字段的数值的几率。通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
结合第二方面,在第二方面的某些实现方式中,在生成的字段为地址字段时,根据所述字段的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现对待测系统的连续地址进行测试。
结合第二方面,在第二方面的某些实现方式中,所述激励向量用于指示对所述待测系统进行写操作。
结合第二方面,在第二方面的某些实现方式中,所述激励向量用于指示对所述待测系统进行读操作。
结合第二方面,在第二方面的某些实现方式中,所述方法应用在硬件上。
在一些实现方式中,所述方法应用在基于AXI协议接口的硬件设备上。
结合第二方面,在第二方面的某些实现方式中,所述方法应用在通用总线模型中。
第三方面,提供一种用于测试芯片的设备,其包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,使得上述第一方面及其任一种可能的实现、第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。
第四方面,提供一种计算机可读存储介质,其存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理器执行时,使得上述第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。
附图说明
图1是包括通用总线模型的仿真测试系统示意图。
图2是一种激励发生器的示意性结构图。
图3是另一种激励发生方法。
图4是一种对待测系统进行测试的系统示意性结构框图。
具体实施方式
首先简单介绍本申请中涉及的相关术语。
高速总线标准协议(Advanced eXtensible Interface,AXI):总线作为芯片内部各子系统和模块之间的连接接口,是芯片设计中不可缺少的部分。高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,作为子系统模块之间共享的通信链路。AXI属于AMBA总线中的一种高速总线标准协议,用于高性能、高带宽、低延迟的片内总线场景。芯片内的主设备(Master设备),如CPU、GPU等多采用AXI总线接口。
AXI协议是基于突发事件传输(Burst Transaction),每个突发传输(Burst)中传输一至多个一拍数据(Beat)。
AXI协议定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。写入数据的流程为主设备(Master设备)通过写地址通道发出写入请求,从设备(Slave设备)通过写数据通道发送写入的数据,从设备在完成动作后,通过写响应通道发送确认信息。读取数据的流程为主设备通过读地址通道发出读取请求,从设备通过读数据通道将读取的数据发送给主设备。
读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。
读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。
写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,主设备无需等待从设备对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16...1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。
写响应通道:从设备使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。
其中,写地址通道主要包括信号如表1所示:
表1
信号 | 功能 |
写突发传输类型(awburst) | Burst type,共有三种类型,如FIXED等 |
写宽度类型(awsize) | Burst size,给出每次突发传输数据位宽 |
写长度类型(awlen) | Burst length,给出每次突发传输的beat数量 |
写地址(awaddr) | 给出一次写突发传输的写地址 |
读地址通道主要包括信号如表2所示:
表2
信号 | 功能 |
读突发传输类型(arburst) | Burst type,共有三种类型,如FIXED等 |
读宽度类型(arsize) | Burst size,给出每次突发传输数据位宽 |
读长度类型(arlen) | Burst length,给出每次突发传输的beat数量 |
读地址(araddr) | 给出一次读突发传输的读地址 |
读数据通道和写数据主要包括信号如表3所示:
表3
信号 | 功能 |
写数据(wdata) | 用于进行数据传输 |
读数据(rdata) | 用于进行数据传输 |
随着大规模集成电路(Integrated Circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design UnderTest,DUT)进行准确快速的仿真测试。在仿真测试中,如何生成激励向量,以对待测系统进行操作来进行仿真测试是亟需解决的技术问题。
鉴于此,本申请提供了一种激励发生器和激励发生方法,该激励发生器以及激励发生方法通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
下面,对本申请的激励发生器和激励发生方法的应用场景进行说明。
本申请的激励发生器和激励发生方法可以在硬件中实现,其中,激励发生器中所包括的各单元可以通过电路结构实现。激励发生方法可以应用在电路结构中。作为一种实现方式,本申请所述的激励发生器和激励发生方法可以应用于一种通用总线模型(GeneralBus Model,GBM)中。图1是包括通用总线模型的仿真测试系统示意图。仿真测试系统10中包括激励发生器11、调度器12以及通用总线模型13。其中,激励发生器11用于生成激励向量,调度器12用于将激励向量加载到通用总线模型13。通用总线模型13用于根据激励向量产生激励信号输入到待测系统20(Design Under Test,DUT),并接收DUT输出的响应信号,从而进行仿真行为,以对DUT的功能进行测试。其中DUT是在硬件仿真平台上实现的待测系统,例如片上系统(System On Chip,SOC)、芯片的子系统或功能模块等。GBM与DUT基于总线协议(例如高级可扩展接口(Advanced eXtensible Interface,AXI))进行信号交互。
上述过程中,激励向量的生成以及调度都可以在DUT的仿真行为开始前完成,调度器12从通用总线模型13获取测试结果信息可以在接收到GBM发送的测试结束信号之后。因此,仿真行为中DUT和仿真测试系统10的信号交互可以只发生在硬件环境中的GBM和DUT之间,仿真测试的运行过程不依赖系统内软件部分和硬件部分的信息交互。
在仿真系统10中,激励发生器11和调度器12可以运行在软件测环境中(例如服务器或个人计算机的操作系统),通用总线模型13运行在硬件环境中(例如硬件仿真器(Emulator)或现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等。除此之外,激励发生器11和调度器12根据系统需要也可以在硬件环境中实现,例如,可以将激励发生器以功能模块的形式集成在GBM中,从而由硬件实现激励发生器和调度器的相应功能。
本申请的激励发生器和激励发生方法可以应用在上述的通用总线模型13上。在一些实现方式中,通用总线模型13可以应用在硬件上。在一些实现方式中,通用总线模型13可以应用在在硬件上的仿真(Emulation)、模拟(Simulation)或者现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)仿真平台。
在一些实现方式中,通用总线模型也可以应用在具有基于高级可扩展接口AXI协议总线接口的硬件设备上。通用总线模型13可以基于AXI总线协议,写操作使用三个通道:写地址通道、写数据通道、写响应通道,GBM通过写地址通道向DUT发送指示写入数据的地址的信号,通过写数据通道向DUT发送指示写入的数据的信号,通过写响应通道接收DUT发送的写操作的响应信号。读操作使用两个通道:读地址通道、读响应通道,GBM通过读地址通道向DUT发送指示读取数据的地址的信号,通过写响应通道接收DUT发送的读操作的响应信号以及读取的数据的信号。可选地,GBM根据使用需求可以只包括写操作所用的通道,或只包括读操作所用的通道,也可以同时包括写操作和读操作所用的通道。
除了上述的通用总线模型13以外,本申请的激励发生器和激励发生方法也可以根据实际情况应用在其它软件、硬件或是固件中,或是应用在其它仿真器、服务器中等,编写代码可以为Verilog、Python等,本申请不对此作出限制。
图2是本申请实施例提供的一种激励发生器200的示意性结构图。下面结合图2对激励发生器200的结构进行说明。
激励发生器200包括约束单元100、发生单元200和解析单元300。其中:
约束单元100,用于确定字段信息。
其中,约束单元100可以为表格形式(table)。
其中,字段信息可以包括字段的数值取值范围。数值取值范围表达形式可以为多种形式。例如数值取值范围的表达形式为包括N个字符,其中N为正整数,如[1,2,5,7],即可以从[1,2,5,7]中取值作为字段的数值。除此之外,数值取值范围的表达形式还可以为数值的最小值~数值的最大值,如[0~15],即可以从[0~15]中取值作为字段的数值。其中,在数值的最小值与数值的最大值相等的情况下,字段的为固定值,如[2~2]。通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
除此之外,字段信息还可以包括权重(weight),权重用于确定数值取值范围包括的数值生成为字段的数值的几率。例如,字段的第一取值范围为[0~2], 第一取值范围[0~2]的权重为2,字段的第二取值范围为[3~5], 第二取值范围[3~5]的权重为8,则字段信息指示生成20%的数值在0~2的字段,以及生成80%的数值在3~5的字段。通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
可选地,约束单元还可以用于确定生成激励向量的数量信息。从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
可选地,约束单元还可以用于确定生成的激励向量的时间信息。其中,时间信息可以为对激励向量的生成间隔(interval)的限制。从而使得激励向量的生成时间、发送时间可以控制,从而增加对待测系统进行的操作的可控性。
发生单元200,用于产生随机数值。
其中,发生单元200生成的随机数值除可以应用于解析单元300生成字段的数值以外,可选地,随机数值还可以应用为激励向量的生成时间。
解析单元300,获得所述字段信息以及随机数值,并根据字段信息以及随机数值生成字段,并拼接字段以生成激励向量,激励向量用于指示对待测系统进行的操作。
其中,解析单元300生成字段的方式可以为根据字段信息确定生成的随机数符合字段信息的条件,并生成字段的数值。其中,解析单元300可以使用电路结构实现。
生成的字段可以包括多个字段,以其中的地址字段、宽度字段以及长度字段为例,地址字段可以具体用于指示利用激励向量生成的用于待测系统的写地址或者读地址。宽度字段可以用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数据位宽。长度字段用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数量。
其中,解析单元300生成的地址字段可以为随机地址,即根据字段信息包括的数值取值范围、权重随机生成。除此之外,解析单元300生成的地址字段还可以为连续地址,此时解析单元300根据字段的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据解析单元300生成的宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现对待测系统的连续地址进行测试。从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现对待测系统的连续地址进行测试。
可选地,激励发生器还可以包括控制单元400。控制单元400可以包括:
接口控制子单元410,接口控制子单元410控制接口,其中接口用于激励向量的发送。通过控制单元控制接口,从而控制激励向量的发送,从而使得激励向量向其他器件、单元等发送激励向量可以控制。
激励控制子单元420,用于获得约束单元100确定的数量信息,并控制解析单元300生成激励向量的数量,其中生成激励向量的数量可以为一定,也可以为无限多的数量。通过控制解析单元生成激励向量数量,可以激励发生器生成激励向量的可控性。除此之外,激励控制子单元420还可以用于获得约束单元100确定的时间信息,并控制解析单元300生成激励向量的时刻。通过控制解析单元生成激励向量时刻,可以激励发生器生成激励向量的可控性。
其中,作为一种激励控制子单元420的控制方式,激励控制子单元420可以包括计数器,计数器用于用于计数单次激励向量的生成时间,激励控制子单元420检查在生成时间内,生成激励向量的数量是否达到约束单元100确定的数量,如果没有达到,可以利用使能信号(enable)继续控制解析单元300生成激励向量。
可选地,激励发生器还可以包括看板单元,用于存储字段信息。除字段信息以外,看板单元400还可以用于存储其他信息,例如时间信息等,本申请不对此作出限制。通过看板单元用于记录激励向量中的具体信息,可以方便检测人员在对待测系统进行测试时,查看激励向量的相关信息。
在如图2所示的激励发生器中,通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
在如图2所示的激励发生器中,约束单元200确定的上述信息可以为在对待测系统进行测试前进行配置的,也可以为对待测系统进行调试中动态修改的。
在如图2所示的激励发生器中,在一些实现方式中,生成的激励向量用于指示对所述待测系统进行写操作。在另一些实现方式中,生成的激励向量用于指示对所述待测系统进行读操作。
图2所示的激励发生器可以应用于通用总线模型中,在一些情况下,激励向量能够被通用总线模型解析以生成地址通道的信号。在一些情况下,激励向量能够被通用总线模型解析以生成数据通道的信号。
在图2所示的激励发生器应用于具有AXI协议接口的情况下,在激励向量用于指示对待测系统进行写操作时,地址字段可以具体指示awaddr的生成,宽度字段可以具体指示awsize 的生成,长度字段可以具体指示awlen的生成。与写操作类似,在激励向量用于对待测系统进行读操作时,地址字段可以具体指示araddr的生成,宽度字段可以具体指示arsize 的生成,长度字段可以具体指示arlen的生成。除此之外,生成的字段还可以包括awid、awburst、awlock等,以及arid、arburst、arlock等。
作为一种拼接方式,以对待测系统进行写操作为例,激励向量可以为{awaddr,awlen, awsize,awburst,awlock,awqos,awcache,awprot,awuser,awdomain,awsnoop,awbar,awunique,axextend}。
上文结合图2详细描述了本申请实施例的装置实施例,下面描述本申请实施例的方法实施例,方法实施例与装置实施例相互对应,因此未详细描述的部分可参见前面的装置实施例。
图3是本申请实施例提供的一种激励发生方法。如图3所示,该方法可以包括步骤S510、S520和步骤S530。
S510,确定字段信息。
其中,字段信息可以包括字段的数值取值范围。数值取值范围表达形式可以为多种形式。例如数值取值范围的表达形式为包括N个字符,其中N为正整数,如[1,2,5,7],即可以从[1,2,5,7]中取值作为字段的数值。除此之外,数值取值范围的表达形式还可以为数值的最小值~数值的最大值,如[0~15],即可以从[0~15]中取值作为字段的数值。其中,在数值的最小值与数值的最大值相等的情况下,字段的为固定值,如[2~2]。通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
除此之外,字段信息还可以包括权重(weight),权重用于确定数值取值范围包括的数值生成为字段的数值的几率。例如,字段的第一取值范围为[0~2], 第一取值范围[0~2]的权重为2,字段的第二取值范围为[3~5], 第二取值范围[3~5]的权重为8,则字段信息指示生成20%的数值在0~2的字段,以及生成80%的数值在3~5的字段。通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
S520,产生随机数值。其中,生成的随机数值除可以应用于生成字段的数值以外,可选地,随机数值还可以应用为激励向量的生成时间。
S520,根据字段信息以及随机数值生成字段,并拼接字段以生成激励向量,激励向量用于指示对待测系统进行的操作。
其中,生成字段的方式可以为根据字段信息确定生成的随机数符合字段信息的条件,并生成字段的数值。其中,解析单元300可以使用电路结构实现。
生成的字段可以包括多个字段,以其中的地址字段、宽度字段以及长度字段为例,地址字段可以具体用于指示利用激励向量生成的用于待测系统的写地址或者读地址。宽度字段可以用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数据位宽。长度字段用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数量。
其中,生成的地址字段可以为随机地址,即根据字段信息包括的数值取值范围、权重随机生成。除此之外,生成的地址字段还可以为连续地址,此时生成地址字段的方式为根据字段的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据生成的宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现对待测系统的连续地址进行测试。
在S510步骤的确定字段信息后,还可以确定生成激励向量的数量信息,并根据数量信息控制激励向量的生成数量。从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
除此之外,在S510步骤的确定字段信息后,还可以确定生成的所述激励向量的时间信息,并根据所述数量信息控制所述激励向量的生成时间。其中,时间信息可以为对激励向量的生成间隔(interval)的限制。从而使得激励向量的生成时间、发送时间可以控制,从而增加对待测系统进行的操作的可控性。
作为一种控制激励向量生成数量和生成时间的方式,可以通过计数器计数单次激励向量的生成时间,并检查在生成时间内,生成激励向量的数量是否达到确定的数量,如果没有达到,可以利用使能信号(enable)继续生成激励向量。
在如图3所示的激励发生方法中,通过字段信息生成激励向量,并且利用激励向量指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
在如图3所示的激励发生方法中,确定的上述信息,如字段信息、时间信息、数量信息可以为在对待测系统进行测试前进行配置的,也可以为对待测系统进行调试中动态修改的。
在如图3所示的激励发生方法中,在一些实现方式中,生成的激励向量用于指示对所述待测系统进行写操作。在另一些实现方式中,生成的激励向量用于对所述待测系统进行读操作。
图3所示的激励发生方法可以应用于通用总线模型中,在一些情况下,激励向量能够被通用总线模型解析以生成地址通道的信号。在一些情况下,激励向量能够被通用总线模型解析以生成数据通道的信号。
在图3所示的激励发生方法应用于具有AXI协议接口的情况下,在激励向量用于指示对待测系统进行写操作时,地址字段可以具体指示awaddr的生成,宽度字段可以具体指示awsize 的生成,长度字段可以具体指示awlen的生成。与写操作类似,在激励向量用于对待测系统进行读操作时,地址字段可以具体指示araddr的生成,宽度字段可以具体指示arsize 的生成,长度字段可以具体指示arlen的生成。除此之外,生成的字段还可以包括awid、awburst、awlock等,以及arid、arburst、arlock等。
作为一种拼接方式,以对待测系统进行写操作为例,激励向量可以为{awaddr,awlen, awsize,awburst,awlock,awqos,awcache,awprot,awuser,awdomain,awsnoop,awbar,awunique,axextend}。
本申请如图2、图3的方法和装置实施例可以应用于一种对待测系统进行测试的系统600中。如图4所示,系统600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。应理解,本申请不限定系统500中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线602可包括在系统600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以分别实现前述系统中激励发生器、调度器、通用总线模型或各模块的功能,从而实现上述仿真测试的方法。也即,存储器606上存有用于执行上述仿真测试的方法的指令。
通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现系统600与其他设备或通信网络之间的通信。
此外,本申请实施例还提供一种用于测试芯片的设备,该芯片获取指令并执行该指令来实现上述图3的方法。
可选地,作为一种实现方式,该用于测试芯片的设备包括处理器与通信接口,该处理器通过该通信接口读取存储器上存储的指令,执行上述方法。
可选地,作为一种实现方式,该用于测试芯片的设备还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述图3的方法实施例中的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中的方法。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计字段信息。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种激励发生器,用于对待测系统进行仿真测试,其特征在于,包括:
约束单元,用于确定字段信息,所述字段信息包括字段的数值取值范围;
发生单元,用于产生随机数值;
解析单元,获得所述字段信息以及随机数值,并根据所述数值取值范围以及所述随机数值生成字段,其中生成的所述字段至少包括地址字段、宽度字段、长度字段的其中一种,并拼接所述字段以生成激励向量;
其中,所述激励向量用于指示对所述待测系统进行写操作或者读操作,所述写操作与所述读操作所使用的通道相互独立;
其中,所述约束单元、所述发生单元以及所述解析单元通过电路结构实现。
2.根据权利要求1所述的激励发生器,其特征在于,所述约束单元还用于确定生成激励向量的数量信息。
3.根据权利要求1所述的激励发生器,其特征在于,所述约束单元还用于确定生成的激励向量的时间信息。
4.根据权利要求1所述的激励发生器,其特征在于,所述激励发生器包括控制单元,所述控制单元包括:
接口控制子单元,用于控制接口,所述接口用于所述激励向量的发送。
5.根据权利要求1所述的激励发生器,其特征在于,所述约束单元确定的所述字段信息还包括权重,所述权重用于所述解析单元确定数值取值范围包括的数值生成为字段的数值的几率。
6.根据权利要求1所述的激励发生器,其特征在于,在所述解析单元生成的字段为所述地址字段时,所述解析单元根据所述字段的数值取值范围生成所述地址字段包括的第一子地址字段的数值,并根据所述宽度字段的数值和所述长度字段的数值生成地址字段包括的第二子地址字段的数值。
7.根据权利要求2所述的激励发生器,其特征在于,所述激励发生器包括控制单元,所述控制单元包括:
激励控制子单元,用于获得约束单元确定的数量信息,并控制解析单元生成的激励向量数量。
8.根据权利要求3所述的激励发生器,其特征在于,所述激励发生器包括控制单元,所述控制单元包括:
激励控制子单元,用于获得约束单元确定的时间信息,并控制解析单元生成激励向量的时刻。
9.根据权利要求1-8中任一项所述的激励发生器,其特征在于,所述激励发生器应用在硬件上。
10.根据权利要求1-8中任一项所述的激励发生器,其特征在于,所述激励发生器应用在基于AXI协议接口的硬件设备上。
11.一种激励发生方法,用于对待测系统进行仿真测试,其特征在于,所述方法包括:
采用约束单元确定字段信息,所述字段信息包括字段的数值取值范围;
采用发生单元产生随机数值;
采用解析单元根据所述数值取值范围以及所述随机数值生成字段,其中生成的所述字段至少包括地址字段、宽度字段、长度字段的其中一种,并拼接所述字段以生成激励向量,所述激励向量用于指示对所述待测系统进行的操作;
其中,所述激励向量用于指示对所述待测系统进行写操作或者读操作,所述写操作与所述读操作所使用的通道相互独立;
所述约束单元、所述发生单元以及所述解析单元通过电路结构实现。
12.根据权利要求11所述的方法,其特征在于,在确定字段信息后,还包括:
确定生成的所述激励向量的数量信息;
根据所述数量信息控制所述激励向量的生成数量。
13.根据权利要求11所述的方法,其特征在于,在确定字段信息后,还包括:
确定生成的所述激励向量的时间信息;
根据所述时间信息控制所述激励向量的生成时刻。
14.根据权利要求11所述的方法,其特征在于,所述字段信息还包括权重,所述权重用于确定数值取值范围包括的数值生成为字段的数值的几率。
15.根据权利要求11所述的方法,其特征在于,在生成的字段为所述地址字段时,根据所述字段的数值取值范围生成所述地址字段包括的第一子地址字段的数值,并根据所述宽度字段的数值和所述长度字段的数值生成地址字段包括的第二子地址字段的数值。
16.根据权利要求11-15中任一项所述的方法,其特征在于,所述方法应用在硬件上。
17.根据权利要求16所述的方法,其特征在于,所述方法应用在基于AXI协议接口的硬件设备上。
18.一种用于测试芯片的设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述测试芯片的设备执行如权利要求11-15中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理器执行时,如权利要求11-15中任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702369.8A CN115658413B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器和激励发生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702369.8A CN115658413B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器和激励发生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658413A CN115658413A (zh) | 2023-01-31 |
CN115658413B true CN115658413B (zh) | 2023-04-11 |
Family
ID=85022360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211702369.8A Active CN115658413B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器和激励发生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658413B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643979B2 (en) * | 2006-01-17 | 2010-01-05 | Rambus Inc. | Method to analyze an analog circuit design with a verification program |
CN101551749B (zh) * | 2009-05-11 | 2012-08-22 | 中国科学院计算技术研究所 | 随机测试程序生成方法和系统以及设计验证方法 |
CN101894591B (zh) * | 2010-07-26 | 2012-10-10 | 清华大学 | 一种基于lfsr的外部存储接口的随机测试装置 |
CN102623069B (zh) * | 2012-02-13 | 2014-09-03 | 山东华芯半导体有限公司 | 随机激励闪存模型验证方法 |
CN103020395B (zh) * | 2012-12-31 | 2015-08-05 | 上海高清数字科技产业有限公司 | 解复用接口模块的验证方法及验证系统 |
CN104573228B (zh) * | 2015-01-06 | 2017-06-27 | 中国人民解放军国防科学技术大学 | 面向兼容设计的微处理器硅后验证装置与验证方法 |
CN113986637A (zh) * | 2021-11-18 | 2022-01-28 | 北京工商大学 | 基于UVM的Level-2行情解码电路验证激励生成方法与验证平台 |
CN114325311A (zh) * | 2021-12-17 | 2022-04-12 | 无锡中微亿芯有限公司 | 一种测试向量的编码方法 |
CN115202947B (zh) * | 2022-08-02 | 2023-05-23 | 无锡众星微系统技术有限公司 | 基于调试接口的芯片测试向量生成方法 |
-
2022
- 2022-12-29 CN CN202211702369.8A patent/CN115658413B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115658413A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289779B2 (en) | Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor | |
CN114880977B (zh) | 软硬件联合仿真系统、方法、装置、设备和存储介质 | |
US20110078350A1 (en) | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency | |
US20150355933A1 (en) | System and methods for generating and managing a virtual device | |
US20070061127A1 (en) | Apparatus and method for connecting hardware to a circuit simulation | |
CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US7225288B2 (en) | Extended host controller test mode support for use with full-speed USB devices | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
CN115691651A (zh) | 一种用于测试芯片的方法和装置 | |
CN115685785B (zh) | 通用总线模型和仿真测试的方法 | |
US6633937B2 (en) | GPIB system and method which performs autopolling using heuristics | |
CN112579508A (zh) | 一种数据处理方法、数据处理装置、设备及存储介质 | |
CN103198001A (zh) | 能够自测pcie接口的存储系统及测试方法 | |
CN115658413B (zh) | 一种激励发生器和激励发生方法 | |
CN115659885B (zh) | 仿真测试的系统和方法 | |
CN107239418A (zh) | 数据存储模块读写装置及i2c通讯方法 | |
US20060052995A1 (en) | Simulation apparatus and method | |
CN115658411B (zh) | 一种激励发生器以及激励发生方法 | |
US20150227661A1 (en) | Computer product, simulation apparatus, simulation method, bus model, and bus circuit | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
JP2005100174A (ja) | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 | |
CN115684897B (zh) | 芯片测试的方法和装置 | |
CN110321574B (zh) | 一种打印波形的方法和装置 | |
US6816829B1 (en) | System and method to independently verify the execution rate of individual tasks by a device via simulation | |
CN113673106B (zh) | 一种fpga内核可编程仿真器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |