[发明专利]串行等效的FPGA并行布局方法有效

专利信息
申请号: 201811201104.3 申请日: 2018-10-16
公开(公告)号: CN109543217B 公开(公告)日: 2023-05-02
发明(设计)人: 胡成玉;段清华;来金梅;王健;杨萌 申请(专利权)人: 成都华微电子科技股份有限公司;复旦大学
主分类号: G06F30/392 分类号: G06F30/392;G06F30/34
代理公司: 成都惠迪专利事务所(普通合伙) 51215 代理人: 刘勋
地址: 610000 四川省成都市中国(四川)自由贸易试验区成*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 串行 等效 fpga 并行 布局 方法
【权利要求书】:

1. 一种串行等效FPGA的并行布局方法,其特征在于,包括:

(一)并行布局的基本做法

将一次单元移动分成三个阶段:提出、评估、终结;在提出阶段,随机选取一个布局单元,并在一定物理范围内随机找到一个合适的移动位置;在评估阶段,计算布局单元移动前后代价函数的变化值;如果代价函数值变差,那么是否接受该次移动由随机数决定;在终结阶段,如果单元移动被接受,那么引起的数据变化被提交到全局的布局结果,如果单元移动被拒绝,那么引起的数据变化被回滚;

对于单元移动,包括一个主线程和多个子线程,利用主线程来进行提出和终结的任务,利用多个子线程同时评估多个单元的移动;并行发生在内循环阶段,由主线程和子线程同时工作,保证有多个单元移动同时执行;

其中,一次布局移动经由主线程和子线程分别处理,为了提高处理效率,将一次布局移动封装为一个完整的数据结构,即一个单元移动的整个过程都存储在一个数据结构中;该数据结构包括三个部分:

该次单元移动涉及的数据、任务,一个指示该次单元移动是否评估完成的标识;这个标识在子线程完成该次单元移动的评估后设置,主线程之后通过检查该标识来判断评估阶段是否完成,只有评估完成的单元移动,才能够被终结。

2. 根据权利要求1所述串行等效FPGA的并行布局方法,其特征在于,还包括:

(二)并行冲突的检测与处理

多个单元移动的并行执行会带来三种冲突:(a)同一单元移动到不同位置;(b)不同单元移动到同一位置;(c)各个单元移动间共享线网;为此,

采用“标签”法在单元移动的提出阶段进行冲突的检测,即主线程标记每次单元移动占用的单元、线网、位置;如果要标记的资源已经被标记,冲突就会发生;这里不仅要标记资源是否被占用,还要标记被哪次单元移动占用,便于后续的冲突处理;这些标记在终结阶段被清除;

主线程首先进行单元移动的提出,如果检测到冲突,则切换到终结任务,消除冲突;通过主线程任务的切换,保证所有子线程上并行执行的、需要评估的单元移动都是无冲突的;

为了避免冲突的单元移动需要重新提出,将单元移动的提出阶段细分为四个步骤:

单元移动的提出阶段被细分为四个步骤:

步骤1:选取一个单元,检测是否有资源被标记,如果为否,直接进入步骤2,如果为是,则切换到终极任务,消除冲突,进入步骤2;

步骤2:选取要移送的位置,检测是否有资源被标记,如果为否,直接进入步骤3,如果为是,则切换到终极任务,消除冲突,进入步骤3;

步骤3:寻找所有受影响的单元或线网,检测是否有资源被标记,如果为否,直接进入步骤4,如果为是,则切换到终极任务,消除冲突,进入步骤4;

步骤4:标记所有资源,完成单元移动的提出。

3. 根据权利要求2所述串行等效FPGA的并行布局方法,其特征在于,还包括:

(三)数据存储的并行架构设计

针对多个单元移动同时在多个子线程评估时,它们评估完成的顺序是不确定的这情况,将数据存储的并行架构分为两个部分:一个是主线程与数据队列1,一个是子线程与数据队列2;其中:

队列1用来存放单元移动的队列,该队列的使用可以让各个单元移动有序进出,保证单元移动产生的顺序与终结的顺序相同;当主线程提出一个单元移动时,进行冲突检测;如果没有冲突,那么主线程将该单元移动包括相应的数据结构提交到队列1,将单元移动的评估任务提交到队列2;如果有冲突,主线程将切换到终结任务来解决冲突;

队列2用来缓冲评估任务,该队列可以在子线程繁忙时存储等待的评估任务,提高子线程工作效率;当子线程空闲时,从队列2的尾部取出一个评估任务,当评估完成后,子线程设置单元移动数据结构中对应的标识位。

4.根据权利要求3所述串行等效FPGA的并行布局方法,其特征在于,具体操作步骤如下:

主线程:

步骤一,处理输入的打包后电路网表;

步骤二,进行随机的初始化布局;

步骤三,产生N个子线程,创建数据队列1,用来存储单元移动,创建任务队列2,用来存储评估任务;

步骤四,计算初始的退火温度T;

步骤五,判断温度T是否满足退出条件;如果满足,执行步骤十七;如果不满足,执行步骤六;

步骤六,设置内循环次数Inner_num为0;

步骤七,判断内循环次数是否达到设定值;如果达到,执行步骤八;如果未达到,执行步骤九;

步骤八,终结完队列1中剩余的单元移动,更新退火温度T , 转回步骤五;

步骤九,选取一个单元,检查该单元是否被标记;如果被标记,转到步骤十;如果没有被标记,转到步骤十一;

步骤十,从队列2的尾部不断取出单元进行终结,直到所有冲突的单元全部终结,转到步骤十一;

步骤十一,选取要移动到的位置,检查位置是否被标记;如果被标记,转到步骤十二;如果没有被标记,转到步骤十三;

步骤十二,从队列2的尾部不断取出单元进行终结,直到所有冲突的单元全部终结,转到步骤十三;

步骤十三,寻找所有受影响的线网或单元,检查这些单元或线网是否被标记;如果被标记,转到步骤十四;如果没有被标记,转到步骤十五;

步骤十四,从队列2的尾部不断取出单元进行终结,直到所有冲突的单元全部终结,转到步骤十五;

步骤十五,标记该次单元移动占用的所有资源,完成单元移动的提出;

步骤十六,将新的单元移动提交到队列1,将对应的评估任务提交到队列2,将内循环次数Inner_num加一,转回步骤七;

步骤十七,销毁所有子线程,结束并行布局,输出布局后的电路网表;

其中,在子线程产生后开始执行下面步骤:

步骤1,尝试从队列2中取出一个单元移动的评估任务;如果失败,执行步骤2;如果成功,执行步骤3;

步骤2,子线程会休眠短暂时间,队列2不为空时,子线程被通知苏醒,转回步骤1;

步骤3,执行评估任务,并将单元移动相应数据结构中的标识位设置,转回步骤1。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都华微电子科技股份有限公司;复旦大学,未经成都华微电子科技股份有限公司;复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811201104.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top