1.本发明属于芯片技术领域,涉及可编程逻辑器件芯片集成电路软件工具的布局技术,尤其涉及一种局部动态重配的布线方法。
背景技术:
2.可编程逻辑器件芯片的的重构配置分为全局重配和局部重配。
3.全局重配是将整体比特文件配置到可编程逻辑器件芯片中。
4.局部重配技术是在允许可编程逻辑器件芯片内固定逻辑正常运行时,对重配区域中的逻辑进行动态局部重配置。动态局部重配置(dpr)可以使得可编程逻辑器件芯片内部的硬件资源实现分时复用,提高资源使用率。
5.局部动态重配技术是将跨动态区域和静态区域的连接net从一个动态区域内的边界点跨越区域边界,并在后续的重配流程中以该边界点为起点或终点,完成动态区域内部的布线操作,在局部动态重配的布线流程中,可以获取到的net有两种类型:没有跨越动态区域边界的net和跨越动态区域边界的net,如图1、图2所示。
6.现有技术中没有对上述跨越动态区域边界的net进行处理的方法。
技术实现要素:
7.本发明的技术解决问题是:提供一种局部动态重配的布线方法,对可编程逻辑器件的重配中跨越动态区域边界的net进行处理,解决了可编程逻辑器件芯片局部动态重配中边界点选择与解路径搜索的问题,具体技术方案为:
8.本发明的技术解决方案是:
9.一种局部动态重配的布线方法,包括:
10.拆分可编程逻辑器件芯片局部动态重配中跨动态区域和静态区域的net,所述net为用户设计中端口之间的连接关系;
11.对边界区域的net布线,确定区域边界点,所述边界区域为driver所在区域,所述driver为信号发出的端口,所述边界点为动态区域与静态区域的交界处,且位于动态区域侧;
12.保存边界点信息;
13.对延伸区域的net布线,即对边界点到延伸区域load的net布线,所述延伸区域为没有driver的区域,所述load为接受信号的端口;
14.建立布线结果。
15.进一步地,所述保存边界点信息的步骤包括:
16.保存边界点所在的区域;
17.保存边界点对应的端口;
18.保存边界点的坐标。
19.进一步地,所述建立布线结果的步骤包括:记录静态区域内的net占用的动态区域
内的布线资源;记录的数据包括:被占用的资源类型,被占用的资源坐标。
20.进一步地,通过边界模块对所述对边界区域的net布线,所述边界模块包括:
21.转换器,用于将边界模块的net数据格式转换为扩展器需要的格式,并且在转换器输出解路径后将已转换net数据格式转换回原有格式,记录边界点;
22.扩展器,用于解路径和边界点的搜索工作;
23.具体的,所述边界模块工作流程包括:
24.将边界区域net数据的初始格式转化为边界模块工作所需要的格式;
25.将转换格式后的net数据输入到扩展器中做该net的边界点搜索工作;
26.保存搜索到的边界点信息数据;
27.将边界区域的net的数据格式、net的边界点信息数据转换为边界区域的初始数据格式。
28.进一步地,所述步骤中,net的边界点搜索工作通过解路径方法搜索,包括:
29.对于driver在静态区域的net,所述扩展器搜索从driver到动态区域边界的解路径,直至搜索到动态区域内的坐标点,所述动态区域内的坐标点为所述net的边界点;
30.对于driver在动态区域的net,所述扩展器搜索从driver到静态区域边界的解路径,直至搜索到静态区域内的坐标点,最后搜索到的动态区域坐标点为所述net的边界点。
31.本发明的有益效果是:
32.本发明提供的局部动态重配的布线方法,拆分现有跨动态区域和静态区域的net,先通过边界模块的程序对边界区域的net进行布线,保存解路径的得到的边界点信息,后通过延伸模块中的程序对延伸区域的net布线,解决了可编程逻辑器件芯片局部动态重配中边界点选择与解路径搜索的问题,实现了对可编程逻辑器件的重配中跨越动态区域边界的net进行处理。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是局部动态重配布线中没有跨越动态区域边界的net图;
35.图2是局部动态重配布线中跨越动态区域边界的net图;
36.图3是局部动态重配中处理跨越动态区域边界的net的流程图;
37.图4是局部动态重配布线中跨越动态区域边界的net的边界模块工作流程图;
38.图5是局部动态重配布线中跨越动态区域边界的net的延伸模块工作流程图
具体实施方式
39.下面结合附图对本发明实施例一种芯片布局方法进行详细描述。
40.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.本发明实施例提供的一种局部动态重配的布线方法,具体方案如下:
42.图3是局部动态重配中处理跨越动态区域边界的net的流程图,如图3所示,本实施例提供提供的一种局部动态重配的布线方法,具体方案如下:
43.拆分可编程逻辑器件芯片局部动态重配中跨动态区域和静态区域的net,所述net为用户设计中端口之间的连接关系;
44.对边界区域的net布线,确定区域边界点,所述边界区域为driver所在区域,所述driver为信号发出的端口,所述边界点为动态区域与静态区域的交界处,且位于动态区域侧;
45.当信号从静态区域输入到动态区域时,边界点会选择为动态区域边缘的输入节点,当信号从动态区输出到静态区时,边界点会选择为动态区边缘的输出节点;
46.所述对边界区域的net布线是通过边界模块来进行布线的,所述边界模块包括:
47.转换器,用于将边界模块的net数据格式转换为扩展器需要的格式,并且在转换器输出解路径后将已转换net数据格式转换回原有格式,记录边界点;
48.扩展器,用于解路径和边界点的搜索工作;
49.具体的,所述边界模块工作流程如图4所示,包括:
50.将边界区域net数据的初始格式转化为边界模块工作所需要的格式;
51.将转换格式后的net数据输入到扩展器中做该net的边界点搜索工作,对于信号从静态区输入到动态区的net,即对driver在静态区域的连接,扩展器会搜索从driver到动态区域边界的解路径,即该连接关系的静态部分,并在首次搜索到动态区内的坐标点时停止搜索,该坐标点即为所述net的边界点,该坐标点也是动态区域边缘的输入节点;
52.对于信号从动态区输出到静态区的连接,即对driver在动态区域的net,扩展器会搜索driver到静态区域边界的解路径,即该连接关系的动态部分,并在首次搜索到静态区域内的坐标点时停止搜索,最后搜索到的动态区域坐标点为所述net的边界点,该坐标点也是动态区边缘的输出节点。
53.保存搜索到的边界点信息数据;
54.将边界区域的net的数据格式、net的边界点信息数据转换为边界区域的初始数据格式。
55.可选地,所述步骤1.2net的边界点搜索工作通过解路径方法搜索,包括:
56.对于driver在静态区域的net,所述扩展器搜索从driver到动态区域边界的解路径,直至搜索到动态区域内的坐标点,所述动态区域内的坐标点为所述net的边界点;
57.对于driver在动态区域的net,所述扩展器搜索从driver到静态区域边界的解路径,直至搜索到静态区域内的坐标点,最后搜索到的动态区域坐标点为所述net的边界点。
58.保存边界点信息,边界点的信息需要与端口以及区域相对应,在重配流程中还要可以与新的连接关系进行匹配,因此,保存边界点信息主要保存以下数据信息:
59.保存边界点所在的区域;
60.保存边界点对应的端口;
61.保存边界点的坐标。
62.对延伸区域的net布线,即对边界点到延伸区域load的net布线,所述延伸区域为没有driver的区域,所述load为接受信号的端口;
63.延伸模块处理拆分后从边界点到load的连接关系。与边界模块不同的是,该模块并不需要转换器,因为net的原始数据格式在该模块中仍然适用。只需要将边界模块拆分后的从边界点到load的连接关系输入到该模块即可。该模块的工作流程如图5所示,因为延伸模块的功能是为拆分后的net搜索解路径,属于通用功能模块的一种,因此在此不多做叙述。
64.建立布线结果;
65.如果一个net的driver和load均位于静态区域,那么该net的连接不会受到重配流程的影响。这种net可以使用动态区域内的布线资源,且这些被使用的布线资源在重配流程中不能重新加载配置点信息;
66.因此,本发明在建立布线结果的时候引入了记录动态区域内的静态路径的功能,用来记录这些被静态连接关系占用的动态区域内的布线资源,以保证重配流程中的net不会使用到这些布线资源,从而保证位流的正确性。在保存这些资源的时候记录的数据资源有被占用的资源的类型和被占用的资源的坐标。
67.以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限与这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应视为本发明的保护范围。
转载请注明原文地址:https://win.8miu.com/read-1056266.html