本申请公开了一种顶层硬件描述语言HDL文件生成方法和装置、计算机可读存储介质,所述方法包括获取文件清单,所述文件清单包括多个文件及各个文件对应的模块的层次信息,所述层次信息为顶层模块或子模块;读取各个文件对应的HDL程序代码,根据HDL程序代码提取模块信息,将提取的模块信息转化成可扩展标记语言文本配置文件;响应于用户的第一操作,在所述文本配置文件中添加模块整合信息;解析所述文本配置文件,根据解析到的模块信息和模块整合信息生成顶层HDL文件。本申请能够使得模块整合过程充分地自动化,减少了开发人员模块整合过程的工作量。
A Top-level HDL File Generation Method and Device, Computer Readable Storage Media
【技术实现步骤摘要】
一种顶层HDL文件生成方法和装置、计算机可读存储介质
本申请涉及但不限于计算机
,尤其涉及一种顶层HDL文件生成方法和装置、计算机可读存储介质。
技术介绍
在开发过程中,常常会因为底层Verilog/SystemVerilog代码(Verilog与SystemVerilog均为硬件描述语言,用于描述硬件的逻辑、结构和层次)的修改而需要对顶层代码进行多处改动;在系统模块整合时,还需要编写顶层模块的Verilog/SystemVerilog代码。对于复杂系统,编写和排版顶层Verilog/SystemVerilog代码的工作量非常大,这个过程非常繁琐。由于可扩展标记语言(ExtensibleMarkupLanguage,XML)文件非常容易地能被脚本处理,现有技术中会利用XML编写配置文件,再利用编写的配置文件和脚本生成Verilog/SystemVerilog代码,这样就可以快速地生成正确、整齐、风格一致的代码。但是,利用XML生成Verilog/SystemVerilog代码的前提是编写文本配置文件的工作量要小于直接编写Verilog/SystemVerilog代码的工作量,并且需要生成的Verilog/SystemVerilog代码内容相对固定,不需要过多人工干预。由于XML设计的初衷是用于方便地存储和传输数据,模块整合的顶层Verilog/SystemVerilog代码虽然相对固定,但包含大量的连接和层次信息,此时,编写XML文件的工作量很可能大于直接编写Verilog/SystemVerilog代码工作量,因此,通过编写XML文件来生成模块整合的顶层Verilog/SystemVerilog代码就显得得不偿失。现有的模块整合通常采取直接工程师编写顶层模块Verilog/SystemVerilog代码方案来实现。采取直接编写顶层模块的Verilog/SystemVerilog代码的缺点是工作量大而且容易出错。
技术实现思路
本申请提供了一种顶层HDL文件生成方法和装置、计算机可读存储介质,能够使模块整合过程充分地自动化,减少开发人员模块整合过程的工作量。本专利技术实施例提供了一种顶层硬件描述语言HDL文件生成方法,包括:获取文件清单,所述文件清单包括多个文件及各个文件对应的模块的层次信息,所述层次信息为顶层模块或子模块;读取各个文件对应的HDL程序代码,根据HDL程序代码提取模块信息,将提取的模块信息转化成文本配置文件;响应于用户的第一操作,在所述文本配置文件中添加模块整合信息;解析所述文本配置文件,根据解析到的模块信息和模块整合信息生成顶层HDL文件。在一种示例性实施例中,所述模块信息包括模块名、参数定义及默认值、端口信息,所述端口信息包括端口名及其方向、位宽、组数。在一种示例性实施例中,所述文本配置文件的格式为可扩展标记语言XML、超文本标记语言HTML、文本文档TXT或数字音频带DAT格式。在一种示例性实施例中,所述将提取的模块信息转化成文本配置文件,包括:将所述提取的模块信息按对应的层次结构存入哈希表中;创建所述文本配置文件,并在所述文本配置文件中打印首行声明;提取哈希表中的所述顶层模块的模块信息,将所述顶层模块的模块信息转化成第一文本,并将第一文本打印到所述文本配置文件中的首行声明之后;提取哈希表中的所述子模块的模块信息,将所述子模块的模块信息转化成第二文本,并将第二文本打印到所述文本配置文件中的所述顶层模块的模块信息之后。在一种示例性实施例中,在所述文本配置文件中添加模块整合信息,包括以下至少之一:确认或修改所述顶层模块的模块信息;确认所述子模块的例化份数;确认或修改所述子模块的模块信息;添加模块连接关系。在一种示例性实施例中,所述解析所述文本配置文件,包括:读取所述文本配置文件中的一行文本内容;对所述文本内容进行预处理,所述预处理包括删除文本行首末空白符、多余空白符、注释内容;将预处理后的文本内容存入文本容器;判断所述文本容器中是否包含完整的模块描述信息,所述模块描述信息包括所述模块信息和所述模块整合信息,若是,则提取模块描述信息并存入哈希表中;若否,则继续读取所述文本配置文件中的下一行文本内容并循环所述预处理过程;清空文本容器,并检测是否读取至所述文本配置文件的最后一行文本内容,若是,则所述文本配置文件解析完成;若否,则继续读取所述文本配置文件中的下一行文本内容并循环所述预处理过程。在一种示例性实施例中,所述根据解析到的模块信息和模块整合信息生成顶层HDL文件,包括:创建所述顶层HDL文件;提取所述哈希表中的顶层模块的模块描述信息;根据提取的所述模块描述信息和所述顶层HDL文件的语法要求,在所述顶层HDL文件中打印模块声明、参数定义及默认值、端口信息、线网声明、一个或多个模块实例以及模块描述结束定界符。在一种示例性实施例中,在所述获取文件清单的步骤之前,所述方法还包括:响应于用户的第二操作,生成所述文件清单,所述文件清单的一行用于标识一个所述文件,每个所述文件包括文件路径、文件名、所述文件对应的模块的层次信息。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的顶层HDL文件生成方法的步骤。本专利技术实施例还提供了一种顶层HDL文件生成装置,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的顶层HDL文件生成方法的步骤。与相关技术相比,本申请的顶层HDL文件生成方法和装置、计算机可读存储介质,通过根据文件清单中的各个文件对应的模块信息生成文本配置文件并在文本配置文件中添加模块整合信息,然后解析文本配置文件并生成顶层HDL文件,使得模块整合过程充分地自动化,减少了开发人员模块整合过程的工作量。本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。附图说明附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。图1为本专利技术实施例的一种顶层HDL文件生成方法的流程示意图;图2为本专利技术实施例的将文件清单中的文件及其层次信息转化为文件句柄存储过程的流程示意图;图3为本专利技术实施例的文件解析过程的流程示意图;图4为本专利技术实施例的文本配置文件生成过程的流程示意图;图5为本专利技术实施例的文本配置文件编辑过程的流程示意图;图6为本专利技术实施例的文件配置文件解析过程的流程示意图;图7为本专利技术实施例的生成顶层HDL文件的流程示意图。具体实施方式本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它本文档来自技高网...
【技术保护点】
1.一种顶层硬件描述语言HDL文件生成方法,其特征在于,包括:获取文件清单,所述文件清单包括多个文件及各个文件对应的模块的层次信息,所述层次信息为顶层模块或子模块;读取各个文件对应的HDL程序代码,根据HDL程序代码提取模块信息,将提取的模块信息转化成文本配置文件;响应于用户的第一操作,在所述文本配置文件中添加模块整合信息;解析所述文本配置文件,根据解析到的模块信息和模块整合信息生成顶层HDL文件。
【技术特征摘要】
1.一种顶层硬件描述语言HDL文件生成方法,其特征在于,包括:获取文件清单,所述文件清单包括多个文件及各个文件对应的模块的层次信息,所述层次信息为顶层模块或子模块;读取各个文件对应的HDL程序代码,根据HDL程序代码提取模块信息,将提取的模块信息转化成文本配置文件;响应于用户的第一操作,在所述文本配置文件中添加模块整合信息;解析所述文本配置文件,根据解析到的模块信息和模块整合信息生成顶层HDL文件。2.根据权利要求1所述的方法,其特征在于,所述模块信息包括模块名、参数定义及默认值、端口信息,所述端口信息包括端口名及其方向、位宽、组数。3.根据权利要求1所述的方法,其特征在于,所述文本配置文件的格式为可扩展标记语言XML、超文本标记语言HTML、文本文档TXT或数字音频带DAT格式。4.根据权利要求1所述的方法,其特征在于,所述将提取的模块信息转化成文本配置文件,包括:将所述提取的模块信息按对应的层次结构存入哈希表中;创建所述文本配置文件,并在所述文本配置文件中打印首行声明;提取哈希表中的所述顶层模块的模块信息,将所述顶层模块的模块信息转化成第一文本,并将第一文本打印到所述文本配置文件中的首行声明之后;提取哈希表中的所述子模块的模块信息,将所述子模块的模块信息转化成第二文本,并将第二文本打印到所述文本配置文件中的所述顶层模块的模块信息之后。5.根据权利要求1所述的方法,其特征在于,在所述文本配置文件中添加模块整合信息,包括以下至少之一:确认或修改所述顶层模块的模块信息;确认所述子模块的例化份数;确认或修改所述子模块的模块信息;添加模块连接关系。6.根据权利要求1所述的方法,其特征在于,所述解析所述文本配置文件,包括:读取所述文本配置文件中的一行文本内...
【专利技术属性】
技术研发人员:韩晓晶,郑荐轩,
申请(专利权)人:大唐微电子技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。