CN117436378A - 原型验证方法、装置及系统、电子设备及存储介质 - Google Patents
原型验证方法、装置及系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117436378A CN117436378A CN202311459278.0A CN202311459278A CN117436378A CN 117436378 A CN117436378 A CN 117436378A CN 202311459278 A CN202311459278 A CN 202311459278A CN 117436378 A CN117436378 A CN 117436378A
- Authority
- CN
- China
- Prior art keywords
- rom
- prototype verification
- verification
- prototype
- model
- 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 294
- 238000000034 method Methods 0.000 title claims abstract description 126
- 230000015654 memory Effects 0.000 claims abstract description 91
- 238000013461 design Methods 0.000 claims abstract description 62
- 238000012986 modification Methods 0.000 claims description 56
- 230000004048 modification Effects 0.000 claims description 56
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 65
- 230000006870 function Effects 0.000 description 11
- 238000010276 construction Methods 0.000 description 9
- 230000002194 synthesizing effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供一种原型验证方法、装置及系统、电子设备及存储介质,涉及集成电路验证领域。原型验证方法包括:获取芯片设计文件,所述芯片设计文件包括ROM的配置;基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型;基于所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。上述原型验证方法通过类ROM模型模拟ROM在原型验证中所起的作用,而类ROM模型由可编程存储器构建,可在验证过程中修改配置,由此,无需重新搭建验证环境即可实现不同配置ROM的原型验证,提高原型验证效率。
Description
技术领域
本申请设计集成电路验证领域,具体而言,涉及一种原型验证方法、装置及系统、电子设备及存储介质。
背景技术
目前,会使用原型验证的方式对SOC芯片进行验证,例如,FPGA(FieldProgrammable Gate Array,现场可编程门阵列)原型验证、使emulate仿真平台的原型验证等。
以FPGA原型验证为例,在对SOC(System on Chip,系统级芯片)芯片进行验证时,会对FPGA原型的参数、代码等进行修改,使其转换为芯片的替代,从而使构建能够用于SOC芯片验证的FPGA原型。其中,由于FPGA原型验证对可验证芯片的规模有限,对GPGPU此类超大规模的SOC芯片进行验证时,通常会对芯片进行局部拆分,以多个FPGA原型完成对一个芯片的验证,使得FPGA原型对大规模SOC芯片的验证周期较长。
SOC芯片中会设置有ROM(Read-Only Memory,只读存储器)模块,ROM模块的内容会在设计过程中写死,使得ROM模块在电路设计阶段无法直接进行修改。当ROM模块因异常或不符合要求需要修改,或是SOC芯片的验证需要切换至ROM模块的配置时,则需重新进行编译、综合、布局布线等FPGA原型构建的过程,耗时长,效率低,若涉及SOC芯片的拆分,则可能进一步增加使FPGA原型验证的耗时。
因此,ROM模块的修改与更换会严重影响大规模SOC芯片进行原型验证的效率。
发明内容
有鉴于此,本申请旨在提供一种原型验证方法、装置及系统、电子设备及存储介质,以提高对芯片进行原型验证的效率。
第一方面,本申请实施例提供一种原型验证方法,包括:获取芯片设计文件,所述芯片设计文件包括ROM的配置;基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型;基于所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。
在使用原型验证过程中,仅是对ROM的读操作功能和时序进行验证,并不会验证ROM是否为真实存储的只读存储器,且ROM为一种存储器,故可以使用其他存储器来模拟ROM。在本申请实施例中,可以利用原型验证平台中的可编程存储器构建ROM对应的类ROM模型,以使用类ROM模型来模拟ROM,在验证过程中替代ROM的作用。在验证过程中,由于ROM无法在电路中修改,需修改后重新进行编译、综合、布局布线、测试等流程,因此,相较于直接对ROM进行修改的方式,使用类ROM模型模拟与替代ROM所起的作用,可以使得芯片设计文件能够正常被验证。而由于可编程存储器具有可编程的特性,在原型验证的过程中可以进行修改,则验证时,无需重新进行编译、综合等准确验证环境的流程,从而提高使用原型验证与调试的效率。此外,由于,可编程存储器取自原型验证平台,易于获取与修改,且与原型验证平台有较高的适配性,可以有效提高类ROM模型的配置效率,从而提高验证效率。
一实施例中,所述类ROM模型包括多个,不同所述类ROM模型对应的ROM的配置不同:所述原型验证平台被配置为基于预设的控制信号切换不同所述类ROM模型进行原型验证。
在验证时,ROM可能有不同配置的方案需进行验证,若在一种配置的ROM完成验证后再对类ROM模型的各配置项进行逐个修改,会使得进行验证时效率较低。故本申请实施例中,可以预先配置多种配置ROM对应的类ROM模块,并将原型验证平台配置为基于预设的控制信号切换不同类ROM模型进行原型验证,由此,在验证过程中,可以发出控制信号控制类ROM模型的切换,以模拟不同ROM配置的验证,减少验证过程中修改ROM配置所耗费的时间,提高RPGA原型验证的效率。
一实施例中,所述获取芯片设计文件之后,所述方法还包括:
确定所述芯片设计文件中所述ROM的启动方案;所述启动方案包括所述ROM的配置,且不同所述启动方案之间所包括的所述ROM的配置不同;利用不同的所述启动方案和多个所述可编程存储器分别构建对应的所述类ROM模型。
ROM具有不同的启动方案,不同的启动方案对应的ROM的配置不同,不同的启动方案通常是在ROM进行启动的过程中进行选择,故需使ROM的重启并需重新配置验证环境。而在本申请实施例中,构建不同启动方案对应的类ROM模型,由此,在验证过程中,若需验证不同的启动方案,则可以切换不同的类ROM模型即可,无需重启、重新配置验证环境,有效减少原型验证所需的时间,提高验证效率。
一实施例中,所述基于所述类ROM模型对芯片设计文件进行原型验证之后,所述方法还包括:接收修改指令;所述修改指令包括所述ROM修改后的配置;将所述类ROM模型的配置修改为与所述修改指令中所述ROM修改后的配置匹配,以基于修改后的类ROM模型对所述芯片设计文件进行验证。
本申请实施例中,在验证过程中,可以直接接收对ROM的修改指令,并转换为对相应类ROM模型的修改指令,使得类ROM模型可以模拟修改配置后的ROM,由此,可以在验证过程中实现类似于ROM配置的修改的效果,从而模拟修改后的ROM进行验证,且无需重新进行编译、综合等验证环境构建的过程,有效提高原型验证的效率。
一实施例中,所述可编程存储器包括SRAM(Static Random-AccessMemory,静态随机存取存储器)、寄存器、E2PROM(Electrically ErasableProgrammable Read OnlyMemory,是用电进行擦除的只读存储器,或称为“EEPROM”)中的至少一种。
本申请实施例中,SRAM、寄存器和E2PROM均是存储器,且具有可多次编程操作的特性,可以用于类ROM模型的构建。而由于SRAM、寄存器为常见的存储器,在较多的原型验证平台均预设有对应的存储器文件,因此,SRAM和寄存器易于获取与修改,实现类ROM模型的构建。而E2PROM为一种ROM,但其具有用电进行擦除的可多次编程的特性,使用E2PROM模拟ROM,可以使得类ROM更符合ROM的特性。
一实施例中,所述基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型之后,所述方法还包括:基于所述ROM的接口类型、所述可编程存储器的接口类型,构建转换控制器;所述转换控制器用于将对所述ROM的读取指令转换为对所述类ROM模型的读取指令。
可编程存储器和ROM之间所使用的接口协议可能不同,因此,在本申请实施例中,可以构建转换控制器,以基于转换控制器将对ROM的指令修改为对类ROM模型的指令,从而使得其他电路能够正常对类ROM模型进行读取,进而使类ROM模型能够替代ROM在验证过程中的作用。
第二方面,本申请实施例提供一种原型验证装置,包括:获取模块,用于获取芯片设计文件,所述芯片设计文件包括ROM的配置;构建模块,用于基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型;验证模块,用于基于所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行,以执行如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面所述的方法。
第五方面,本申请所述提供一种原型验证系统,包括:基于芯片设计文件构建的原型;处理设备,与所述原型通信连接,所述处理设备搭载有原型验证平台,用于执行如第一方面任一项所述的原型验证方法。
在验证过程中,由于ROM无法在电路中修改,需修改后重新进行编译、综合、布局布线、测试等流程,在本申请实施例中,利用原型验证平台中的可编程存储器构建ROM对应的类ROM模型,以使用类ROM模型来模拟ROM,在验证过程中替代ROM的作用。相较于直接对ROM进行修改的方式,使用类ROM模型模拟与替代ROM所起的作用,可以使得芯片设计文件能够正常被验证。而由于可编程存储器具有可编程的特性,在原型验证的过程中可以进行修改,则验证时,无需重新进行编译、综合等准确验证环境的流程,从而提高原型验证与调试的效率。此外,由于,可编程存储器取自原型验证平台,易于获取与修改,且与原型验证平台有较高的适配性,可以有效提高类ROM模型的配置效率,从而提高验证效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的第一种原型验证方法的流程图;
图2为本申请实施例提供的第二种原型验证方法的流程图;
图3为本申请实施例提供的ROM子模块切换示意图;
图4为本申请实施例提供的两种原型验证方法结合的流程图;
图5为本申请实施例提供的原型验证装置的示意图;
图6为本申请实施例提供的原型验证系统的示意图;
图7为本申请实施例提供的电子设备的示意图。
图标:原型验证装置200;获取模块210;构建模块220;验证模块230;原型验证系统400;原型410;处理设备420;电子设备500;处理器510;存储器520。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,为便于理解本申请所提供的实施例,先以FPGA原型为例,对原型验证进行说明。其中,本申请所提供的原型验证方法包括但不限于应用于FPGA原型验证、emulate的原型验证等。
FPGA和SOC所使用的代码均是使用Verilog HDL(一种硬件描述语言)开发的,因此,SOC芯片理论上可以在FPGA平台上进行仿真验证。FPGA原型验证可以通过将RTL(寄存器转换级)移植到FPGA上验证SOC的功能和性能。
FPGA原型验证包括两部分,一部分为硬件,一部分为软件。硬件部分通常是通过FPGA板构建与SOC芯片中电路相匹配的FPGA原型,软件部分用于设计SOC芯片移植到FPGA原型上所使用程序。
SOC芯片一般都会设置有ROM,ROM模块作为一种在SOC芯片中常用到的存储文件,它的特性是其内容必须提前在数据文件中写死,后续无法在电路中进行修改。这种特性导致在FPGA原型验证过程中,针对不同配置的ROM,例如,不同boot启动方案对应的ROM配置,或者后续基于FPGA平台的仿真中发现ROM中程序存在bug需要反复修改的调试场景中,需停止当前的验证,并在对ROM仅修改后,重进对FPGA原型进行重复的编译、综合、布局布线等验证环境搭建的流程。
FPGA原型验证对可验证的芯片面积有限制,而对于一些面积较大的心理,例如GPGPU此类超大规模芯片,通常需要拆分为多个不同的区域,每一区域设计一个FPGA原型,并进行组合验证。若涉及ROM的修改,则可能涉及不同区域的电路修改、不同区域之间的协同调整等,需耗费较长时间,以及由于芯片规模较大,编译、综合、布局布线等搭建验证环境的过程也需耗费较长时间。
本申请旨在提供一种原型验证方法,主要涉及原型验证中软件部分的调整,以可编程存储器构建的类ROM模型来模拟ROM在原型验证中所起的作用,以使得ROM的配置能够在验证过程中被修改,减少因ROM修改导致的编译、综合、布局布线等重复搭建验证环境的过程,从而提高FPGA原型验证的效率。
后续将以FPGA原型验证为例对本申请所提供的原型验证方法进行说明,可以理解,本申请所提供的原型验证还可以应用于emulate的原型验证等。请参阅图1,图1为本申请一实施例提供的第一种原型验证方法的流程图。原型验证方法包括:
S110,获取芯片设计文件。
在本申请的实施例中,芯片设计文件中包括ROM的配置。ROM的配置可以包括ROM的内存大小、读写速度、接口类型、控制方式等。此外,在本申请的实施例中,ROM的配置还可以包括ROM内所需存储的数据,也即用于验证时所读取的数据等。
一实施例中,芯片设计文件还可以包括不同的启动方案,每一启动方案对应的ROM的配置及存储的数据不同。
SOC芯片上电复位后,需要boot启动进入引导程序,从而选择不同的ROM内所存储的程序,例如,SPI(Serial Peripheral Interface,串行外设接口)启动方式,DMA(DirectMemory Access,直接内存访问)启动方式等,不同的启动方式对应不同的ROM配置,不同的启动方式及对应的配置构成不同的启动方案。在使用时,可以根据需求选择不同的启动方式,从而选择不同的ROM配置,以更灵活的去实现获取ROM中的数据。
因此,在原型验证时,应当对ROM的每一种启动方案,应当均进行验证。故本实施例中,芯片设计文件中所包括的ROM的配置还可以包括不同的启动方案。
S120,基于ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型。
由于ROM在验证过程中无法修改的特性,使得ROM配置的修改需停止当前的验证工作,在对ROM的配置进行修改后重新搭建验证环境重新测试。因此,为减少因ROM修改导致的重复工作,故需使得ROM的配置能够在测试过程中可进行修改,并以修改后的配置参与测试。
而在FPGA原型验证中,并不涉及ROM是否是真实的只读存储器的验证,而是验证其读操作功能和时序功能,因此,在验证过程中,可以利用其他的能够进行修改的模型来模拟ROM的读操作功能和时序功能,以在验证过程中取代ROM的作用,并实现验证过程中的修改。最后,根据最终验证所使用的ROM的配置对ROM真实的器件进行配置即可。
而若需使得类ROM模型具有可在验证过程中修改的特性,则可以采用可编程的器件模型。由于ROM为一种存储器,故可以采用存储器的模型。因此,在本申请的实施例中,可以基于ROM的配置和可编程存储器构建对应的类ROM模型,以使用可在验证过程中进行修改的类ROM模型模拟ROM在验证过程中所起的作用。
原型验证是在原型验证平台上进行的,因此,在本申请的实施例中,构建类ROM模型所使用的模型可以为原型验证平台中的可编程存储器的模型。
原型验证平台用于对FPGA原型进行调试,原型验证平台可以参考现有技术,在此不再说明。在原型验证平台中,通常会存储有不同器件的模型,例如,存储器的模型、各类功能电路或器件的模型等。采用原型验证平台的可编程存储器构建类ROM模型,可以使得类ROM模型与原型验证平台有较高的适配性,以减少验证过程中因类ROM模型与原型验证平台不匹配、出错的可能性。
示例性地,原型验证平台包括的可编程存储器可以是SRAM、寄存器、E2PROM等,在构建类ROM模型时,可以使用SRAM、寄存器、E2PROM中的其中一种进行构建。当类ROM模型有多个时,也可以选择多个相同或不同的可编程存储器构建不同的类ROM模型。其中,构建类ROM模型的可编程存储器可以根据原型验证平台中所预设有的可编程存储器或可加入该原型验证平台的可编程存储器合理选择,包括但不限于上述所提及的存储器。
此外,由于SRAM、寄存器为常见的存储器,在较多的原型验证平台均预设有对应的存储器文件,因此,SRAM和寄存器易于获取与修改,实现类ROM模型的构建。而E2PROM为一种ROM,但其具有用电进行擦除的可多次编程的特性,使用E2PROM模拟ROM,可以使得类ROM更符合ROM的特性。
ROM与其他存储器所实现的功能是相似的,在构建类ROM模型时,可以基于ROM的配置,修改可编程器件的模型的配置参数,以构建ROM对应的类ROM模型。
ROM与其他存储器的可能存在接口协议不同的区别,使得用于对ROM的读取指令无法直接用于类ROM模型,从而实现读取功能可能无法正常验证。因此,需将对ROM的读取指令转换为对类ROM模型的读取指令。
在本申请的一些实施例中,还可以在基于ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型之后,基于ROM的接口类型、可编程存储器的接口类型,构建转换控制器。其中,转换控制器用于将对ROM的读取指令转换为对类ROM模型的读取指令。
本实施例中,通过构建一个转换控制器,以将对ROM的读取指令转换为对类ROM模型的读取指令,以使得验证过程中能够对类ROM模型进行正确地读取。
其中,验证过程中其他电路、模块可以对ROM进行读取,即其他电路、模块所发出读取指令均可以转换为与ROM匹配的读取指令,那么,在本申请的实施例中,可以进一步将与ROM匹配的读取指令转换为对类ROM模型的读取指令。
因此,本实施例中,转换控制器可支持转换的接口协议至少可以包括构建类ROM模型所使用的可编程存储器的接口协议类型和ROM所使用的接口协议类型进行设置。
在一些实施例中,转换控制器还可以是直接将其他电路或模块的读取指令直接转换为对类ROM模型的读取指令,则转换控制器可支持转换的接口协议可以根据能够对ROM进行读取的电路或模块所使用的接口协议,以及构建类ROM模型所使用的可编程器件的接口协议进行配置。
示例性地,转换控制器可支持转换的接口协议包括但不限于JTAG(Joint TestAction Group,联合测试工作组)、I2C(Inter-IntegratedCircuit,双向二线制同步串行总线)、UART(Universal AsynchronousReceiver-Transmitter,通用异步收发器)、SPI等。
此外,因为ROM在验证过程中是通常不可进行修改的,因此,可以一般不会出现对ROM的写指令。
S130,基于类ROM模型及原型验证平台对芯片设计文件进行原型验证。
本实施例中,可以使用类ROM模型模拟ROM的作用,在原型验证平台中进行原型验证。原型验证的具体过程可以参考现有技术,在此不再展开。
一实施例中,在基于类ROM模型和原型验证平台对芯片设计文件进行原型验证之后,还可以接收修改指令;将类ROM模型的配置修改为与所述修改指令中所述ROM修改后的配置匹配,以基于修改后的类ROM模型对芯片设计文件进行验证。
在本申请的实施例中,设计人员可以在原型验证平台上进行原型验证,在确定ROM的配置需要修改时,可以发出携带有ROM修改后的配置的修改指令,原型验证平台收到修改指令后,可以根据修改指令中的配置,对类ROM模型进行修改,使得类ROM模型与修改指令中的配置相匹配,并以修改后的类ROM模型进行验证,以此实现ROM配置在验证过程中的修改。
在本申请实施例中,可以利用原型验证平台中的可编程存储器构建ROM对应的类ROM模型,以使用类ROM模型来模拟ROM,在验证过程中替代ROM的作用。在验证过程中,由于ROM无法在电路中修改,需修改后重新进行编译、综合、布局布线、测试等流程,因此,相较于直接对ROM进行修改的方式,使用类ROM模型模拟与替代ROM所起的作用,可以使得芯片设计文件能够正常被验证。而由于可编程存储器具有可编程的特性,在原型验证的过程中可以进行修改,则验证时,无需重新进行编译、综合等准确验证环境的流程,从而提高FPGA原型验证与调试的效率。此外,由于,可编程存储器取自原型验证平台,易于获取与修改,且与原型验证平台有较高的适配性,可以有效提高类ROM模型的配置效率,从而提高验证效率。
基于上述实施例相同的发明构思(使ROM的配置在验证过程中可进行修改),本申请实施例还提供一种原型验证方法,该原型验证方法通过预先构建多个ROM子模块,在ROM子模块中配置各需进行调试的ROM的配置,在验证过程中同时载入所有的ROM子模块,并通过切换不同ROM子模块实现ROM配置的更改。
请参阅图2,图2为本申请提供的第二种原型验证方法的流程图,原型验证方法包括:
S110,获取芯片设计文件。
S111,确定芯片设计文件中ROM的启动方案。
如前所述,芯片设计文件中ROM的配置包括ROM的不同启动方案,则在该实施例中,可以区分芯片设计文件中的各个启动方案的ROM配置,以及统计启动方案的数量。
S112,构建启动方案的数量对应的ROM子模块。
如前所述,原型验证平台预设有不同器件、电路或模块的模型,则在本实施例,可以采用原型验证平台中的ROM模型,获取多个未进行ROM模块,数量与启动方案的数量相同,构建原型验证过程中的ROM子模块。
在不涉及修改的情况下,原型验证过程中可能需要切换ROM的启动方案,因此,至少需设置与启动方案数量的对应的子模块。
S113,利用不同的启动方案分别配置不同的ROM子模块。
在获得不同启动方案和多个ROM模块之后,可以利用启动方案中ROM配置分别配置不同的ROM子模块,一个启动方案配置一个ROM子模块。
在一些实施例中,ROM子模块的数量可以大于启动方案的数量,多余的ROM子模块可以用于设置一些设计人员在调试过程中可能使用到的ROM配置。
S114,基于不同的ROM子模块和原型验证平台对芯片设计文件进行原型验证。
本实施例中,不同的ROM子模块均被配置为载入验证程序中,但被配置仅其中一个ROM子模块生效。
请参阅图3,图3为本申请一实施例提供的ROM子模块切换示意图。本实施例中,原型验证平台被配置为基于预设的控制信号切换不同ROM模型进行原型验证,设计人员可以根据验证需求,在原型验证平台中发出控制指令,控制所需验证的配置对应的ROM子模块生效。由此,同样可以实现验证过程中ROM配置的更换,无需停止验证后对ROM进行修改,也无需重新搭建测试环境。由此,可以有效提高原型验证的效率。
可以理解,上述的第一种使用类ROM模型的原型验证方法更适用于ROM有小的修改、有漏洞的情况,通过类ROM模型的模拟,可以快速对一些修改、漏洞进行验证,而对于不同的启动方案,若使用第一种方法,则可能需修改的内容较多,相较于采用多个ROM子模块切换的方法,第一种方法,效率更低。第二种方法通过多个ROM子模块的切换,可以快速实现配置的大量更改,更适用于不同启动方案的更换的场景。
在本申请的实施例中,上述第一种和第二种原型验证方法还可以结合使用,以结合两种方案的优点。
请参阅图4,图4为两种原型验证方案结合使用的流程图。结合使用的原型验证方法包括:
S310,获取芯片设计文件。
S320,确定芯片设计文件中ROM的启动方案。
本实施例中,启动方案包括ROM的配置,且不同启动方案之间所包括的ROM的配置不同。
S330,利用不同的启动方案和多个可编程存储器分别构建对应的类ROM模型。
本实施例中,针对每一启动方案,可以利用该启动方案中ROM的配置构建该启动方案对应的类ROM模型,以使用类ROM模型模拟该启动方案的配置下的ROM。由此,得到多个类ROM模型,不同类ROM模型对应一个启动方案。
本实施例中,不同启动方案的对应类ROM模型所使用的可编程存储器的类型可以相同或不同,在此不做限制。
本实施例中,还可以在基于ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型之后,所述方法还包括:基于ROM的接口类型、可编程存储器的接口类型,构建转换控制器;转换控制器用于将对ROM的读取指令转换为对类ROM模型的读取指令。
可编程存储器和ROM之间所使用的接口协议可能不同,在本申请实施例中,可以构建转换控制器,以基于转换控制器将对ROM的指令修改为对类ROM模型的指令,从而使得其他电路能够正常对类ROM模型进行读取,进而使类ROM模型能够替代ROM在验证过程中的作用。
S340,基于类ROM模型及原型验证平台对芯片设计文件进行原型验证。
本实施例中,原型验证平台被配置为基于预设的控制信号切换不同类ROM模型进行原型验证。
在验证时,ROM可能有不同配置的方案需进行验证,若在一种配置的ROM完成验证后再对类ROM模型的各配置项进行逐个修改,会使得进行验证时效率较低。故本申请实施例中,可以预先配置多种配置ROM对应的类ROM模块,并将原型验证平台配置为基于预设的控制信号切换不同类ROM模型进行原型验证,在验证过程中,可以发出控制信号控制类ROM模型的切换,以模拟不同ROM配置的验证,减少验证过程中修改ROM配置所耗费的时间,提高RPGA原型验证的效率。
相应地,在该实施例中,在类ROM模型及原型验证平台对所述芯片设计文件进行原型验证之后,还可以接收修改指令;修改指令包括ROM修改后的配置;将类ROM模型的配置修改为与修改指令中ROM修改后的配置匹配,以基于修改后的类ROM模型对芯片设计文件进行验证。ROM改动较大的情况通常是切换不同的启动方案,而由于不同的启动方案通常是在ROM进行启动的过程中进行选择,故需使ROM的重启并需重新配置验证环境。而在本申请实施例中,构建不同的ROM启动方案对应的类ROM模型,由此,在验证过程中,若需验证不同的启动方案,则可以切换不同的类ROM模型即可,无需重启、重新配置验证环境,有效减少原型验证所需的时间,提高验证效率。
在确定需对ROM进行修改并重新验证时,可以接收修改指令,修改指令包括ROM修改后的配置;将类ROM模型的配置修改为与修改指令中ROM修改后的配置匹配,以基于修改后的类ROM模型对芯片设计文件进行验证。
在验证过程中,可以直接接收对ROM的修改指令,并转换为对相应类ROM模型的修改指令,使得类ROM模型可以模拟修改配置后的ROM,由此,可以在验证过程中实现类似于ROM配置的修改的效果,从而模拟修改后的ROM进行验证,且无需重新进行编译、综合等验证环境构建的过程,有效提高原型验证的效率。
上述过程未涉及的内容可以参考前述实施例,在此不再展开。
为便于理解,在此提供一个示例,该示例不应称为对本申请的限制。
首先,对SOC芯片进行原型验证,可以获取该SOC芯片的芯片设计文件,并从中确定芯片设计文件中对ROM的配置。
在得到芯片设计文件之后,可以根据启动方式对ROM配置进行分类,得到多个启动方案,例如,SPI启动方式对应的启动方案,DMA启动方式对应的启动方案等。其中,ROM的配置通常配置在一个文件中,则本实施例中,可以将ROM配置拆分为多个文件,每一文件存储一个启动方案。
接着,可以从原型验证平台中获取大于或等于启动方案数量的可编程器件的模型,并分别将不同的启动方案中的ROM配置写入一个可编程器件的模型中,构建该启动方案的类ROM模型,由此,得到各启动方案分别对应的不同的类ROM模型。其中,装载不同启动方案的可编程器件可以相同也可以不同,可编程器件的类型包括但不限于SRAM、寄存器、E2PROM等。
再者,可以构建转换控制器。根据SOC芯片中各能够对ROM进行读取的电路、模块所使用的接口协议,以及构建类ROM模型所使用的可编程器件的接口协议构建可进行协议转换的转换控制器,以将对ROM模型的读取指令转换为对类ROM模型的读取指令,从而使得类ROM模型能够正确模拟ROM的读操作功能。转换控制器可支持转换的接口协议包括但不限于JTAG、I2C、UART、SPI等。
将不同的类ROM模型均载入原型验证平台,并仅使其中一个类ROM模型作为ROM的替代进行生效。同时,将原型验证平台配置为接收预设的控制信号切换不同的类ROM模型进行生效,由此,当需要切换不同的启动方案的时候,可以发出控制指令,控制原型验证平台切换类ROM,实现验证过程中ROM配置的修改。
以及,若设计人员认为原型验证过程中的ROM需进行修改,则可以发出携带有修改后ROM配置的修改指令,原型验证平台收到修改指令后,将其转换为对类ROM模型的修改指令,从而修改类ROM的配置,使其与修改指令相匹配。进而可以使用修改后的类ROM模型继续进行原型验证,或重新进行修改,直至满足设计要求。
由此,本申请实施例所提供的原型验证方法,可以在进行FPGA原型验证的过程中修改ROM的配置,无需停止验证过程再对ROM进行修改,以及无需重新搭建验证环境,有效减少FPGA原型验证过程中因ROM修改导致的耗时,从而提高原型验证效率。
基于同一发明构思,本申请实施例还提供一种原型验证装置。请参阅图5,图5为本申请一实施例提供的原型验证装置200的示意图。原型验证装置200包括:获取模块210、构建模块220和验证模块230。
获取模块210,用于获取芯片设计文件,芯片设计文件包括ROM的配置。
构建模块220,用于基于ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型。
验证模块230,用于基于类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。
一实施例中,类ROM模型包括多个,不同类ROM模型对应的ROM的配置不同,验证模块230还用于将原型验证平台配置为基于预设的控制信号切换不同类ROM模型进行原型验证。
本实施例中,其中,获取模块210获取的芯片设计文件还可以包括不同的启动方案,每一启动方案对应的ROM的配置及存储的数据不同。例如,芯片设计文件可以包括SPI启动方式、DMA启动方式等对应的启动方案。
一实施例中,构建模块220还用于确定所述芯片设计文件中所述ROM的启动方案;所述启动方案包括所述ROM的配置,且不同所述启动方案之间所包括的所述ROM的配置不同;利用不同的所述启动方案和多个所述可编程存储器分别构建对应的所述类ROM模型。
一实施例中,验证模块230还用于接收修改指令;修改指令包括ROM修改后的配置;将类ROM模型的配置修改为与修改指令中ROM修改后的配置匹配,以基于修改后的类ROM模型对芯片设计文件进行验证。
一实施例中,构建模块220中配置有可编程存储器,可编程存储器包括SRAM、寄存器、E2PROM中的至少一种。
一实施例中,构建模块220还用于基于ROM的接口类型、可编程存储器的接口类型,构建转换控制器;转换控制器用于将对ROM的读取指令转换为对类ROM模型的读取指令。
其中,构建模块220所构建的转换控制器可支持转换的接口协议包括但不限于JTAG、I2C、UART、SPI等。
一实施例中,构建模块220还用于构建启动方案的数量对应的ROM子模块。本实施例,可以采用原型验证平台中的ROM模型,获取多个未进行ROM模块,数量与启动方案的数量相同,构建原型验证过程中的ROM子模块。
一实施例中,构建模块230还用于利用不同的启动方案分别配置不同的ROM子模块。在获得不同启动方案和多个ROM模块之后,可以利用启动方案中ROM配置分别配置不同的ROM子模块,一个启动方案配置一个ROM子模块。此外,构建模块230所构建的ROM子模块的数量可以大于启动方案的数量,多余的ROM子模块可以用于设置一些设计人员在调试过程中可能使用到的ROM配置。
一实施例中,验证模块230还用于基于不同的ROM子模块和原型验证平台对芯片设计文件进行原型验证。
其中,验证模块230用于将不同的ROM子模块均配置为载入验证程序中,但被配置仅其中一个ROM子模块生效。本实施例中,验证模块230还用于切换不同的ROM子模块以进行原型验证。
可以理解,原型验证装置200所实现的功能与前述原型验证方法相似,具体内容可以参考前述原型验证方法,在此不再展开。
基于同一发明构思,本申请实施例还提供一种原型验证系统400。请参阅图6,图6为本申请一实施例提供的原型验证系统400的示意图,原型验证系统400包括原型410和处理设备420。
原型410,基于芯片设计文件构建,包括芯片设计文件中的各个电路、模块,用于模拟芯片设计文件对应的芯片,以模拟芯片的验证。
处理设备420,与原型410通信连接,处理设备搭载有原型验证平台,用于执行如前述任意实施例所提供的原型验证方法。
本实施例中,处理设备可以是计算机、服务器或单片机等,在此不进行限制。
请参照图7,基于同一发明构思,本申请实施例还提供一种电子设备500,其可以作为前述原型验证方法的执行主体,包括:处理器510和与处理器510通信连接的存储器520,并且可以利用处理器510和存储器520在内的资源布置多个虚拟系统。
在本申请实施例中,存储器520可以存储有可被处理器510执行的计算机可读指令,计算机可读指令被处理器510执行,以使处理器510能够执行前述实施例中的原型验证方法。
处理器510和存储器520可以通过通信总线连接。
处理器510可以是一种集成电路芯片,具有信号处理能力。处理器510可以是通用处理器,包括CPU、NP(Network Processor,网络处理器)等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器520可以包括但不限于RAM(Random Access Memory,随机存取存储器),ROM,PROM(Programmable Read-Only Memory,可编程只读存储器),EPROM(ErasableProgrammable Read-Only Memory,可擦除编程只读存储器),EEPROM(Electric ErasableProgrammable Read-Only Memory,带电可擦除可编程只读存储器)等。其中,存储器520为电子设备中的存储器,区别于FPGA原型中所需验证的ROM,二者为不同设备上的不同存储器。
可以理解,电子设备500还可以包括更多自身所需的通用模块,在本申请实施例不作一一介绍。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如SSD(Solid State Disk,固态硬盘))等。
在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种原型验证方法,其特征在于,包括:
获取芯片设计文件,所述芯片设计文件包括ROM的配置;
基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型;
基于所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。
2.根据权利要求1所述原型验证的方法,其特征在于,所述类ROM模型包括多个,不同所述类ROM模型对应的ROM的配置不同:
所述原型验证平台被配置为基于预设的控制信号切换不同所述类ROM模型进行原型验证。
3.根据权利要求2所述原型验证的方法,其特征在于,所述获取芯片设计文件之后,所述方法还包括:
确定所述芯片设计文件中所述ROM的启动方案;所述启动方案包括所述ROM的配置,且不同所述启动方案之间所包括的所述ROM的配置不同;
利用不同的所述启动方案和多个所述可编程存储器分别构建对应的所述类ROM模型。
4.根据权利要求1所述原型验证的方法,其特征在于,所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证之后,所述方法还包括:
接收修改指令;所述修改指令包括所述ROM修改后的配置;
将所述类ROM模型的配置修改为与所述修改指令中所述ROM修改后的配置匹配,以基于修改后的类ROM模型对所述芯片设计文件进行验证。
5.根据权利要求1所述原型验证的方法,其特征在于,所述可编程存储器包括SRAM、寄存器、E2PROM中的至少一种。
6.根据权利要求1-5任一项所述原型验证的方法,其特征在于,所述基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型之后,所述方法还包括:
基于所述ROM的接口类型、所述可编程存储器的接口类型,构建转换控制器;所述转换控制器用于将对所述ROM的读取指令转换为对所述类ROM模型的读取指令。
7.一种原型验证装置,其特征在于,包括:
获取模块,用于获取芯片设计文件,所述芯片设计文件包括ROM的配置;
构建模块,用于基于所述ROM的配置和原型验证平台中的可编程存储器构建对应的类ROM模型;
验证模块,用于基于所述类ROM模型及所述原型验证平台对所述芯片设计文件进行原型验证。
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的原型验证方法。
9.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6任一项所述的原型验证方法。
10.一种原型验证系统,其特征在于,包括:
基于芯片设计文件构建的原型;
处理设备,与所述原型通信连接,所述处理设备搭载有原型验证平台,用于执行如权利要求1-6任一项所述的原型验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311459278.0A CN117436378A (zh) | 2023-11-03 | 2023-11-03 | 原型验证方法、装置及系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311459278.0A CN117436378A (zh) | 2023-11-03 | 2023-11-03 | 原型验证方法、装置及系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117436378A true CN117436378A (zh) | 2024-01-23 |
Family
ID=89551237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311459278.0A Pending CN117436378A (zh) | 2023-11-03 | 2023-11-03 | 原型验证方法、装置及系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117436378A (zh) |
-
2023
- 2023-11-03 CN CN202311459278.0A patent/CN117436378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112580295B (zh) | 多核SoC芯片的自动化验证方法、系统及装置 | |
US9836372B1 (en) | Device verification system with firmware universal verification component | |
CN112949233B (zh) | Fpga芯片的自动化开发方法及装置、电子设备 | |
CN104050068B (zh) | 在mcu芯片中调试fpga的方法和装置 | |
US20220292248A1 (en) | Method, system and verifying platform for system on chip verification | |
JP2001189387A (ja) | システムオンチップの設計検証方法および装置 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
US10120702B2 (en) | Platform simulation for management controller development projects | |
CN113868987A (zh) | 一种系统级芯片的验证平台及其验证方法 | |
US20130024178A1 (en) | Playback methodology for verification components | |
CN108121842B (zh) | 多处理器系统芯片的低功耗工作方式的验证方法和装置 | |
CN114548027A (zh) | 在验证系统中追踪信号的方法、电子设备及存储介质 | |
CN114218882A (zh) | 一种SoC芯片检验方法、装置及相关设备 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
US8327309B2 (en) | Verification of design information for controlling manufacture of a system on a chip | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
CN117436378A (zh) | 原型验证方法、装置及系统、电子设备及存储介质 | |
US7315803B1 (en) | Verification environment creation infrastructure for bus-based systems and modules | |
CN102750167B (zh) | 应用程序启动方法、装置和计算机系统 | |
CN113779918A (zh) | SoC仿真方法、装置、计算设备和计算机存储介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
US20230289500A1 (en) | Method and system for building hardware images from heterogeneous designs for eletronic systems | |
CN116451625B (zh) | 用于rtl和带sdf网表的联合仿真的装置和方法 | |
JP2004310568A (ja) | シミュレータ装置、シミュレーション方法および性能解析方法 |
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 |