CN117724912A - 芯片fpga原型验证的目标触发点确定系统 - Google Patents
芯片fpga原型验证的目标触发点确定系统 Download PDFInfo
- Publication number
- CN117724912A CN117724912A CN202311731727.2A CN202311731727A CN117724912A CN 117724912 A CN117724912 A CN 117724912A CN 202311731727 A CN202311731727 A CN 202311731727A CN 117724912 A CN117724912 A CN 117724912A
- Authority
- CN
- China
- Prior art keywords
- target
- value
- preset
- module
- fpga
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000005284 excitation Effects 0.000 claims description 30
- 230000009191 jumping Effects 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 22
- 238000004088 simulation Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及芯片验证技术领域,尤其涉及一种芯片FPGA原型验证的目标触发点确定系统,包括FPGA原型验证模块和软件控制模块,其中,所述原型验证模块与软件控制模块相连接;所述FPGA原型验证模块包括FPGA板、设置在所述FPGA板上的触发配置表和数据处理模块,数据处理模块实时从FPGA原型系统的预设接口读取中间状态数据与触发配置表结合确定目标触发点。本发明提高了芯片FPGA原型验证的目标触发点确定的准确性和效率。
Description
技术领域
本发明涉及芯片验证技术领域,尤其涉及一种芯片FPGA原型验证的目标触发点确定系统。
背景技术
随着芯片验证技术的不断发展,在FPGA原型系统对芯片硬件逻辑进行更全面的验证的需求日益增加,这必然要求调试(debug)方法必须能够有效应对各种复杂场景的问题。FPGA原型系统仅能直接获取到输入端口的数据,无法获取到内部信号的变化状况,传统的debug方法应用于FPGA原型验证系统时通常只能提供有限的信息,并且仅适用于简单场景的问题。而当芯片硬件逻辑更加复杂,出现的问题难以重现或存在一些上板后的物理特性时,传统的debug方法难以在短时间内快速发现目标触发点,确定触发点之后才可以获取目标debug数据对FPGA原型系统进行debug。由此可知,如何准确快速地确定FPGA原型验证系统的目标触发点成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种芯片FPGA原型验证的目标触发点确定系统,提高了目标触发点确定的准确性和效率。
根据本发明一方面,提供了一种芯片FPGA原型验证的目标触发点确定系统,包括FPGA原型验证模块和软件控制模块,其中,所述原型验证模块与软件控制模块相连接;
所述FPGA原型验证模块包括FPGA板、设置在所述FPGA板上的触发配置表和数据处理模块,其中,所述FPGA板上烧录有待验证芯片对应的门级网表;所述触发配置表包括M条触发配置信息{A1,A2,…,Am,…,AM},Am为第m条触发配置信息,m的取值范围为1到M,Am=(A1m,A2m, A3m),A1m为Am的触发位标识信息,A2m为Am的触发约束信息,A3m为Am的触发执行指令;A3m包括跳转至Aj、将当前时刻确定为目标触发点;j的取值范围为1到M,Aj≠Am,设置A1为初始目标Am;
所述软件控制模块用于配置FPGA原型验证模块的初始状态,向FPGA原型验证模块的输入端口输入激励信息;
所述FPGA原型验证模块从初始状态开始运行,基于输入端口接收的激励信息对所述待验证芯片执行FPGA原型验证;
所述数据处理模块用于实时从FPGA原型系统的预设接口读取中间状态数据,当所读取的中间状态数据出现当前目标Am对应的目标A1m时,判断后续读取的中间状态数据是否符合当前目标Am对应的目标A2m,当符合目标A2m时,若当前目标Am对应的目标A3m为将当前时刻确定为目标触发点指令,则将当前触发点确定为目标触发点,否则,将目标A3m对应的Aj更新为目标Am,继续从FPGA原型系统的预设接口读取中间状态数据进行判断,直至确定目标触发点。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种芯片FPGA原型验证的目标触发点确定系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明通过在FPGA板上设置触发配置表来涵盖各种复杂验证场景,通过FPGA内部的数据处理模块实时从FPGA原型系统的预设接口读取中间状态数据,基于读取输出数据和触发配置表确定目标触发点,提高了目标触发点确定的准确性和效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的芯片FPGA原型验证的目标触发点确定系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种芯片FPGA(Field-Programmable Gate Array)原型验证的目标触发点确定系统,如图1所示,包括FPGA原型验证模块和软件控制模块,其中,所述原型验证模块与软件控制模块相连接,需要说明的是,FPGA原型验证模块为硬件模块,通过硬件实现。软件控制模块为软件模块,基于systemC生成。
所述FPGA原型验证模块包括FPGA板、设置在所述FPGA板上的触发(trigger)配置表和数据处理模块。可以理解的是,FPGA即为现场可编程门阵列。其中,所述FPGA板上烧录有待验证芯片对应的门级网表。需要说明的是,先基于待验证芯片的原始寄存器传输级(Register Transfer Level,简称RTL)代码构建生成RTL仿真模型,基于RTL仿真模型对待验证芯片进行仿真验证,具体可以采用通用验证方法学(UniversalVerificationMethodology, UVM)的方式或软件仿真的方式对待验证芯片进行仿真验证。根据RTL仿真模型的仿真验证结果更新待验证芯片的原始RTL代码,生成待验证芯片的仿真验证代码,基于所述待验证芯片的仿真验证代码生成所述待验证芯片的门级网表。
所述触发配置表包括M条触发配置信息{A1,A2,…,Am,…,AM},Am为第m条触发配置信息,m的取值范围为1到M,Am=(A1m,A2m,A3m),A1m为Am的触发位标识信息,A2m为Am的触发约束信息,A3m为Am的触发执行指令;A3m包括跳转至Aj、将当前时刻确定为目标触发点;j的取值范围为1到M,Aj≠Am,设置A1为初始目标Am。通过设置每一Am,可以应用于各种复杂的应用场景,所述触发配置表中的每一A1m、A2m和A3m均根据待验证芯片的验证需求配置生成,所有A3m对应的跳转信息即可确定对应的流程,触发配置表具体可以通过有限状态机来实现。
所述软件控制模块用于配置FPGA原型验证模块的初始状态,向FPGA原型验证模块的输入端口输入激励信息。需要说明的是,所述软件控制模块也是通过FPGA原型验证模块的输入端口配置FPGA原型验证模块的初始状态。
所述FPGA原型验证模块从初始状态开始运行,基于输入端口接收的激励信息对所述待验证芯片执行FPGA原型验证。
所述数据处理模块用于实时从FPGA原型系统的预设接口读取中间状态数据,当所读取的中间状态数据出现当前目标Am对应的目标A1m时,判断后续读取的中间状态数据是否符合当前目标Am对应的目标A2m,当符合目标A2m时,若当前目标Am对应的目标A3m为将当前时刻确定为目标触发点指令,则将当前触发点确定为目标触发点,否则,将目标A3m对应的Aj更新为目标Am,继续从FPGA原型系统的预设接口读取中间状态数据进行判断,直至确定目标触发点。需要说明的是,FPGA原型系统中包括多个接口,用户无法直接读取接口数据,通过设置在FPGA上的数据处理模块可以读取并结合触发配置表进行判断。
作为一种实施例,A3m还包括向目标地址写入目标数值之后跳转至Aj。若当前目标Am对应的目标A3m为向目标地址写入目标数值之后跳转至Aj,则所述数据处理模块先将目标A3m中的目标地址和目标数值发送给所述软件控制模块,所述软件控制模块基于目标A3m中的目标地址和目标数值生成激励信息,将生成的激励信息发送给所述FPGA原型验证模块的输入端口,然后将目标A3m对应的Aj更新为目标Am,继续从FPGA原型系统的预设接口读取中间状态数据进行判断,直至确定目标触发点。需要说明的是,软件控制模块按照预设的激励顺序向FPGA原型验证模块的输入端口发送激励数据,但若当前目标Am对应的目标A3m为向目标地址写入目标数值之后跳转至Aj,所述软件控制模块接收到数据处理模块发送的目标A3m中的目标地址和目标数值时,会先暂停发送预设的激励顺序中的激励数据,所述软件控制模块先基于目标A3m中的目标地址和目标数值生成激励信息,将生成的激励信息发送给所述FPGA原型验证模块的输入端口,然后再继续按照预设的激励顺序向FPGA原型验证模块的输入端口发送激励数据。
FPGA原型系统的预设接口的位数是固定的,例如为64位,那么从FPGA原型系统的预设接口读取中间状态数据永远为64位,数据处理模块并非每次需要对这全部的64位数据进行处理,而可能进针对其中的某几位数据,可以灵活设置,因此更进一步可以涵盖多种复杂验证场景。作为一种实施例,A1m包括第一判断位A11m和A11m对应的第一判断值A12m,A2m包括第二判断位A21m和A21m对应的约束条件A22m;所述数据处理模块用于实时从FPGA原型系统的预设接口读取中间状态数据,判断当前读取的中间状态数据中当前目标Am对应的目标A11m的值是否为当前目标Am对应的目标A12m,若是,则判断后续读取的中间状态数据中目标Am对应的目标A21m对应的值是否符合目标Am对应的目标A22m,若符合,则执行目标Am对应的A3m。
触发约束信息可以有多种类型,以下具体分为三种类型来说明:
类型一、
作为一种实施例,A22m包括目标A21m对应的值大于预设约束值A23m、目标A21m对应的值大于等于预设约束值A23m、目标A21m对应的值小于预设约束值A23m、目标A21m对应的值小于等于预设约束值A23m、目标A21m对应的值等于预设约束值A23m。
所述数据处理模块包括比较器,所述比较器支持大于、大于等于、小于、小于等于、等于的比较操作。
若目标A22m为目标A21m对应的值大于预设约束值A23m、目标A21m对应的值大于等于预设约束值A23m、目标A21m对应的值小于预设约束值A23m、目标A21m对应的值小于等于预设约束值A23m、目标A21m对应的值等于预设约束值A23m中的任何一个,则将目标A21m对应的值和预设约束值A23m输入所述比较器中,判断目标A21m对应的值是否符合目标Am对应的目标A22m。比较器会基于具体的A22m对输入的目标A21m对应的值和预设约束值A23m进行对比,从而得出是否符合目标A22m的结论。
类型二、
作为一种实施例,A22m包括目标A21m对应的值出现等于预设数值A24m的次数达到预设次数值A25m;所述数据处理模块中设置有计数器。
若目标A22m为当前目标Am对应的目标A11m的值等于当前目标Am对应的目标A12m,则启用所述计数器开始记录目标A21m对应的值出现等于预设数值A24m的次数,若达到预设次数值A25m,则确定符合目标A2m。
类型三、
作为一种实施例,A22m包括进入目标Am的时间达到预设时间长度A26m;所述数据处理模块包括计时器。
若目标A22m为进入目标Am的时间达到预设时间长度A26m,则启动所述计时器,从当前目标Am对应的目标A11m的值等于当前目标Am对应的目标A12m时开始计时,当所计时间达到预设时间长度A26m,则确定符合目标A2m。
确定目标触发点之后,可以基于目标触发点进一步获取目标debug数据,对芯片FPGA原型验证进行debug。具体可以采用现有的基于目标触发点获取目标debug数据的方式实现,本发明实施例进一步提出了一种基于目标触发点获取目标debug数据的方式,具体的,所述系统还包括存储模块,所述软件控制模块分别与FPGA原型验证模块和存储模块相连接,所述存储模块与FPGA原型验证模块相连接。
FPGA原型验证模块输入端口按照时钟进行分组,可以从输入端口选择Y个时钟对应的输入激励数据作为待转存数据,待转存数据大小为X,FPGA原型验证模块的状态可能始终保持初始状态不变,也可能随着激励数据的输入发生状态变化。
所述存储模块包括第一存储区域,所述第一存储区域包括N个存储单元(B1,B2,…,Bn,…,BN),Bn为第n个存储单元,n的取值范围为1到N,Bn的大小大于(X+Y);所述软件控制模块控制将所述FPGA原型验证模块的输入端口中所述选择的Y个时钟对应的待转存数据以及所述选择的Y个时钟数据作为待存储数据,按照B1,B2,…,Bn,…,BN的顺序向所述第一存储区域存储所述待存储数据,当向Bn中存储所述待存储数据时,先判断Bn当前剩余的存储空间是否大于等于(X+Y),若是,则将所述待存储数据存储至Bn中,否则,将所述待存储数据存储至Bn+1中,当存储至BN且BN中的存储空间小于(X+Y)时,将所述待存储数据存储至B1中。需要说明的是,第一存储区域为存储模块中的一部分存储区域,即仅为存储模块的一部分,本发明以循环覆盖的方式向第一存储区域中存储FPGA原型验证模块的输入端口的输入激励数据以及对应的时钟数据,FPGA原型验证模块的输入端口的输入激励数据以及对应的时钟数据最多占用的存储空间为第一存储区域的空间,而不是整个存储模块的空间,节省了FPGA原型验证模块的输入端口的输入激励数据以及对应的时钟数据做占据存储空间的大小,此外,在未发现异常的情况下,才会继续向第一存储区域的空间中存储数据,因此第一存储区域中被覆盖的数据均为非目标debug数据。通过循环覆盖的方式使得第一存储区域中始终保存的是当前时刻临近一段时间的数据。
当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块基于所述目标触发点获取所述第一存储区域中所存储的数据作为目标debug数据。需要说明的是,获取目标debug数据时,最多只需处理第一存储区域对应的数据量的数据,极大减小了数据处理量,提高了目标debug数据的获取效率。其中,目标触发点为需要进行debug的点。
当确定目标触发点之后,可以根据不同的应用需求获取目标触发点前后不同范围内的数据。作为一种实施例,当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块将所述目标触发点对应的Bn作为终点,不再向所述第一存储区域存储数据,将当前所述第一存储区域中的数据按照存入顺序排序后得到所述目标debug数据。需要说明的是,此类场景适用于需要获取目标触发点之前的debug数据的情况,若确定目标触发点时,第一存储区域为存满的状态,那么获取到的目标debug数据的数据量为N×(X+Y),否则,获取的目标debug数据的数据量为P×(X+Y),0<P<N, P为目标触发点对应的数据在第一存储区域中所位于的存储单元的序号。
作为一种实施例,当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块将所述目标触发点对应的Bn作为起点,继续从FPGA原型验证模块的获取(N-1)个待存储数据,依次存储至所述第一存储区域,然后将所述第一存储区域中的数据按照存入顺序排序后得到所述目标debug数据。需要说明的是,此类场景适用于需要获取目标触发点之后的debug数据的情况,此种情况下获取的目标debug数据的数据量为N×(X+Y)。
作为一种实施例,当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块将所述目标触发点对应的Bn作为起点,继续从FPGA原型验证模块的获取D×N/(C+D)个待存储数据,依次存储至所述第一存储区域,然后将所述第一存储区域中的数据按照存入顺序排序后得到所述目标debug数据,其中,C和D为占比参数,所述目标debug数据中,目标触发点以及目标触发点之前的数据量与目标触发点之后的数据量比值为C:D。需要说明的是,此类场景适用于需要按比例获取目标触发点前后debug数据的情况,此种情况下获取的目标debug数据的数据量为N×(X+Y)。
作为一种实施例,所述存储模块还包括第二存储区域,若所述待验证芯片的为状态保持不变的芯片,则将初始状态信息存储至所述第二存储区域。当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块将所述第二存储区域中所存储的初始状态信息也确定为目标debug数据。
作为一种实施例,所述存储模块还包括第二存储区域,若所述待验证芯片为状态可变芯片,则将FPGA原型验证过程中所出现的所有状态数据均记录在所述第二存储区域中,并建立状态数据和存入所述第一存储区域的数据的映射关系,当所述第二存储区域中的一个状态数据在第一存储区域存储的数据全部被覆盖时,将该状态数据以及对应的映射关系信息从所述第二存储区域中删除。当所述FPGA原型验证模块运行至目标触发点时,所述软件控制模块从所述第二存储区域中获取所述第一存储区域中每一被确定为目标debug数据的数据对应的状态信息,将所述第一存储区域中每一被确定为目标debug数据的数据对应的状态信息也确定为目标debug数据。
作为一种实施例,可以在所述第二存储区域中也设置N个存储单元,与第一存储区域中的N个存储单元(B1,B2,…,Bn,…,BN)一一对应,每个存储单元对应存储述第一存储区域中的一个存储单元中所存储的激励数据的其实FPGA原型验证系统的状态数据。
作为一种实施例,所述目标debug数据包括(E1,E2,…,En,…,EN),En为第n组目标debug数据,En=(E1n,E2n,E3n),E1n为En对应的激励数据,E2n为E1n对应的时钟数据,E3n为En对应的起始FPGA原型验证系统的状态数据,E1,E2,…,En,…,EN按照时序排序。需要说明的是E1n包括多个按照执行顺序排列的激励数据,E2n中包括多个与E1n中的激励数据一一对应的时钟数据,E3n中仅包括一组En对应的起始FPGA原型验证系统的状态数据,无需存储E1n中每一激励数据对应的FPGA原型验证系统的状态数据。将所述目标debug数据按照时序回灌至所述RTL仿真模型中进行debug具体包括:
步骤S1、设置N个RTL仿真模型。
步骤S2、将第n个RTL仿真模型的起始状态设置为E3n。
步骤S3、并行将每一E1n输入对应的第n个RTL仿真模型中进行仿真,根据E1n和E2n的对应关系设置时钟数据,实时观测每一RTL仿真模型中信号的变化,确定目标异常点。
其中,激励数据对应的时钟数据为时钟频率,因此根据E1n和E2n的对应关系设置时钟频率即可。
通过步骤S1-步骤S3实现在RTL仿真模型的状态与FPGA原型验证系统的状态保持一致的前提下,按照FPGA原型验证系统的时序向RTL仿真模型中发送对应的记录数据,从而在RTL仿真模型上复现FPGA原型验证系统的数据,进而基于RTL仿真模型实现对FPGA原型验证系统的验证。
需要说明的是,若串行执行E1,E2,…,En,…,EN会非常缓慢。由于En中已经包括了激励数据、时钟数据以及对应的起始FPGA原型验证系统的状态数据,因此可以在RTL仿真模型中独立复现每一组目标debug数据,并行执行所有En,能够极大提高对芯片FPGA原型验证的debug的效率。
作为一种实施例,所述步骤S3包括:
步骤S31、在并行将每一E1n输入对应的第n个RTL仿真模型中进行仿真的过程中,若基于第n个RTL仿真模型出现异常点,则结束第(n+1)个RTL仿真模型至第N个RTL仿真模型的仿真操作,N个RTL仿真模型仿真均结束后,将最先出现的异常点确定为目标异常点。
需要说明的是,目标异常点在靠前位置,因此当发现一个异常点时,后边的仿真过程均可不用再关注,因此结束第(n+1)个RTL仿真模型至第N个RTL仿真模型的仿真操作,节约计算资源。
需要说明的是,由于RTL仿真模型可以观测每个信号的状态,因此,直接将目标debug数据按照时序回灌至所述RTL仿真模型中进行debug,从而实现了对FPGA原型验证系统的debug。
本发明实施例通过在FPGA板上设置触发配置表来涵盖各种复杂验证场景,通过FPGA内部的数据处理模块实时从FPGA原型系统的预设接口读取中间状态数据,基于读取输出数据和触发配置表确定目标触发点,提高了目标触发点确定的准确性和效率。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种芯片FPGA原型验证的目标触发点确定系统,其特征在于,
包括FPGA原型验证模块和软件控制模块,其中,所述原型验证模块与软件控制模块相连接;
所述FPGA原型验证模块包括FPGA板、设置在所述FPGA板上的触发配置表和数据处理模块,其中,所述FPGA板上烧录有待验证芯片对应的门级网表;所述触发配置表包括M条触发配置信息{A1,A2,…,Am,…,AM},Am为第m条触发配置信息,m的取值范围为1到M,Am=(A1m,A2m,A3m),A1m为Am的触发位标识信息,A2m为Am的触发约束信息,A3m为Am的触发执行指令;A3m包括跳转至Aj、将当前时刻确定为目标触发点;j的取值范围为1到M,Aj≠Am,设置A1为初始目标Am;
所述软件控制模块用于配置FPGA原型验证模块的初始状态,向FPGA原型验证模块的输入端口输入激励信息;
所述FPGA原型验证模块从初始状态开始运行,基于输入端口接收的激励信息对所述待验证芯片执行FPGA原型验证;
所述数据处理模块用于实时从FPGA原型系统的预设接口读取中间状态数据,当所读取的中间状态数据出现当前目标Am对应的目标A1m时,判断后续读取的中间状态数据是否符合当前目标Am对应的目标A2m,当符合目标A2m时,若当前目标Am对应的目标A3m为将当前时刻确定为目标触发点指令,则将当前触发点确定为目标触发点,否则,将目标A3m对应的Aj更新为目标Am,继续从FPGA原型系统的预设接口读取中间状态数据进行判断,直至确定目标触发点。
2.根据权利要求1所述的系统,其特征在于,
A3m还包括向目标地址写入目标数值之后跳转至Aj;
若当前目标Am对应的目标A3m为向目标地址写入目标数值之后跳转至Aj,则所述数据处理模块先将目标A3m中的目标地址和目标数值发送给所述软件控制模块,所述软件控制模块基于目标A3m中的目标地址和目标数值生成激励信息,将生成的激励信息发送给所述FPGA原型验证模块的输入端口,然后将目标A3m对应的Aj更新为目标Am,继续从FPGA原型系统的预设接口读取中间状态数据进行判断,直至确定目标触发点。
3.根据权利要求1所述的系统,其特征在于,
所述触发配置表中的每一A1m、A2m和A3m均根据待验证芯片的验证需求配置生成。
4.根据权利要求1所述的系统,其特征在于,
A1m包括第一判断位A11m和A11m对应的第一判断值A12m,A2m包括第二判断位A21m和A21m对应的约束条件A22m;
所述数据处理模块用于实时从FPGA原型系统的预设接口读取中间状态数据,判断当前读取的中间状态数据中当前目标Am对应的目标A11m的值是否为当前目标Am对应的目标A12m,若是,则判断后续读取的中间状态数据中目标Am对应的目标A21m对应的值是否符合目标Am对应的目标A22m,若符合,则执行目标Am对应的A3m。
5.根据权利要求4所述的系统,其特征在于,
A22m包括目标A21m对应的值大于预设约束值A23 m、目标A21m对应的值大于等于预设约束值A23m、目标A21m对应的值小于预设约束值A23m、目标A21m对应的值小于等于预设约束值A23m、目标A21m对应的值等于预设约束值A23m;
所述数据处理模块包括比较器,所述比较器支持大于、大于等于、小于、小于等于、等于的比较操作;
若目标A22m为目标A21m对应的值大于预设约束值A23m、目标A21m对应的值大于等于预设约束值A23m、目标A21m对应的值小于预设约束值A23m、目标A21m对应的值小于等于预设约束值A23m、目标A21m对应的值等于预设约束值A23m中的任何一个,则将目标A21m对应的值和预设约束值A23m输入所述比较器中,判断目标A21m对应的值是否符合目标Am对应的目标A22m。
6.根据权利要求4所述的系统,其特征在于,
A22m包括目标A21m对应的值出现等于预设数值A24m的次数达到预设次数值A25m;
所述数据处理模块中设置有计数器;
若目标A22m为当前目标Am对应的目标A11m的值等于当前目标Am对应的目标A12m,则启用所述计数器开始记录目标A21m对应的值出现等于预设数值A24m的次数,若达到预设次数值A25m,则确定符合目标A2m。
7.根据权利要求4所述的系统,其特征在于,
A22m包括进入目标Am的时间达到预设时间长度A26m;
所述数据处理模块包括计时器;
若目标A22m为进入目标Am的时间达到预设时间长度A26m,则启动所述计时器,从当前目标Am对应的目标A11m的值等于当前目标Am对应的目标A12m时开始计时,当所计时间达到预设时间长度A26m,则确定符合目标A2m。
8.根据权利要求1所述的系统,其特征在于,
所述软件控制模块为软件模块,所述软件控制模块基于systemC语言生成,所述FPGA原型验证模块为硬件模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311731727.2A CN117724912A (zh) | 2023-12-15 | 2023-12-15 | 芯片fpga原型验证的目标触发点确定系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311731727.2A CN117724912A (zh) | 2023-12-15 | 2023-12-15 | 芯片fpga原型验证的目标触发点确定系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117724912A true CN117724912A (zh) | 2024-03-19 |
Family
ID=90204770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311731727.2A Pending CN117724912A (zh) | 2023-12-15 | 2023-12-15 | 芯片fpga原型验证的目标触发点确定系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117724912A (zh) |
-
2023
- 2023-12-15 CN CN202311731727.2A patent/CN117724912A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100416575C (zh) | 用于集成电路设计的验证系统和方法 | |
JPS6063644A (ja) | デイジタル装置の動作のモデリング方法及び装置 | |
JPH0458072B2 (zh) | ||
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
US5650946A (en) | Logic simulator which can maintain, store and use historical event records | |
US6625572B1 (en) | Cycle modeling in cycle accurate software simulators of hardware modules for software/software cross-simulation and hardware/software co-simulation | |
CN111639470B (zh) | 一种处理器协同芯片的仿真测试方法、系统及相关组件 | |
US6567971B1 (en) | Circuit synthesis method using technology parameters extracting circuit | |
US20090150137A1 (en) | Method for generating performance evaluation model | |
US20020072889A1 (en) | Efficient array tracing in a logic simulator machine | |
CN117724912A (zh) | 芯片fpga原型验证的目标触发点确定系统 | |
US7131087B2 (en) | Multi-cycle path analyzing method | |
US7895026B1 (en) | Multi-rate simulation scheduler for synchronous digital circuits in a high level modeling system | |
US20030083858A1 (en) | Incremental automata verification | |
CN117724913A (zh) | 芯片FPGA原型验证的目标debug数据获取系统 | |
CN117724914A (zh) | 芯片FPGA原型验证的debug方法、电子设备和介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN115705446A (zh) | 集成电路的后仿真方法和装置 | |
CN117150995B (zh) | 驱动源码追踪方法、电子设备和介质 | |
CN115510782B (zh) | 定位验证错误的方法、电子设备和存储介质 | |
KR102558036B1 (ko) | Python을 활용한 RTL 설계 검증 자동화 방법 및 시스템 | |
CN116151187B (zh) | 处理触发条件的方法、装置和存储介质 | |
CN115756996B (zh) | 一种芯片测试方法、装置、设备及可读存储介质 | |
JPH0696151A (ja) | ロジックシミュレーション装置 | |
US20210173989A1 (en) | Simulation signal viewing method and system for digital product |
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 |