CN118114604A - 集成文件生成方法及装置、电子设备、存储介质 - Google Patents
集成文件生成方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN118114604A CN118114604A CN202410215530.1A CN202410215530A CN118114604A CN 118114604 A CN118114604 A CN 118114604A CN 202410215530 A CN202410215530 A CN 202410215530A CN 118114604 A CN118114604 A CN 118114604A
- Authority
- CN
- China
- Prior art keywords
- integrated
- file
- chip
- module
- script
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000004458 analytical method Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 21
- 239000003550 marker Substances 0.000 claims description 13
- 230000008054 signal transmission Effects 0.000 claims description 13
- 238000013461 design Methods 0.000 abstract description 42
- 230000010354 integration Effects 0.000 abstract description 20
- 230000001788 irregular Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000007373 indentation Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请的实施例揭示了一种集成文件生成方法及装置、电子设备、存储介质。该方法包括:获取待集成芯片对应的脚本信息,所述脚本信息为预先设计的格式化的脚本代码;对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件;在所述顶层模板文件中输入自定义项,基于所述自定义项确定所述待集成芯片中各个模块对应的参数信息;基于所述参数信息以及所述顶层模板文件生成所述待集成芯片对应的集成文件,所述集成文件为统一文件夹格式下的文件列表。本申请的实施例实现了对集成芯片代码的格式化管理,避免了人工输入的代码参差不齐影响集成芯片设计的管理,提高芯片的集成效率。
Description
技术领域
本申请涉及芯片设计技术领域,具体涉及一种集成文件生成方法及装置、电子设备、以及计算机可读存储介质。
背景技术
随着集成电路技术的不断进步,芯片的规模越来越大,芯片设计变得越来越复杂,尤其是SoC芯片。对于SoC设计工程师来说,各种各样的IP核也变得越来越复杂,各个IP核接口之间的连接也越来越复杂,基于传统手动编写RTL的方式也就导致SoC设计工程师把越来越多的精力浪费在各个IP核接口之间连线的RTL编写上。
另外,由于不同设计人员的经验不同,导致编写的RTL代码质量参差不齐,如parameter(参数)的定义缺失,宏定义的错误定义等等,继而导致需要额外浪费精力去做质量检查,甚至导致芯片各个设计环节的反复迭代,导致芯片设计的各项成本都加大。最后,由于SoC芯片规模变得越来越大,代码的管理也是影响芯片质量的一个关键因素。因此如何统一规整的代码目录结构减少芯片开发的管理成本是现有技术亟需解决的问题。
发明内容
为解决上述技术问题,本申请的实施例提供了一种集成文件生成方法及装置、电子设备、以及计算机可读存储介质。
根据本申请实施例的一个方面,提供了一种集成文件生成方法,包括:获取待集成芯片对应的脚本信息,所述脚本信息为预先设计的格式化的脚本代码;对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件;在所述顶层模板文件中输入自定义项,基于所述自定义项确定所述待集成芯片中各个模块对应的参数信息;基于所述参数信息以及所述顶层模板文件生成所述待集成芯片对应的集成文件,所述集成文件为统一文件夹格式下的文件列表。
根据本申请实施例的一个方面,所述对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件,包括:提取出所述脚本信息中的代码层次结构中的关键字;基于所述关键字生成所述待集成芯片的顶层文件,以基于所述顶层文件生成所述待集成芯片的顶层模板文件。
根据本申请实施例的一个方面,所述脚本信息中包括所述待集成芯片的模块层次结构,所述方法还包括:提取所述解析结果中的模块层次结构;基于所述顶层文件和所述模块层次结构生成所述待集成芯片的顶层模板文件。
根据本申请实施例的一个方面,所述关键字包括自动化集成的标记符,所述方法还包括:若检测到所述脚本信息中包括所述自动化集成的标记符,则对所述标记符相对应的脚本代码进行实例化处理,得到以所述脚本代码对应的模块名称命名的配置文件;基于所述配置文件生成所述待集成芯片对应的集成文件。
根据本申请实施例的一个方面,所述方法还包括:基于自定义项确定所述待集成芯片中的各个模块对应的配置参数,连接关系以及信号传输关系;基于所述待集成芯片中的各个模块的模块名称,配置参数,连接关系以及相互之间的信号传输关系生成所述待集成芯片对应的顶层RTL文件。
根据本申请实施例的一个方面,所述脚本信息中还包括固定文件列表,所述方法还包括:基于所述顶层RTL文件以及所述脚本信息中固定文件列表,生成所述待集成芯片对应的集成文件,所述集成文件为与所述固定文件列表统一文件夹的文件列表。
根据本申请实施例的一个方面,所述脚本信息中还包括所述待集成芯片的环境定义项,所述方法还包括:若检测到所述解析结果中的环境定义项中存在重复定义项,则对所述重复定义项进行去重处理。
根据本申请实施例的一个方面,提供了一种集成文件生成装置,所述装置包括:获取模块,用于获取待集成芯片对应的脚本信息,所述脚本信息为预先设计的格式化的脚本代码;解析模块,用于对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件;确定模块,用于在所述顶层模板文件中输入自定义项,基于所述自定义项确定所述待集成芯片中各个模块对应的参数信息;生成模块,用于基于所述参数信息以及所述顶层模板文件生成所述待集成芯片对应的集成文件,所述集成文件为统一文件夹格式下的文件列表。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的集成文件生成方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的集成文件生成方法。
在本申请的实施例所提供的技术方案中,通过预先设计的格式化脚本代码生成待集成芯片的顶层模板文件,在通过顶层模板文件中输入自定义项,从而得到待集成芯片中的各个模块对应的参数信息,从而可以根据模块的参数信息以及顶层模板文件生成统一文件夹格式下的文件列表,实现了对集成芯片代码的格式化管理,避免了人工输入的代码参差不齐影响集成芯片设计的管理,提高芯片的集成效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的集成文件生成的实施环境示意图;
图2是本申请的一示例性实施例示出的集成文件生成方法的流程图;
图3是一示例性实施例示出的一种集成文件的简要结构的示意图;
图4是本申请的另一示例性实施例示出的一种集成文件生成方法的流程图;
图5是本申请的另一示例性实施例示出的一种集成文件生成方法的流程图;
图6是一示例性实施例示出的一种RTL文件的简要结构的示意图;
图7是本申请的另一示例性实施例示出的一种集成文件生成方法的流程图;
图8是本申请的另一示例性实施例示出的一种集成文件生成方法的流程图;
图9是本申请另一实施例示出的一种集成文件的简要结构的示意图;
图10是在一示例性的应用场景下集成文件生成的简要流程示意图;
图11是本申请的一示例性实施例示出的集成文件生成装置的框图;
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先需要说明的是,集成芯片中的模块设计是芯片设计过程中的重要环节。模块设计的主要目标是将复杂的系统分解为若干个相对独立、功能明确的模块,以便于设计、制造和测试。在模块设计过程中,需要确定每个模块的功能、接口和性能指标,同时考虑模块的可靠性和可维护性。通常,模块设计会从需求分析开始,通过概念设计、逻辑设计和物理设计等多个阶段,逐步将系统分解为具体的模块。在模块设计中,还需要考虑模块之间的连接和通信方式,以确保整个系统的协同工作。此外,为了提高系统的性能和可靠性,还需要对模块进行优化和验证,包括性能仿真、功耗分析、可靠性评估等。最终,通过模块设计,将复杂的集成芯片系统分解为若干个易于管理和实现的模块,从而降低了设计的复杂性和风险,提高了系统的可靠性和性能。
IP核(Intellectual Property Core)代码是指集成电路设计中使用的预先设计好的功能模块代码。这些功能模块可以是数字电路、模拟电路或混合信号电路,它们被封装成可重用的组件,以供设计师在集成芯片设计中使用。
IP核代码通常是由专业的IP供应商或芯片设计公司开发的,并且经过了严格的测试和验证。它们可以是标准的、通用的功能模块,如微处理器、存储器、接口控制器等,也可以是针对特定应用定制的功能模块。
在集成芯片设计中,使用IP核代码可以大大提高设计效率,减少设计成本,并且提高设计的可靠性。设计师可以直接使用这些预先设计好的功能模块,而不需要从头开始设计整个系统。此外,IP核代码还可以提供与标准接口和协议的兼容性,从而简化了与其他系统或组件的集成。然而,使用IP核代码也需要注意一些问题。首先,IP核代码的质量和性能直接影响到最终芯片的性能和可靠性,因此需要选择可靠的IP供应商和经过充分验证的IP核代码。
图1是本申请的一示例性的实施例示出的芯片集成过程中的集成文件生成的实施环境示意图。如图1所示,在芯片集成过程中,通过服务器120获取终端设备110上的待集成芯片对应的脚本信息,其中,该脚本信息可以是预先设计的格式化的脚本代码,之后,通过服务器120对脚本信息进行解析,以根据解析结果生成该待集成芯片的顶层模板文件,并可以通相应的设计人员或者服务器自动在对应的顶层模板文件中输入自定义项,根据自定义项生成待集成芯片中各个模块对应的参数信息,进而可以基于各模块的参数信息以及顶层模板文件生成该待集成芯片对应统一文件格式下的集成文件列表。
图1所示的服务器120,例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此也不进行限制。终端设备110可以通过3G(第三代的移动信息技术)、4G(第四代的移动信息技术)、5G(第五代的移动信息技术)等无线网络与服务器120进行通信,本处也不对此进行限制。
随着集成电路技术的不断进步,芯片的规模越来越大,芯片设计变得越来越复杂,尤其是SoC芯片。对于SoC设计工程师来说,各种各样的IP核也变得越来越复杂,各个IP核接口之间的连接也越来越复杂,基于传统手动编写RTL的方式也就导致SoC设计工程师把越来越多的精力浪费在各个IP核接口之间连线的RTL编写上。
另外,由于不同设计人员的经验不同,导致编写的RTL代码质量参差不齐,如parameter(参数)的定义缺失,宏定义的错误定义等等,继而导致需要额外浪费精力去做EDA的质量检查,甚至导致芯片各个设计环节的反复迭代,导致芯片设计的各项成本都加大。
以上所指出的问题在通用的芯片集成场景中具有普遍适用性。为了解决这些问题,本申请的实施例分别提出了一种集成文件生成方法、一种集成文件生成装置、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品,以下将对这些实施例进行详细描述。
请参阅图2,图2是本申请的一示例性实施例示出的集成文件生成新方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的服务器120具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
如图2所示,在一示例性的实施例中,集成文件生成方法至少包括步骤S210至步骤S240,详细介绍如下:
步骤S210,获取待集成芯片对应的脚本信息,脚本信息为预先设计的格式化的脚本代码。
需要说明的是,格式化代码(Code Formatting)是指按照一定的规则和标准,对源代码进行排版和整理的过程。这样做的目的是为了提高代码的可读性和可维护性,使代码更加易于理解和修改。例如,可以通过缩进和空格:通过适当的缩进和空格来清晰地表示代码块的层次结构和逻辑关系;命名规范:为变量、函数、类等使用有意义的命名,遵循一定的命名规则(如驼峰命名法、下划线命名法等);空行和空格:合理使用空行和空格来分隔不同的代码块和逻辑单元以及代码风格一致性:在整个项目中保持一致的代码风格等。
在步骤S210中,可以通过芯片集成设计人员根据芯片设计的需要,提供预先设计好的格式化的脚本代码,其中,该格式化的代码可以是预先按照一定的格式基于相应的硬件描述语言编写的。其中,常见的硬件描述语言(HDL)主要包括以下几种:VHDL(Very-High-Speed Integrated Circuit Hardware Description Language):这是一种功能强大且设计灵活的硬件描述语言,具有强大的系统硬件描述能力。它不依赖于具体的器件工艺,因此具有很强的移植能力。VHDL的语法严谨,支持广泛,易于修改和共享;Verilog HDL:VerilogHDL的语法类似于C语言,因此编程风格灵活且简洁。它在门级开关电路描述方面表现优秀,特别在ASIC(Application-Specific Integrated Circuit)领域非常流行;SystemVerilog:SystemVerilog是Verilog的扩展,增加了面向对象编程的特性,如类、封装、继承等。这使得SystemVerilog在描述复杂系统时更加灵活和高效;ABEL(AdvancedBoolean Expression Language):这是一种基于布尔代数的硬件描述语言,主要用于描述数字电路的逻辑功能。ABEL的语法简单明了,易于学习和使用;这些硬件描述语言各有特点,适用于不同的应用场景和设计需求。在实际的电子系统设计中,设计者可以根据项目的具体需求选择合适的硬件描述语言。
步骤S220,对脚本信息进行解析,以根据解析结果生成待集成芯片的顶层模板文件。
具体的,可以通过相应的脚本语言的工具包,对输入的格式化脚本信息进行解析,其中,可以通过脚本语言的工具包中对应的解析工具对脚本信息中的格式化脚本代码进行解析,得到脚本信息对应的解析结果,从而根据解析结构得到该待集成芯片对应的顶层模板文件。
其中,需要说明的是,在编程和软件开发的上下文中,"顶层模板文件"通常指的是一个项目或应用程序中用于定义项目结构、设置和配置的初始文件。这个文件通常包含了一些基本的代码、配置选项和模板,用于生成其他文件或作为项目开发的起点。
示例性的,通过相应的脚本语言的工具包对待集成芯片对应的格式化脚本信息进行解析,以得到芯片集成中的各个模块对应的线(wire)、寄存器(reg)以及端口(port)等。并且还包括待集成芯片的端口数据进行解析,例如端口类型,端口名称等,以进一步的得到待集成芯片中每一模块对应的参数列表等。
步骤S230,在顶层模板文件中输入自定义项,基于自定义项确定待集成芯片中各个模块对应的参数信息。
承接上述所言,在得到该待集成芯片对应的顶层模板文件后,可以根据待集成芯片的设计需求,功能需求等需求下,在顶层模板文件中输入自定义项,其中,自定义项可以为待集成芯片中各个模块之间的连接关系,以及芯片集成设计人员自定义的逻辑代码等。进而可以根据输入的自定义项得到待集成芯片中各个模块对应的参数信息。
步骤S240,基于参数信息以及顶层模板文件生成待集成芯片对应的集成文件,集成文件为统一文件夹格式下的文件列表。
具体的,可以基于待集成芯片中各个模块对应的参数信息并结合待集成芯片的顶层模板文件中的代码层次结构生成对应集成文件,其中,该集成文件可以为统一文件夹格式下的文件列表。示例性的,如图3所示,图3是本申请一示例性的实施例示出的一种集成文件夹的示意图,在图3中,在统一文件夹格式下,包括该待集成芯片的RTL文件,文件列表,配置信息,命令集等。
在本实施例中,通过预先设计的格式化脚本代码生成待集成芯片的顶层模板文件,在通过顶层模板文件中输入自定义项,从而得到待集成芯片中的各个模块对应的参数信息,从而可以根据模块的参数信息以及顶层模板文件生成统一文件夹格式下的文件列表,实现了对集成芯片代码的格式化管理,避免了人工输入的代码参差不齐影响集成芯片设计的管理,提高芯片的集成效率。
进一步的,基于上述实施例,请参阅图4,在本申请所提供的其中一个示例性的实施例中,上述对脚本信息进行解析,以根据解析结果生成待集成芯片的顶层模板文件的具体实现过程还可以包括步骤S410和步骤S420,详细介绍如下:
步骤S410,提取出脚本信息中的代码层次结构中的关键字;
步骤S420,基于关键字生成待集成芯片的顶层文件,以基于顶层文件生成待集成芯片的顶层模板文件。
具体的,如上述实施例所言,待集成芯片对应的脚本信息是按照预先设计的格式化的脚本代码,则可以从该脚本代码中的代码层次解耦纵结构中提取出关键字,其中,该关键字是预先设定的并可以存储在相应的数据库或者存储模块中,进而可以通过从待集成芯片对应的脚本代码中提取出预先设定的关键字,并进一步的根据关键字所在的位置以及关键字的指示生成对应的代码结构,进而根据代码结构生成该待集成芯片的顶层模板文件。
示例性的,可以提取待集成芯片对应的脚本信息中,左侧为实例化名,右侧括号中为module名;以缩进量表示每一层次,相同的层次拥有相同的缩进量;最右侧注释中的Auto代表自动化集成脚本中关键字开头的标记符;Top代表这是代码层次结构(Hierarchy)最顶层;Module代表该模块由自动化集成脚本生成;efine表明该模块中的宏定义需要在上层模块中定义;Param表明该模块中的parameter参数需要在例化的时候由上层模块传参等,从而生成待集成芯片对应的顶层模板文件。
在本实施例中,通过提取出按照预设格式编写的脚本代码中表示代码层次结构的关键字,进而根据该关键字生从该待集成芯片的顶层文件,从而根据该顶层文件生成待集成芯片的顶层模板文件,避免用户的人工投入,提高芯片集成的效率。
进一步的,基于上述实施例,请参照图5,在本申请所提供的其中一个示例性的实施例中,上述脚本信息中包括待集成芯片的模块层次结构,上述集成文件生成方法的具体实现过程还可以包括步骤S510和步骤S520,详细介绍如下:
步骤S510,提取解析结果中的模块层次结构;
步骤S520,基于顶层文件和模块层次结构生成待集成芯片的顶层模板文件。
具体的,还可以通过上述所言的脚本语言对应的工具包对待集成文件的脚本信息进行解析,其中,该工具包中可以包括代码解析器、数据流分析器,控制流分析器以及代码生成器等,使用者可以在此基础功能上开发自有的设计分析,代码转换生成等功能。从而可以根据代码解析器对脚本信息进行解析,并提取出对应的解析结构中的模块层次结构,进而可以根据顶层文件和模块层次结构生成待集成芯片的顶层模板文件。
示例性的,instance_name表示模块的实例化名称,位于一行的最左侧。module_name表示模块名,模块名以圆括号包围。module_attr表示模块的属性,格式为/*Auto_module_attr*/,位于一行的最右侧。其中Auto为module_attr的前缀识别字符。module_attr有Top、Module、Define、Param。Top表示为整个模块层级的最顶层。Module表示该模块需要脚本生成。Define和Param暂不支持,初衷为能自动生成param和macro。并且支持宏定义。位于宏定义之间的模块,在脚本自动生成的时候,也会按照层次结构中位置,处于宏定义之间。示例性的,图6是本申请一示例性的实施例示出的芯片顶层模块文件的结构示意图,如图6所示,根据对待集成芯片的脚本信息对应的解析结果得到该集成芯片中的模块层次结构,例如,包括并列的模块A,模块B以及模块C,并且在模块A下集成有子模块A-1,子模块A-2,子模块A-3、并且在B模块下集成有子模块B-1,子模块B-2以及子模块B-3等,并结合该嗲集成芯片对应的顶层文件,生成该待集成芯片对应的顶层模板文件。
在本实施例中,通过格式化脚本代码中提取出待集成芯片对应的层次结构,从可以得到待集成芯片中的模块结构信息,以为进一步生成待集成芯片的顶层模板文件。
进一步的,基于上述实施例所言,请参阅图7,在本申请所提供的其中一个示例性的实施例中,上述关键字包括自动化集成的标记符,上述集成文件生成方法还包括步骤S710和步骤S720,详细介绍如下:
步骤S710,若检测到脚本信息中包括自动化集成的标记符,则对标记符相对应的脚本代码进行实例化处理,得到以脚本代码对应的模块名称命名的配置文件;
步骤S720,基于配置文件生成待集成芯片对应的集成文件。
具体的,检测对待集成芯片对应的脚本信息中的脚本代码中是否包含有自动化集成的标记符,若是检测到脚本代码存在对应的自动集成的标记符,则对与该标记符相对应的脚本进行实例化处理,从而根据实例化的结果得到以该代码脚本对应的模块名称命名的配置文件,以基于所得到的配置文件生成该待集成芯片对应的集成文件。
示例性的,若是以脚本代码中的最右侧的注释中的“auto”自动化集成的标识符,则在检测到“auto”时,可以将其对应的代码进行实例化处理,例如代码结构为“module_a3_inst(module_a3)/auto Module/”则可以对该代码进行实例化处理得到对应的模块集成配置文件“module-a3”,基于此,可以得到该待集成芯片中的各个携带自动化集成的标识符“auto”对应的代码进行实例化处理,得到对应的配置文件,进而基于配置文件生成该待集成芯片的集成文件。
在本实施例中,通过格式化脚本代码中的自动集成的标记符对脚本代码进行实例化处理,从而将该脚本代码对应的模块名称命名的配置文件,进而实现模块配置文件的自动生成,提高集成芯片的设计效率。
进一步的,基于上述实施例,请参照图8,在本申请所提供的其中一个示例性的实施例中,上述集成文件生成方法的具体实现过程还可以包括步骤S810和步骤S820,详细介绍如下:
步骤S810,基于自定义项确定待集成芯片中的各个模块对应的配置参数,连接关系以及信号传输关系;
步骤S820,基于待集成芯片中的各个模块的模块名称,配置参数,连接关系以及相互之间信号传输关系生成待集成芯片对应的顶层RTL文件。
具体的,在一些可实现的实施例中,芯片设计人员可以在顶层模板文件对应的自定义项中输入对应的自定义参数,其中,该自定义参数可以包括待集成芯片中的各个模块对应的配置参数,连接关系以及模块之间的信号传输关系,进而可以根据待集成芯片中的各个模块之间的模块名称,配置参数,连接关系以及信号传输关系生成该待集成芯片对应的顶层RTL文件。
其中,在硬件设计和数字电路领域中,顶层RTL(寄存器传输级别)集成文件通常指的是描述整个系统或子系统的最高层次的文件。这个文件包含了所有必要的模块和它们之间的连接关系,用于描述系统如何在寄存器级别上工作。
顶层RTL集成文件通常使用硬件描述语言(HDL)编写,如Verilog或VHDL。这个文件是项目设计的核心,因为它将各个组件整合在一起,形成一个完整的系统。这个文件可能包含以下内容:模块实例化:顶层文件会实例化(即创建实例)所有的子模块,这些子模块可能是预先设计好的标准库模块,也可能是项目团队自己设计的模块;端口映射:每个模块实例都需要与顶层文件的外部接口相连,这通常通过端口映射完成,即指定模块内部的信号与顶层文件外部接口的对应关系;信号声明:顶层文件需要声明内部信号,这些信号用于在模块之间传递信息,这些信号可以是线网(wire)或寄存器(reg),具体取决于信号的使用方式;时钟和复位信号:顶层文件通常会为系统提供全局时钟和复位信号,确保所有模块都能同步工作;顶层控制逻辑:有时,顶层文件还会包含一些控制逻辑,用于协调不同模块之间的操作;测试平台和刺激生成:虽然这不是必需的,但顶层文件有时会包含一些用于测试和验证系统功能的测试平台和刺激生成代码。顶层RTL集成文件的重要性在于它提供了一个高层次的系统视图,让设计师能够在不关注底层细节的情况下理解整个系统的工作方式。这个文件也是硬件仿真、验证和最终硬件实现的起点。
可选的,在一些其他可实现的实施例中,还可以在待集成芯片的顶层模板文件对应的自定义项中定义环境变量,并且,设计人员需要按照预设的自定义变量规则的要求进行环境变量的设置,例如:用户自定义环境变量的内容必须写在/*Environment_Variable_Begin*/和/*Environment_Variable_End*/之间;/*Environment_Variable_Begin*/和/*Environment_Variable_End*/分别独立成行;用户自定义环境格式要求:{var}=“var_values”。环境变量var必须定义在大括号中,环境变量的值var_values必须定义在双引号中。环境变量var和环境变量var_values之间以等号=进行匹配;每行只能定义一个环境变量。
在本实施例中,通过设计人员对自定义项的输入,得到待集成芯片中各个模块对应的模块名称,配置参数,连接关系以及相互之间的信号传输关系,得到该待集成芯片对应的顶层RTL文件,提高集成芯片的自动化集成。
进一步的,基于上述实施例,在本申请所提供的其中一个示例性的实施例中,上述脚本信息中还包括固定文件列表,上述集成文件生成方法还具体包括如下步骤,详细介绍如下:
基于顶层RTL文件以及脚本信息中固定文件列表,生成待集成芯片对应的集成文件,集成文件为与固定文件列表统一文件夹的文件列表。
具体的,在统一格式化的脚本信息中还包括有预先设置的固定文件列表,其中,进而可以结合顶层RTL文件和固定文件列表自动生成待集成芯片对应的集成文件。
示例性的,在输入的待集成芯片的脚本信息中,可以预先按照相应的规则设置固定文件列表,例如,文件列表的内容必须写在
/*Filelist_Configuration_Begin*/和/*Filelist_Configuration_End*/之间;/*Filelist_Configuration_Begin*/和/*Filelist_Configuration_End*/分别独立成行;文件列表文件,必须以-f开头;verilog文件,支持-v选项可选;每行只允许定义一个文件。
进而可以根据待集成芯片的顶层RTL文件和脚本信息中的固定文件列表,生成该待集成芯片的集成文件,其中该集成文件可以为与固定文件列表统一文件夹的文件列表。如图9所示,图9是本申请一示例性的实施例示出的,在集成文件中包括有RTL文件,固定文件列表,配置信息以及命令集。其中,RTL文件夹存放生成的RTL代码以及自动化集成子模块文件夹;固定文件夹存放该模块的filelist;配置信息文件夹里面包含两个文件,env文件为该模块的环境变量,hier文件为该module的代码层次结构;命令集文件夹里面存放该模块的一些脚本文件。
在本实施例中,通过RTL文件和脚本信息中的固定文件列表,生成该待集成芯片对应的集成文件,避免了设计人员手动定义各个模块的配置参数,并提高集成芯片的集成文件的生成效率。
进一步的,基于上述实施例,在本申请所提供的其中一个示例性的实施例中,上述脚本信息中还包括待集成芯片的环境定义项,上述集成文件生成方法的具体实现过程还包括如下步骤,详细介绍如下:
若检测到解析结果中的环境定义项中存在重复定义项,则对重复定义项进行去重处理。
具体的,若是通过脚本语言对应的工具包对待集成芯片的脚本信息的解析过程中,检测到在待集成芯片的脚本信息的脚本代码中的环境定义项中的存在重复定义项,则对重复定义的环境定义项进行去重处理,以保证所得到的待集成芯片的顶层模板文件的准确性。
在本实施例中,通过对环境定义项中的重复定义项进行去重,可以提高自动化集成的集成文件的准确性和有效性。
图10是在一示例性的应用场景下进行导航界面中集成文件生成的简要流程示意图。在10所示的应用场景下,获取待集成芯片对应的脚本信息,并且该脚本信息是预先设计的格式化的脚本代码,进而可以根据脚本代码对应的工具包,对脚本信息进行解析,并根据解析结果判断在脚本信息中是否存在重复定义项,若是存在重复定义项,则对重复定义项进行去重处理,提取所述解析结果中的模块层次结构;基于所述顶层文件和所述模块层次结构生成所述待集成芯片的顶层模板文件;再生成待集成芯片的顶层模板文件,进而通过集成芯片的实际需要在顶层模板文件中输入自定义项,基于自定义项确定所述待集成芯片中的各个模块对应的配置参数,连接关系以及信号传输关系;基于所述待集成芯片中的各个模块之间的模块名称,配置参数,连接关系以及信号传输关系生成所述待集成芯片对应的顶层RTL文件。基于所述顶层RTL文件以及所述脚本信息中固定文件列表,生成所述待集成芯片对应的集成文件,所述集成文件为与所述固定文件列表统一文件夹的文件列表。详细的实现过程请参见前述各个实施例中的记载,本处不再对此进行赘述。
图11是本申请的一示例性实施例示出的集成文件生成装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在服务器120中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图11所示,该示例性的集成文件生成装置包括:获取模块1110,用于获取待集成芯片对应的脚本信息,脚本信息为预先设计的格式化的脚本代码;解析模块1120,用于对脚本信息进行解析,以根据解析结果生成待集成芯片的顶层模板文件;确定模块1130,用于在顶层模板文件中输入自定义项,基于自定义项确定待集成芯片中各个模块对应的参数信息;生成模块1140,用于基于参数信息以及顶层模板文件生成待集成芯片对应的集成文件,集成文件为统一文件夹格式下的文件列表。
根据本申请实施例的一个方面,上述解析模块1120还具体包括:提取单元,用于提取出脚本信息中的代码层次结构中的关键字;生成单元,用于基于关键字生成待集成芯片的顶层文件,以基于顶层文件生成待集成芯片的顶层模板文件。
根据本申请实施例的一个方面,上述集成文件生成装置还包括:提取模块,用于提取解析结果中的模块层次结构;第一文件生成模块,用于基于顶层文件和模块层次结构生成待集成芯片的顶层模板文件。
根据本申请实施例的一个方面,上述集成文件生成装置还具体包括:检测模块,用于若检测到脚本信息中包括自动化集成的标记符,则对标记符相对应的脚本代码进行实例化处理,得到以脚本代码对应的模块名称命名的配置文件;第二文件生成模块,用于基于配置文件生成待集成芯片对应的集成文件。
根据本申请实施例的一个方面,上述集成文件生成装置还具体包括:参数确定模块,用于基于自定义项确定待集成芯片中的各个模块对应的配置参数,连接关系以及信号传输关系;第三文件生成模块,用于基于待集成芯片中的各个模块的模块名称,配置参数,连接关系以及相互之间的信号传输关系生成待集成芯片对应的顶层RTL文件。
根据本申请实施例的一个方面,上述集成文件生成装置还具体包括:第四文件生成模块,用于基于顶层RTL文件以及脚本信息中固定文件列表,生成待集成芯片对应的集成文件,集成文件为与固定文件列表统一文件夹的文件列表。
根据本申请实施例的一个方面,上述集成文件生成装置还具体包括:去重模块,用于若检测到解析结果中的环境定义项中存在重复定义项,则对重复定义项进行去重处理。
需要说明的是,上述实施例所提供的集成文件生成装置与上述实施例所提供的集成文件生成方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的集成文件生成装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的集成文件生成方法。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从储存部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的集成文件生成方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的集成文件生成方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种集成文件生成方法,其特征在于,包括:
获取待集成芯片对应的脚本信息,所述脚本信息为预先设计的格式化的脚本代码;
对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件;
在所述顶层模板文件中输入自定义项,基于所述自定义项确定所述待集成芯片中各个模块对应的参数信息;
基于所述参数信息以及所述顶层模板文件生成所述待集成芯片对应的集成文件,所述集成文件为统一文件夹格式下的文件列表。
2.如权利要求1所述的方法,其特征在于,所述对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件,包括:
提取出所述脚本信息中的代码层次结构中的关键字;
基于所述关键字生成所述待集成芯片的顶层文件,以基于所述顶层文件生成所述待集成芯片的顶层模板文件。
3.如权利要求2所述的方法,其特征在于,所述脚本信息中包括所述待集成芯片的模块层次结构,所述方法还包括:
提取所述解析结果中的模块层次结构;
基于所述顶层文件和所述模块层次结构生成所述待集成芯片的顶层模板文件。
4.如权利要求2所述的方法,其特征在于,所述关键字包括自动化集成的标记符,所述方法还包括:
若检测到所述脚本信息中包括所述自动化集成的标记符,则对所述标记符相对应的脚本代码进行实例化处理,得到以所述脚本代码对应的模块名称命名的配置文件;
基于所述配置文件生成所述待集成芯片对应的集成文件。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于自定义项确定所述待集成芯片中的各个模块对应的配置参数,连接关系以及信号传输关系;
基于所述待集成芯片中的各个模块的模块名称,配置参数,连接关系以及相互之间的信号传输关系生成所述待集成芯片对应的顶层RTL文件。
6.如权利要求5所述的方法,其特征在于,所述脚本信息中还包括固定文件列表,所述方法还包括:
基于所述顶层RTL文件以及所述脚本信息中固定文件列表,生成所述待集成芯片对应的集成文件,所述集成文件为与所述固定文件列表统一文件夹的文件列表。
7.如权利要求1所述的方法,其特征在于,所述脚本信息中还包括所述待集成芯片的环境定义项,所述方法还包括:
若检测到所述解析结果中的环境定义项中存在重复定义项,则对所述重复定义项进行去重处理。
8.一种集成文件生成装置,其特征在于,所述装置包括:
获取模块,用于获取待集成芯片对应的脚本信息,所述脚本信息为预先设计的格式化的脚本代码;
解析模块,用于对所述脚本信息进行解析,以根据解析结果生成所述待集成芯片的顶层模板文件;
确定模块,用于在所述顶层模板文件中输入自定义项,基于所述自定义项确定所述待集成芯片中各个模块对应的参数信息;
生成模块,用于基于所述参数信息以及所述顶层模板文件生成所述待集成芯片对应的集成文件,所述集成文件为统一文件夹格式下的文件列表。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的集成文件生成方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的集成文件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410215530.1A CN118114604A (zh) | 2024-02-27 | 2024-02-27 | 集成文件生成方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410215530.1A CN118114604A (zh) | 2024-02-27 | 2024-02-27 | 集成文件生成方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118114604A true CN118114604A (zh) | 2024-05-31 |
Family
ID=91213177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410215530.1A Pending CN118114604A (zh) | 2024-02-27 | 2024-02-27 | 集成文件生成方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118114604A (zh) |
-
2024
- 2024-02-27 CN CN202410215530.1A patent/CN118114604A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8682631B2 (en) | Specifications-driven platform for analog, mixed-signal, and radio frequency verification | |
US7100133B1 (en) | Computer system and method to dynamically generate system on a chip description files and verification information | |
US9703921B1 (en) | Naturally connecting mixed-signal power networks in mixed-signal simulations | |
US7769569B2 (en) | Method and system for designing a structural level description of an electronic circuit | |
US7346864B2 (en) | Logic design development tool and method | |
US8196075B1 (en) | Generation of input/output models | |
US7711534B2 (en) | Method and system of design verification | |
US6658628B1 (en) | Developement of hardmac technology files (CLF, tech and synlib) for RTL and full gate level netlists | |
CN111290954B (zh) | 一种基于uvm的fpga构件可视化测试框架和方法 | |
CN114169271A (zh) | 使用静态检查器结果对证伪的功率感知形式属性进行自动调试 | |
US7340697B2 (en) | Integrated computer-aided circuit design kit facilitating verification of designs across different process technologies | |
CN110442929B (zh) | 一种基于perl实现芯片系统顶层自动例化的方法 | |
CN108920825A (zh) | 一种基于IP核的SoC可视化设计方法 | |
US11853665B2 (en) | Performing hardware description language transformations | |
Stavinov | 100 power tips for FPGA designers | |
CN113343629A (zh) | 集成电路验证方法、代码生成方法、系统、设备和介质 | |
CN116069726B (zh) | 一种集成电路设计库的管理方法、设备及介质 | |
CN117195818A (zh) | 电源设计命令生成方法、装置、电子设备及存储介质 | |
Ebeid et al. | HDL code generation from UML/MARTE sequence diagrams for verification and synthesis | |
US9679092B1 (en) | Constraint handling for parameterizable hardware description language | |
WO2023051395A1 (en) | Register transfer level navigation microservices and instrumentation for cloud-native electronic design automation (eda) platforms | |
CN118114604A (zh) | 集成文件生成方法及装置、电子设备、存储介质 | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115758789A (zh) | 一种复杂实时嵌入式系统的软件架构设计与架构传递方法 | |
US20240135074A1 (en) | Adaptable framework for circuit design simulation verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |