[发明专利]一种基于perl实现芯片系统顶层自动例化的方法有效
申请号: | 201910652114.7 | 申请日: | 2019-07-18 |
公开(公告)号: | CN110442929B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 李密;李振伟 | 申请(专利权)人: | 上海磐启微电子有限公司 |
主分类号: | G06F30/398 | 分类号: | G06F30/398 |
代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 郑立 |
地址: | 201210 上海市浦东新区中国(上海)自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 perl 实现 芯片 系统 顶层 自动 方法 | ||
本发明公开了一种基于perl实现芯片系统顶层自动例化的方法,涉及集成电路设计验证领域,包括以下步骤:步骤1、按照RTL代码的命名规则对子模块和顶层文件进行命名,确定多个所述子模块的名称和多个所述顶层文件的名称;步骤2、用perl将所述子模块进行例化,输出中间例化子模块;步骤3、用所述perl筛选所述中间例化子模块,确定顶层输入端、输出端或输入输出端的端口方向,生成例化顶层文件;步骤4、用cshell删除所述中间例化子模块,将所述例化顶层文件按照所述多个所述顶层文件的名称进行命名,并将所述例化顶层文件拷贝到预先设定的位置。本发明实现了芯片系统顶层例化过程的全自动化,解决了因手动连接而工作繁琐、耗时较多、容易出错的问题。
技术领域
本发明涉及集成电路设计验证技术领域,尤其涉及一种基于perl实现芯片系统顶层自动例化的方法。
背景技术
目前集成电路顶层的连接方式基本采用人工方式,即手动连接的方式。随着当今世界在集成电路方面的电路复杂度越来越高,规模越来越大,层次越来复杂,设计验证的复杂度剧增,项目的顶层例化的模块也越来越多。在实际设计验证中,对于规模大的芯片,设计人员在做顶层例化时候,有时可能高达几百个模块,成千上万根的线需要进行连接。采用人工手动连接的方式浪费开发验证人员大量的时间,同时也使项目周期不得不在顶层例化的时候留出一定的时间。此为现有技术的不足之处。
因此,本领域的技术人员致力于开发一种实现芯片系统顶层自动例化的方法,以解决手动连接在顶层例化时候工作繁琐、耗时较多、容易出错的缺陷。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种实现芯片系统顶层自动例化方法,以解决因手动连接而工作繁琐、耗时较多、容易出错的问题。
为实现上述目的,本发明提供了一种基于perl实现芯片系统顶层自动例化的方法,所述方法包括以下步骤:
步骤1、按照RTL代码的命名规则对子模块和顶层文件进行命名,确定多个所述子模块的名称和多个所述顶层文件的名称;所述子模块为需要例化的子模块,所述顶层文件为需要定义的顶层文件;
步骤2、用perl脚本将所述子模块进行例化,输出中间例化子模块;
步骤3、用所述perl脚本筛选所述中间例化子模块,确定顶层输入端、输出端或输入输出端的端口方向,生成例化顶层文件;
步骤4、用cshell删除所述中间例化子模块,将所述例化顶层文件按照所述多个所述顶层文件的名称进行命名,并将所述例化顶层文件拷贝到预先设定的位置。
进一步地,所述步骤1包括:
步骤1.1、统一所述RTL代码的风格,构建关键字库;
步骤1.2、用所述关键字库与所述子模块和所述顶层文件进行匹配,确定多个所述子模块和所述顶层文件的名称。
进一步地,所述关键字库中的模块名关键字包含下述一种或多种:module,parameter,input,output,inout,port,comment。
进一步地,所述步骤2中的所述中间例化子模块放在预先设定的位置,便于第二次处理。
进一步地,所述步骤3根据所述模块名关键字与所述中间例化子模块之间的匹配进行所述筛选。
进一步地,所述步骤3中的信号列表的最后一个信号所述端口没有符号,对所述信号列表的所述最后一个信号所述端口进行单独处理,实现模块的定义规则。
进一步地,在所述步骤3中根据所述中间例化子模块的wire重复的命名进行筛选并保留一个,使符合verilog的规则。
进一步地,所述步骤3还包括以下操作:对信号进行方向性选择,使所述信号的方向保持正确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海磐启微电子有限公司,未经上海磐启微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910652114.7/2.html,转载请声明来源钻瓜专利网。