一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

可编程逻辑器件布线调整方法、装置、计算机及存储介质与流程

2022-06-11 13:49:06 来源:中国专利 TAG:


1.本发明实施例涉及fpga布线设计技术领域,尤其是一种可编程逻辑器件布线调整方法、装置、计算机及存储介质。


背景技术:

2.当前现场可编程门阵列(fpga)已经成为数字电路领域一种不可或缺的实现途径,在开发周期和可编程灵活性方面有着明显的优势,其应用领域也日趋广泛,涉及到通信、航天、医疗、数学计算、图像处理、消费产品等诸多领域。由于在fpga cad流程中,经常会出现时序不满足要求的情况,此时就需要对布线路径进行调整,而通过调整算法并不能完全解决问题时,就需要采用一种新的方法来重新调整布线的路径。


技术实现要素:

3.本发明实施例提供一种可编程逻辑器件布线调整方法、装置、计算机及存储介质,具有能够实现调整布线路径的优点。
4.为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:
5.一种可编程逻辑器件布线调整方法,包括:
6.获取上一次布线生成的布线结果文件和布线输入文件,所述布线输入文件包括:用户约束文件、用户设计文件和fpga结构文件;
7.检查电路设计及约束是否进行改动,若否,则读取用户修改的路径信息,并判断是否存在未连接上的路径;
8.当判断存在未连接上的路径时,获取用户修改的布线路径,并依据断开点对布线路径进行标记,以生成新的布线路径;
9.当判断不存在未连接上的路径时,则判断路径信息是否存在拥塞,若是,则保持用户修改的布线路径不变,对拥塞的信号进行正常布线。
10.作为本发明的优选方案进一步设置为,所述生成新的布线路径具体包括:
11.在对布线路径标记完成后,判断布线路径的代数是否超过预设代数,若否,则按照信号排序依次遍历信号集对信号进行布线,并在布线过程中检测是否存在拥塞信号,若是,则根据拥塞信号调整布线策略,若否,则完成布线过程。
12.作为本发明的优选方案进一步设置为,所述根据拥塞信号调整布线策略具体为:
13.若该拥塞信号为用户指定信号,则在布线时只连接用户保留的两端,并保持其他路径不变,否则,按照正常布线流程进行。
14.作为本发明的优选方案进一步设置为,按照信号排序依次遍历信号集对信号进行布线时,在第一代中,仅布设用户修改路径的信号。
15.作为本发明的优选方案进一步设置为,在生成新的布线路径后,将调整后的布线路径写入约束文件中进行保存,所述约束文件中包含布线路径节点信息。
16.为解决上述技术问题,本发明实施例还提供一种可编程逻辑器件布线调整装置,
包括:
17.文件获取单元,用于获取上一次布线生成的布线结果文件和布线输入文件,所述布线输入文件包括:用户约束文件、用户设计文件和fpga结构文件;
18.检查判断单元,检查电路设计及约束是否进行改动,若否,则读取用户修改的路径信息,并判断是否存在未连接上的路径;
19.路径生成单元,用于当判断存在未连接上的路径时,获取用户修改的布线路径,并依据断开点对布线路径进行标记,以生成新的布线路径;当判断不存在未连接上的路径时,则判断路径信息是否存在拥塞,若是,则保持用户修改的布线路径不变,对拥塞的信号进行正常布线。
20.为解决上述技术问题,本发明实施例还提供一种计算机,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述可编程逻辑器件布线调整方法的步骤。
21.为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述可编程逻辑器件布线调整方法的步骤。
22.综上所述,本发明实施例具有如下有益效果:
23.本发明实施例通过提供一种可编程逻辑器件布线调整方法、装置、计算机及存储介质,其中,可编程逻辑器件布线调整方法包括:获取上一次布线生成的布线结果文件和布线输入文件,所述布线输入文件包括:用户约束文件、用户设计文件和fpga结构文件;检查电路设计及约束是否进行改动,若否,则读取用户修改的路径信息,并判断是否存在未连接上的路径;当判断存在未连接上的路径时,获取用户修改的布线路径,并依据断开点对布线路径进行标记,以生成新的布线路径;当判断不存在未连接上的路径时,则判断路径信息是否存在拥塞,若是,则保持用户修改的布线路径不变,对拥塞的信号进行正常布线。在基于已有布线结果的基础上,根据用户修改的路径信息,进行检查判断后实现自动布线操作,从而能够满足用户不同的调整需求,可以随时调整布线路径,增加了布线的灵活性和电路的性能。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明实施例可编程逻辑器件布线调整方法的基本流程示意图。
26.图2为本发明实施例可编程逻辑器件布线调整方法中生成新的布线路径的流程示意图。
27.图3为本发明实施例可编程逻辑器件布线调整装置基本结构示意图。
28.图4为本发明实施例计算机的基本结构框图。
29.图中数字和字母所表示的相应部件名称:
30.501、文件获取单元;502、检查判断单元;503、路径生成单元。
具体实施方式
31.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
32.在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.具体请参阅图1,图1为本实施例可编程逻辑器件布线调整方法的基本流程示意图。
35.如图1所示,一种可编程逻辑器件布线调整方法,包括:
36.s100,获取上一次布线生成的布线结果文件和布线输入文件,所述布线输入文件包括:用户约束文件、用户设计文件和fpga结构文件。
37.s200,检查电路设计及约束是否进行改动,若否,则读取用户修改的路径信息,并判断是否存在未连接上的路径,而若判断电路设计及约束进行了修改,则由于输出发生改变将导致无法进行布线,布线流程结束,其中,电路设计及约束改变主要包括:(1)信号数量发生改变;(2)同一个信号,终点的数量发生改变;(3)信号的起点或者终点位置发生改变;(4)信号的差分点设计发生改变。
38.s300,当判断存在未连接上的路径时,获取用户修改的布线路径,并依据断开点对布线路径进行标记,以生成新的布线路径。
39.其中,生成新的布线路径具体请参阅图2,图2为本发明实施例可编程逻辑器件布线调整方法中生成新的布线路径的流程示意图。
40.如图2所示,所述生成新的布线路径具体包括:
41.在对布线路径标记完成后,判断布线路径的代数是否超过预设代数,若否,则按照信号排序依次遍历信号集对信号进行布线,并在布线过程中检测是否存在拥塞信号,若是,则根据拥塞信号调整布线策略,若否,则完成布线过程,在生成新的布线路径后,将调整后的布线路径写入约束文件中进行保存,其中约束文件中包含布线路径节点信息。
42.其中,按照信号排序依次遍历信号集对信号进行布线时,在第一代中,仅布设用户修改路径的信号;而根据拥塞信号调整布线策略具体为:若该拥塞信号为用户指定信号,则在布线时只连接用户保留的两端,并保持其他路径不变,否则,按照正常布线流程进行。
43.s400,当判断不存在未连接上的路径时,则判断路径信息是否存在拥塞,若是,则保持用户修改的布线路径不变,对拥塞的信号进行正常布线。
44.本发明在基于已有布线结果的基础上,根据用户修改的路径信息,进行检查判断后实现自动布线操作,从而能够满足用户不同的调整需求,可以随时调整布线路径,增加了
布线的灵活性和电路的性能。
45.下面结合一具体实施例对布线调整方法进行详细的描述:
46.首先,获取上一次的布线结果文件和布线输入文件,这些布线文件中包含每一条布线的名称,每一条布线包含该路径从起点(source)到终点(sink)的所有节点的名称、类型、容量信息等信息。
47.布线调整时,用户从网表列表(netlist)窗口内选择一个或多个网表(net),并选择显示布线(show routes),然后读取遍历布线文件,将需要的所有布线路径信息提取到数据结构内;在布线界面中,根据芯片尺寸绘制基本模块(tile)的边框,需要在缩放到可以分辨每个基本模块中心点的程度方可绘制,本实施例中,基本模块显示尺寸大于等于4*8像素时绘制。
48.开始布线时识别选择的每一条布线路径,在数据结构内找到要绘制的布线路径名称,根据数据结构内的节点坐标信息,绘制二维连线,第三维度信息不绘制,相同的x、y坐标节点均绘制在基本模块的中心点上,同时,若已经打开了布线指定界面(routing assignment),当前选择的网表为绘制的最后一条布线路径,且用第一颜色显示,如采用橙色高亮显示,而其他布线路径用第二颜色显示,如采用绿色显示;若没有打开则将默认的第一条布线路径用第一颜色绘制,如采用橙色高亮绘制。在绘制连线时,从一个终点(sink)到通道节点(chan)不可连接,因为终点后的通道节点是一个分支路径的起点,无法与终点进行连接,最后绘制辅助坐标轴以方便查看定位。
49.随后进行布线路径调整,在布线指定界面(routing assignment)内包括网表列表切换单元、邻居节点列表和已完成布线的节点列表,邻居节点列表用于显示下一个为断开点(gap)的通道节点可以连向的节点列表,已完成布线的节点列表用于显示当前路径节点。
50.在指定节点(assigned nodes)列表内选择移除的当前点,移除后即出现断点,在列表内显示为“net gap”,需要注意的是,如果移除的节点同时为某分支的根节点,则遵从“上无下删”的规则,即去除点向上查找再无相同点,则下方相同节点的分支根节点也均删除。随后选择为net gap的节点,邻居节点列表即请求底层获取可以连接的邻居节点列表,用户选中需要设置的邻居节点,将选中的邻居节点添加至指定节点列表中,此时,若添加的节点与gap下方的点也相连通,net gap即自动消失。
51.本实施例中,底层通信的实现过程为:
52.首先在主框架启动一个服务器(tcpserver),开始监听一个本机(localhost)的空闲端口(port),在布线界面启动时再启动一个客户端(tcpclient)子进程与服务器建立连接,服务器请求邻居节点数据会发送:“neighbor:x_y_index”;load edc功能请求约束文件内的nodes的信息会发送:“info:x_y_index”。
53.其次,底层结构代码提供了如下接口:
54.getnodeedges(int x,int y,int index),用于得到有效点扭转连接信息;
55.getnodeoutedges_ptr(int x,int y,int index),用于得到有效点外部连接信息;
56.getnodeinternedges(x,y,index),用于得到有效点内部连接信息;
57.getdevicenode(x,y,index),用于得到有效点的信息。
58.客户端将底层代码一同编译,在启动时同时构建底层结构数据,封装好上述接口
后,在收到上述服务器的请求时,调用接口获取数据,收到请求邻居节点数据,会调用前三个接口,而收到请求nodes info会调用最后一个接口。分析完数据后客户端会返回如下信息:
59.邻居节点信息:
60.neighbor_x_y_index:x1_y1_index1,type1,id1,capacity1;x2_y2_index2,type2,id2,capacity2;
……
61.节点信息:
62.info:x_y_index,type,id,capacity。
63.最后,将调整完成的布线路径写入edc约束文件中,其格式如下:
64.set_fixed_route\\out_icap\[1\]~reg0-to{source:91_10_201;opin:91_10_206;opin:91_10_226;chan:91_10_46;gap;chan:91_2_46;chan:91_0_308;chan:91_0_11;ipin:91_0_23;sink:91_0_22}
[0065]
其中,\\out_icap\[1\]~reg0为布线net名称,大括号内的内容即为布线路径节点,每个节点写为“类型:坐标”的格式,net gap写作gap。
[0066]
为解决上述技术问题,本发明实施例还提供一种可编程逻辑器件布线调整装置。
[0067]
具体请参阅图3,图3为本实施例可编程逻辑器件布线调整装置基本结构示意图。
[0068]
如图3所示,一种可编程逻辑器件布线调整装置,包括:文件获取单元501,用于获取上一次布线生成的布线结果文件和布线输入文件,所述布线输入文件包括:用户约束文件、用户设计文件和fpga结构文件;检查判断单元502,检查电路设计及约束是否进行改动,若否,则读取用户修改的路径信息,并判断是否存在未连接上的路径;路径生成单元503,用于当判断存在未连接上的路径时,获取用户修改的布线路径,并依据断开点对布线路径进行标记,以生成新的布线路径;当判断不存在未连接上的路径时,则判断路径信息是否存在拥塞,若是,则保持用户修改的布线路径不变,对拥塞的信号进行正常布线。
[0069]
为解决上述技术问题,本发明实施例还提供一种计算机。具体请参阅图4,图4为本实施例计算机的基本结构框图。
[0070]
如图4所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种可编程逻辑器件布线调整方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种可编程逻辑器件布线调整方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0071]
本实施方式中处理器用于执行图3中文件获取单元501、检查判断单元502和路径生成单元503的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
[0072]
本发明还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例可编程逻辑器件布线调整方法的步骤。
[0073]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0074]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献