[发明专利]基于网表分割和多线程并行的硬件描述语言仿真加速方法有效
| 申请号: | 201510964996.2 | 申请日: | 2015-12-21 |
| 公开(公告)号: | CN105589736B | 公开(公告)日: | 2019-03-26 |
| 发明(设计)人: | 刘凯;鲍迪;李玲 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 张问芬;王品华 |
| 地址: | 710071*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种基于网表分割和多线程并行的硬件描述语言仿真加速方法。用于解决计算机软件串行仿真方法中无法有效利用计算资源及仿真时间长的难题。其实现步骤是:首先获取硬件描述语言工程代码综合后产生的网表中节点间的连接关系;然后消除网表中的反馈回路;再依照逻辑计算顺序对网表中节点划分层次;最后将每层中数据无关的节点分配到计算机处理器的不同线程并行计算并输出仿真结果。应用本发明的方法进行硬件描述语言仿真具有效率高、结果准确、计算资源利用充分的优点,相比于现有仿真方法,在生成相同仿真结果的情况下本发明可以缩短仿真时间一半以上。 | ||
| 搜索关键词: | 基于 分割 多线程 并行 硬件 描述 语言 仿真 加速 方法 | ||
【主权项】:
1.一种基于网表分割和多线程并行的硬件描述语言仿真加速方法,包括如下步骤:(1)根据网表中逻辑电路各节点的连接关系,将硬件描述语言代码综合后产生的网表中的节点用集合F={f1,f2,...,fj,...,fn}来表示,其中j取值为1,2,…,n‑1,n;F中每个元素fj包含一个节点的编号num、种类type、层次gatelevel、与fj相连的上一级节点编号inputnum和fj输出信号所指向的下一级节点编号outputnum,由F中元素fj的连接关系形成一个有向图G=,其中F代表节点fj的相关信息,E代表节点间的有向边;(2)对有向图G=进行逆向深度优先搜索,得到其中所有的反馈回路,对每一个反馈回路中编号num最大的节点fbig,复制fbig逻辑值并赋给新节点f′big,用f′big指向反馈回路中num值最小的节点flittle,并且消除fbig指向flittle的路径,当消除所有的反馈回路后,图中剩下的节点形成新的有向图G'=;(3)从有向图G'的输入节点开始依次遍历输出信号所指向的相邻节点,将遍历到的每一个节点fj的层次gatelevel设置为前一级节点gatelevel中最大的值并加1,将F'划分成S个子集Fi',其中i取值为1,2,…,S‑1,S,每个子集Fi'中节点的gatelevel都相同;(4)在单芯片多核心处理器上调用多线程函数OpenMP,对每个子集Fi中的节点生成一个function()函数并按照gatelevel递增的顺序调用function()进行逻辑运算,编译运行仿真程序生成仿真结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510964996.2/,转载请声明来源钻瓜专利网。





