一种数字芯片模块链接的自动化设计方法技术

技术编号:30495844 阅读:12 留言:0更新日期:2021-10-27 22:26
本发明专利技术公开了一种数字芯片模块链接的自动化设计方法,采用了模块链接自动化设计技术:包括模块接口定义要求、模块例化要求,文件FileList文件格式要求等;具有直接性、灵活性、简洁性和扩展性的特性,实现了模块链接自动化批量处理脚本,模块链接自动化,集成效率高,错误概率低;模块接口统一规范,模块可集成、可复用性强;顶层设计师、模块设计师可并行设计,加快项目研发进度。快项目研发进度。快项目研发进度。

【技术实现步骤摘要】
一种数字芯片模块链接的自动化设计方法


[0001]本专利技术涉及模块链接
,具体为一种数字芯片模块链接的自动化设计方法。

技术介绍

[0002]传统顶层模块链接由设计师手工编辑链接代码完成,顶层模块集成的工作量:当模块数量很多时,顶层模块的集成是一件繁重而枯燥的工作,而且容易出错,往往一个人需要几天的时间才能完成集成和基本调试,集成时间长;
[0003]对于包含大量IP模块的SOC来说,在顶层集成时往往会遇到各个模块的接口位宽宏定义不一致的问题,有些是不同模块的宏定义不同名但同值,有些是同名不同值,有些既不同名也不同值。这就要求顶层集成者需要了解各个模块的接口定义,而具体模块的负责者反而不需要了解,这就导致了职责反转现象,模块链接错误概率高;
[0004]由于顶层模块是一个文件,原来是由一个工程师独自完成的,此时负责模块设计的工程师帮不上忙,使顶层模块的编写在此时成为整个项目RTL编写进度的瓶颈,拖延项目进度。

技术实现思路

[0005]本专利技术的目的在于提供一种数字芯片模块链接的自动化设计方法,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种数字芯片模块链接的自动化设计方法,包括下述步骤:
[0007]s1:开始,通过file_list_read函数读取flist.f文件,生成列表instance_info_list;
[0008]s2:打开top.v文件;
[0009]s3:新建result.v文件:
[0010]s4:读取top.v文件输入输出端口、wire定义,转换并写入result.v文件;
[0011]s5:读取top.v文件中assign语句,转换并写入result.v文件,结束。
[0012]优选的,所述步骤1中的列表instance_info_list包含需要例化模块的文件名、后缀、输入端口信息列表和端口信息。
[0013]优选的,所述步骤4和步骤5中的转换并写入result.v文件具体为:调用instance_generate、all_output_process函数、例化模块、完成模块间链接。
[0014]优选的,所述步骤1中file_list_read函数具体为:读取flist.f文件,函数返回列表instance_info_list,判断flist.f文件中每一行的内容,得到每一次例化的输出端口列表output_info_list和端口列表port_info_list。
[0015]优选的,所述all_output_process函数具体为:读取instance_info_list,在result.v文件中写入模块例化需要的中间信号,函数返回列表all_output_info_list;所
述instance_generate具体为:读取instance_info_list,在result.v文件中进行模块例化工作。
[0016]优选的,采用的模块接口定义要求和模块例化要求为:
[0017](1)支持单行注释,以及每条语句后边的注释,用符号“//”表示;
[0018](2)支持空行;
[0019](3)输入输出端口信号的定义要求在括号内完成;
[0020](4)信号定义列表结尾的括号“);”,单独一行写;
[0021](5)每一行起始部分不需要空格;
[0022](6)支持`ifdef`ifndef`else`endif四种预编译命令及嵌套,对于端口定义括号内的预编译命令,对应的`endif必须在括号内完成;
[0023](7)对于top.v模块内部定义的wire以及assign,wire在前集中列出、assign在后集中列出;
[0024](8)对两个或多个模块信号链接时,信号名定义保持一致。
[0025]优选的,采用的FileList文件的格式要求:
[0026](1)以“//”开头的单行注释,只支持单行注释;
[0027](2)支持空行;
[0028](3)例化一次的模块名,在flist.f某一行写模块名,后边进行“//”注释;
[0029](4)例化多次的模块名、使用自动后缀,在flist.f文件某一行写:
[0030]“模块名//instance_num=2”[0031]或
[0032]“模块名//instance_num:2”,
[0033]生成的顶层模块中,两次例化名的后缀自动生成为_inst_0和_inst_1;
[0034](5)例化多次的模块名、使用指定后缀,书写格式如下:
[0035]“模块名//suffix=第一次例化指定后缀名,第二次例化指定后缀名”[0036]或
[0037]“模块名//suffix:第一次例化指定后缀名,第二次例化指定后缀名”,
[0038]顶层模块中,两次例化名后缀自动生成为_ab和_cd;
[0039](6)对模块例化时的条件编译命令,支持`ifdef`ifndef`else`endif四种,并支持这些命令的嵌套使用,在这些命令后边加“//”注释;
[0040](7)每一行起始部分不需要空格。
[0041]与现有技术相比,本专利技术的有益效果是:本方案设计了一种数字芯片模块链接的自动化设计方法,模块链接自动化,提高集成效率,减少集成出错的概率;
[0042]模块链接自动化方法采用批处理脚本工具,对需要集成的模块,自动识别模块例化数、模块接口定义、模块间链接关系,完成模块间链接及顶层集成工作;
[0043]规范并统一模块接口定义,提高代码可集成、可复用性,模块链接自动化方法要求统一各个模块链接的接口信号命名,模块负责人共同制定接口信号定义,加强工程师间的沟通。由于模块接口的规范一致性,通过链接自动化批处理脚本可以使得集成工程师、模块设计工程师并行开展工作。
附图说明
[0044]图1为本专利模块链接批处理脚本运行流程图。
具体实施方式
[0045]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]请参阅图1,本专利技术提供一种技术方案:一种数字芯片模块链接的自动化设计方法,包括下述步骤:
[0047]s1:开始,通过file_list_read函数读取flist.f文件,生成列表instance_info_list;
[0048]s2:打开top.v文件;
[0049]s3:新建result.v文件:
[0050]s4:读取top.v文件输入输出端口、wire定义,转换并写入result.v文件;
[0051]s5:读取t本文档来自技高网
...

【技术保护点】

【技术特征摘要】
或“模块名//instance_num:2”,生成的顶层模块中,两次例化名的后缀自动生成为_inst_0和_inst_1;(5)例化多次的模块名、使用指定后缀,书写格式如下:“模块名//suffix=第一次例化指定后缀名,第二次例化指定后缀名”或“模块名//suffix:第一次例化...

【专利技术属性】
技术研发人员:刘静杨思博
申请(专利权)人:中国电子科技集团公司第十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1