[发明专利]一种用于将超大规模网表转换成DAG图的方法和系统有效
申请号: | 202110320249.0 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113065298B | 公开(公告)日: | 2022-05-20 |
发明(设计)人: | 李肯立;张屹东;陈岑;肖正;刘楚波;唐卓;阳王东;廖清 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F30/31 | 分类号: | G06F30/31;G06F30/392 |
代理公司: | 武汉臻诚专利代理事务所(普通合伙) 42233 | 代理人: | 宋业斌 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 超大规模 转换 dag 方法 系统 | ||
1.一种用于将超大规模网表转换成DAG图的方法,其特征在于,包括以下步骤:
(1)获取网表,从该网表中提取电路单元及其连线信息,以生成一个图,其以一个入边邻接表和一个出边邻接表存储起来;步骤(1)具体为,首先获取网表,将网表中的电路单元及其连线信息转换成图的形式,忽略掉外部与电路模块的输入输出连线,记录网表中的电路单元及其内部相互间的连线信息;
在转换过程中,将电路单元抽象成节点,并用一个类型标识来表示该节点所映射的电路单元的类型,将电路单元的面积或容量参数抽象成点权,将电路单元间的通信时间抽象成边权,然后分别用一个入边邻接表和出边邻接表存储图的拓扑信息;
(2)对步骤(1)得到的图进行预处理,以得到预处理后的图;
(3)检测步骤(2)预处理后的图中的所有强连通分量,并识别根据所有强连通分量识别多个环,提取每个环中的节点序号、以及该环中每个节点所连接的边在入边邻接表和出边邻接表中的序号;步骤(3)具体包括以下子步骤:
(3-1)设置计数器i=1;
(3-2)判断i是否大于步骤(2)预处理后的图中节点总数,如果是则转入步骤(3-5),否则转入步骤(3-3);
(3-3)按照深度优先搜索算法DFS对步骤(2)预处理后的图进行处理,读入第i个节点,将该节点的访问序号值p设置为i,并将该节点置于栈顶;
(3-4)设置i=i+1,并返回步骤(3-2);
(3-5)设置计数器j=1;
(3-6)判断j是否大于步骤(2)预处理后的图中的节点总数,如果是则转入步骤(3-9),否则转入步骤(3-7);
(3-7)按照从上到下的顺序从步骤(3-3)得到的栈中获取第j个节点A,根据出边邻接表获取该节点A通过出边能到达的访问序号值p最小的节点B,将节点A的最远回溯值q设置为节点B的序号,该节点A到该节点B的路径作为该节点A的最远回溯路径;
(3-8)设置j=j+1,并返回步骤(3-6);
(3-9)设置计数器k=1;
(3-10)判断k是否大于步骤(2)预处理后的图中的节点总数,如果是则转入步骤(3-13),否则转入步骤(3-11);
(3-11)按照从上到下的顺序从步骤(3-7)得到的栈中获取第k个节点,判断该节点的访问序号值p是否等于最远回溯值q,如果等于则将栈顶到该第k个节点之间的所有节点出栈,并在入边邻接表中提取该第k个节点的最远回溯路径上的所有节点和边序号,这些节点和边构成了一个强连通分量,并转入步骤(3-12),否则转入步骤(3-12);
(3-12)设置k=k+1,并返回步骤(3-10);
(3-13)将得到的强连通分量中节点数大于1的强连通分量识别为一个环;
(3-14)针对步骤(3-13)中识别的每个环中的节点和边,记录图中该节点所对应在入边邻接表和出边邻接表的结点、以及图中该边所对应在入边邻接表和出边邻接表中结点的边,过程结束;
(4)根据步骤(3)中获得的每个环中节点和边在入边邻接表中的序号,对该环中符合预定条件的入边进行切割,以得到多个单向连通的子图;步骤(4)包括以下子步骤:
(4-1)将步骤(1)从网表转换成图的过程中所有电路单元对应的类型标识存入寄存器列表中;
(4-2)设置计数器m=1;
(4-3)判断m是否大于步骤(3)中识别到的环的总数,如果是则过程结束,否则转入步骤(4-4);
(4-4)设置计数器n=1;
(4-5)判断n是否大于步骤(3)中识别到的第m个环中的节点总数,如果是则转入步骤(4-11),否则转入步骤(4-6);
(4-6)获取第m个环中第n个节点C对应的类型标识,判断该类型标识是否存在于步骤(4-1)的寄存器列表中,如果是则转入步骤(4-7),否则转入步骤(4-10);
(4-7)获取该节点C在入边邻接表中对应的结点、以及该节点C在第m个环中的边所对应在入边邻接表中对应的结点的边条目,再获取这条边另一端的节点D对应的类型标识,并判断该类型标识是否存在于寄存器列表中,如果是则转入步骤(4-8),否则转入步骤(4-9);
(4-8)根据该节点C和该节点D在步骤(1)得到的入边邻接表和出边邻接表中对应的结点,判断节点C的入边数是否大于1或者存在出边,且节点C的出边数是否大于1或者存在入边,如果是则将步骤(2)得到的预处理后的图中该节点C在第m个环中的所有入边删除,并将这些入边在入边邻接表和出边邻接表中的对应数据删除,然后转入步骤(4-10),否则转入步骤(4-10);
(4-9)根据该节点C在步骤(1)得到的入边邻接表和出边邻接表中对应的结点,判断C的入边数是否大于1或者存在出边,如果是则将步骤(2)得到的预处理后的图中该节点C在第m个环中的所有入边删除,并将这些边对应在入边邻接表和出边邻接表中的数据删除,转入步骤(4-10),否则转入步骤(4-10);
(4-10)设置n=n+1,并返回步骤(4-5);
(4-11)设置m=m+1,并返回步骤(4-3);
(5)使用虚节点将步骤(4)得到的多个单向连通图关联起来,从而得到目标DAG图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110320249.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自封闭型聚氨酯预聚物
- 下一篇:一种自动饲料加工设备