[发明专利]一种基于图的HDL编译优化方法有效
申请号: | 202310434999.X | 申请日: | 2023-04-21 |
公开(公告)号: | CN116149670B | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 王彦鹏 | 申请(专利权)人: | 湖南泛联新安信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/901 |
代理公司: | 长沙市护航专利代理事务所(特殊普通合伙) 43220 | 代理人: | 莫晓齐 |
地址: | 410005 湖南省长沙市开福区伍家岭街道*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdl 编译 优化 方法 | ||
1.一种基于图的HDL编译优化方法,其特征在于:包括如下步骤:
步骤S1、获取或者构建HDL文件;
步骤S2、对HDL文件进行词法、语法分析,并依据词法、语法分析结果构建抽象语法树;
步骤S3、遍历抽象语法树,创建多个变量节点和多个语句节点,在多个变量节点和/或多个语句节点之间添加有向边,得到需要构建的图;
步骤S4、对图进行优化,得到优化后的图;
所述步骤S4具体包含如下步骤:
步骤S41、对图进行预处理,得到预处理后的图;
步骤S42、遍历预处理后的图中所有的变量节点和所有的语句节点,并根据多个优化算法对所有变量节点和所有语句节点进行标记和记录;
步骤S43、检查图中所有变量节点和所有语句节点是否均标记完成,如果均标记完成,则进入到步骤S44,否则返回步骤S42;
步骤S44、根据标记和记录对所有的变量节点和所有的语句节点进行修改,得到优化后的图;
步骤S5、将优化后的图转换为目标无关的中间代码;
步骤S6、调用编译后端程序,将中间代码转为目标机器上的可执行文件。
2.根据权利要求1所述的HDL编译优化方法,其特征在于,所述步骤S3具体包括如下步骤:
步骤S31、对抽象语法树进行预处理,得到预处理后的抽象语法树;
步骤S32、遍历预处理后的抽象语法树,提取其中所有的变量,并为所有变量分别创建变量节点;
步骤S33、遍历预处理后的抽象语法树,提取其中所有的语句,并为所有的语句分别创造语句节点;
步骤S34、分析并提取步骤S32中所有变量与步骤S33中所有语句之间的依赖关系,并分别为这些依赖关系在多个变量节点和/或多个语句节点之间添加有向边,得到需要构建的图。
3.根据权利要求2所述的HDL编译优化方法,其特征在于,所述步骤S31中的预处理包括补全端口连接关系、生成层次树。
4.根据权利要求1所述的HDL编译优化方法,其特征在于,所述步骤S41中的预处理包括对变量节点和/或所有语句节点进行染色。
5.根据权利要求1所述的HDL编译优化方法,其特征在于,所述步骤S42中的多个优化算法包括always合并、module inline、循环展开、向量化、组合逻辑优化、死代码消除、语句重排、门优化、并行性分析、常量传播、常量折叠、复写传播。
6.根据权利要求1所述的HDL编译优化方法,其特征在于,所述步骤S5具体方法为:遍历图中所有变量节点、所有语句节点以及所有有向边,调用内部接口,为所有变量节点、所有语句节点以及所有有向边生成目标无关的中间表示代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南泛联新安信息科技有限公司,未经湖南泛联新安信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310434999.X/1.html,转载请声明来源钻瓜专利网。