【技术实现步骤摘要】
一种基于多fanout逻辑的高效率低耦合的设计拆分方法
[0001]本专利技术公开一种基于多fanout逻辑的高效率低耦合的设计拆分方法,属于芯片设计的
技术介绍
[0002]拆分在EDA领域中指将逻辑网表按照一定的方法、规则进行拆分,拆分目的是将大的网表拆分为几个小的模块,以便于对网表进行并行处理或分块处理,拆分的要求通常是各模块之间的耦合关系越小越好,耦合关系通常可以用模块间连接的wire的多少来衡量:模块内部的连接越多,模块间的连接wire数量越少,模块间的独立性越强,拆分结果越理想。
[0003]现有拆分的方法通常分为两种:一种是直接通过逻辑网表的hierarchy关系进行拆分,优点是拆分边界清晰,缺点是拆分结果很难直接满足拆分要求,比如拆分要求模块间的独立性强,模块间的耦合关系弱一些,即模块间的连接关系尽量少一点;再比如拆分要求各模块的大小相近等等,而hierarchy关系往往根据设计的模块功能进行划分,并不能保证满足上述耦合关系、模块大小的要求,并且若设计本身是flatten的,不是hierarchy的,那么就无法利用hierarchy关系进行拆分,因此利用hierarchy关系进行拆分具有一定的局限性和不足。
[0004]另外一种拆分方法则是通过分析网表的结构关系进行拆分,优点是可以适用于flatten设计和hierarchy设计,缺点是由于网表间的关系复杂,一般启发式的算法通常具有执行时间较长、效率低、难以找到较好的结果等问题。
[0005]如附图1所示,展示了一个网 ...
【技术保护点】
【技术特征摘要】
1.一种基于多fanout逻辑的高效率低耦合的设计拆分方法,其特征在于,包括:(1)开始并根据多fanout器件构建模块;(2)分析网表的输入和输出;(3)根据器件层级关系构建模块;(4)根据模块的fanout器件数量合并模块;(5)是否调整模块大小:如无需调整,则直接步骤(6);如需调整,则调整模块;(6)结束。2.根据权利要求1所述一种基于多fanout逻辑的高效率低耦合的设计拆分方法,其特征在于,所述步骤(1)根据多fanout器件构建模块的具体方法包括:(1
‑
1)开始并遍历网表中的每个器件,获取遍历到的器件;(1
‑
2)判断获取到的器件是否有多个fanout器件:如果该器件只有一个fanout器件,继续遍历网表中的其余器件;如果该器件有多个fanout器件,继续执行步骤(1
‑
3);(1
‑
3)判断具有多个fanout的器件是否已经被添加到模块中:如果所述器件已被添加到模块中,则获取当前器件所在的模块;如果所述器件未被添加到模块中,则构建一个新模块,并将当前器件添加到构建的新模块中;(1
‑
4)将当前器件的fanout器件添加到当前器件所在的模块中;(1
‑
5)检查是否遍历完网表中的全部器件:如果尚未遍历完成,则继续遍历;如果遍历完毕,则执行步骤(1
‑
6);(1
‑
6)结束,得到新的网表。3.根据权利要求1所述一种基于多fanout逻辑的高效率低耦合的设计拆分方法,其特征在于,针对步骤(2)分析网表的输入和输出的具体步骤如下:(2
‑
1)遍历网表中的每个器件或模块,获取遍历到的器件或模块;(2
‑
2)判断遍历到的器件或模块是否只有fanin器件:如果只有fanin器件,则标记为输出;如果否,继续执行步骤(2
‑
3);(2
‑
3)判断遍历到的器件或模块是否只有fanout器件:如果只有fanout器件,则标记为输入并存放起来,留待后续使用;如果否,继续执行步骤(2
‑
4);(2
‑
4)检查是否遍历完网表中的全部器件:如果尚未遍历完成,则返回步骤(2
‑
1)继续遍历;如果遍历完毕,则执行步骤(2
‑
5)结束;(2
‑
5)结束。4.根据权利要求1所述一种基于多fanout逻辑的高效率低耦合的设计拆分方法,其特征在于,所述步骤(3)根据器件层级关系构建模块的具体方法包括:
(3
‑
1)开始并创建一个模块A,将步骤(2
‑
3)中标记为输入的输入器件或模块放入其中;(3
‑
2)判断模块A是否有fanout器件或模块:如果没有,则意味着所述模块A是网表的最后一层模块,执行步骤(3
‑
5)结束;如果有,则继续执行步骤(3
‑
3);(3
‑
3)创建一个模块B,将所述模块A的所有fanout器件或模块放入;(3
‑
4)将当前B模块记为A模块,返回步骤(3
‑
2),继续判断A模块是否有fanout器件或模块;(3
‑
5)结束,得到新的网表。5.根据权利要求1所述一...
【专利技术属性】
技术研发人员:刘奎,毛忠亮,王鸿儒,唐兴达,潘姿仪,孙绍涛,轩辕思思,
申请(专利权)人:山东启芯软件科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。