CN101840202A - 一种控制系统建模中的功能块智能布线方法 - Google Patents
一种控制系统建模中的功能块智能布线方法 Download PDFInfo
- Publication number
- CN101840202A CN101840202A CN 201010181794 CN201010181794A CN101840202A CN 101840202 A CN101840202 A CN 101840202A CN 201010181794 CN201010181794 CN 201010181794 CN 201010181794 A CN201010181794 A CN 201010181794A CN 101840202 A CN101840202 A CN 101840202A
- Authority
- CN
- China
- Prior art keywords
- line
- point
- functional block
- wiring
- line section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明请求保护一种适用于复杂工业控制系统建模中的功能块智能布线方法,涉及智能布线技术。本发明根据工业控制系统建模过程中复杂控制关系、多功能块、多控制回路的特点,以及高效率、高灵活性的建模需求,设计出了一种智能布线方法,通过对连线折点个数的判断、连线的走向选取、连线索引确定、连线折点坐标以及布线版图区域中状态空间的转移过程,通过映射、逆映射方法,有效解决了工业控制网络结构复杂、设备繁多、组态关系复杂、组态界面凌乱的问题,并实现了不同功能块之间的互连问题,有较高的灵活性和适用性。本发明布线速度快,连线质量高,功能块达到一定规模时,时间复杂度及空间复杂度都很高,其优越性尤其显著,有一定的推广价值。
Description
技术领域
本发明涉及人工智能技术、计算机技术和自动控制技术,具体是一种功能块智能布线技术。
背景技术
随着现代工业的生产技术、工艺过程日趋复杂,生产设备和装置的规模不断扩大,人们对控制系统的需求越来越高。根据应用对象及控制任务的不同要求,用户需要灵活配置、合理组合各个功能模块,以完善和逼真的显示方式正确地表达出目标系统所要求的控制逻辑,并且保证生成系统的实用性和高效率性。控制系统组态是工业控制技术的核心技术之一,它主要是针对不同工程应用进行系统建模、控制逻辑建模和监控图元建模,而控制系统控制逻辑建模是由功能块及功能块之间的连线组成,主要完成工业控制系统输入、输出变量参数的配置,构成数据传输路线。
常见的工业控制系统都是采取“搭积木式”对话框形式,或在控制系统控制对象少的情况下通过简单的连线生成相应的链接对象进行组态配置,而在复杂多回路控制系统的情况下,这些配置方式存在工作量大、表述不直观等缺陷,同时在仿真测试软件中也很难寻找直观的连接关系。在这种情形下,功能块布线工作变得越来越繁重,因此提供一种智能布线方法是至关重要的。
现有技术中针对布线方法的研究有很多,目前已经提出的有VPR布局功能(基于模拟退火功能)、PCP布局功能、迷路法、斯坦纳(Steiner)树算法、贪婪算法等,它们都是以提高设计的可制造性、信号的完整性、使用资源少、能耗低、布通率高、布线面积(即通道数)或通孔数最小等为目标函数进行考虑。上述的布线功能都是基于多层电路板及集成电路线网或电网系统而设计的,而针对工业控制系统自动化领域很少涉及到,同时在工业控制系统建模领域中,所提及到的布线目标强调的是布线版图的可操作性及灵活性,对布线面积的要求并不高,因此在工业控制系统建模领域中,寻求一种适应的智能布线方法成为技术发展的必要。
本发明正是在这样的背景下提出的,主要是结合工业控制系统建模过程中复杂控制关系、多功能块、多控制回路的特点,以及高效率、高灵活性的建模需求等特点,创新性地提出了一种适合复杂工业控制系统建模过程中的功能块智能布线方法。该方法把人工智能应用到自动布线领域中,这是一种新的探索,也是一个重要的、大有发展前途的领域,将对传统的布线方式的创新产生积极的影响。
发明内容
本发明所要解决的问题是,针对复杂工业控制系统控制对象数量多、数据结构复杂的特点,以集成电路线网布线设计和电网系统中的布线方法为参考,结合分析面向区域和面向网格的布线功能及控制策略组态的结构特点,综合多种算法模式来设计,充分考虑了布线版图的可操作性和灵活性,能够高效率、更合理的对布局版图进行布线,为此提出了一种适合复杂工业控制系统的智能布线方法。要求线路绕过视图上已有的各种不同的功能块,实现线路连线路径短,拐点少、整齐美观的设计效果。
本发明解决其技术问题所采用的技术方案是:采用基于IEC61131-3国际标准的图形化功能块方式对控制逻辑进行建模,用以在计算机平台上布设具有多功能块、多线路的布线版图,将整个布线版图区域划分为若干个大小可变排列整齐的虚拟单元网格,从布线起点开始,一直沿着水平方向或竖直方向探索目标点,借助图1所给出的连线折点个数的判断方法、连线走向的确定方法、连线索引的确定方法、连线折点坐标的求解方法以及布线版图区域中状态空间的转移过程,采用了智能搜索技术、迷宫探路思想,通过映射、逆映射方法,自动确定一条功能块之间的最优路线,到达目标点。
连线折点个数判断模块根据功能块的位置、连线点之间的位置关系以及功能块之间是否存在其它功能块,确定连线折点个数;连线走向模块根据连线的折点个数、功能块之间存在的其它功能块位置及数量,确定连线的走向;连线索引模块结合网络区域中的已有布线状态信息,及连线的走向确定连线的索引值;位置模块根据连线之间的间距、连线的索引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模块结合连线的具体位置对组态界面布局进行更新。
连线折点个数判断方法是控制系统布线算法的关键环节,为控制系统布线过程中不出现交叉、重叠问题提供了保障,它的设计思想为根据功能块左上顶点、连线点的坐标判断它们之间的位置关系以及功能块之间是否存在其它功能块,同时结合具体实施方式中的连线折点个数选取情况表1,确定连线折点个数。
连线走向确定方法采用映射策略和探索思想,为控制系统布线提供合理的、最优的布线途径和方法。其基本思想是以网格区域中的网格线为映射目标,采用映射策略,将连线的两布线点映射到网格线上,同时借助迷宫探索思想,根据已知的连线折点个数,采用退化的A*算法,求解网格线上任意两点之间的最优路径,再借助布线点逆映射策略,以最优路径原则完成所有布线点的逆映射过程,从而构成相应连线的走向。
连线索引值求解方法步骤如下:
Ⅰ、计算连线中横线段所在的网格区域的行数。
Ⅱ、在连线数据库中查询上述行中已存在的所有横线段,获取每条横线段所连接的功能块、端子点信息,并确定横线段的影响实体是线头功能块或是线尾功能块。
Ⅲ、寻求该横线段与该行中其它横线段的上下位置关系的一种匹配模式。
Ⅳ、获取两横线段的索引大小关系。
Ⅴ、通过二叉树排序法,两两比较,确定该横线段索引的取值范围。
Ⅵ、通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值。
Ⅶ、同横线段索引求解方法,计算连线中左竖线段、右竖线段的索引值。
连线折点坐标求解方法步骤如下:
Ⅰ、初始化布线版图中功能块等对象的数据信息及其间距;
Ⅱ、判断功能块、布线点之间的位置关系,确定连线的折点个数;
Ⅲ、参照连线索引的求解方法,计算连线中横线段、左竖线段、右竖线段的索引值;
Ⅳ、根据连线的走向及折点个数,结合折点坐标公式,获取连线的具体位置。
布线版图区域状态空间转移是针对控制系统模型中功能块等控制对象发生改变时,整个控制系统模型状态空间同时发生相应转移的过程,例如当添加、删除或者移动系统中某一功能块对象时,引起整个布线版图区域中信息素发生相应的变化,其中包括改变布线版图区域大小、网格区域大小、功能块位置、连线位置及折点数等。
本发明提出的一种适合控制系统建模的规模自适应的、高效率的功能块智能布线方法,可有效解决工业控制系统网络结构复杂、设备繁多、组态关系复杂情形下工程师组态工作量大、组态界面凌乱的问题,避免了一般布线系统中障碍物在布线过程中位置固定不变和布通率不高的情况,并能够更好地为用户提供直观友好的界面以及灵活操作的建模环境,快速地完成不同功能块之间的互连。
本发明方法思路简捷,易于编程,求解速度快,连线质量高,当功能块达到一定规模时,时间复杂度及空间复杂度都很高,其优越性尤其显著,有一定的推广价值。
附图说明
图1布线方法总体流程图
图2基于功能块和连线的概念模型
图3路径探索方向选取图
图4连线最优路径搜索流程图
图5连线中横线段索引求解流程图
图6横线段的位置关系比较模式图
图7左竖线段的位置关系比较模式图
图8右竖线段的位置关系比较模式图
图9功能块、网格线、连线之间间距示意图
具体实施方式
以下结合附图和具体实例对本发明的实施作具体说明。
系统组态是工业控制系统的核心技术之一,它主要是针对不同工业控制系统不同工程应用来进行建模,通过功能块输入输出端口之间的相互连接,完成系统输入、输出变量参数的配置,构成数据传输路线。
将整个布线版图区域划分为一个个大小可变的虚拟单元网格,把功能块看做布线版图中的障碍物,从起点开始,一直沿着水平方向或竖直方向探索,借助连线折点个数的判断方法、连线的走向确定方法、连线索引的确定方法、连线折点坐标的求解步骤以及布线版图区域中状态空间的转移过程,采用了智能搜索技术、迷宫探路思想,通过映射、逆映射方法,自动确定一条功能块之间的最优路线直至到达目标点。
建立图2所描述的符合IEC61131-3国际标准的功能块和连线的概念模型,将功能块视作具有输入、输出端口和内部控制算法的模型,将连线视作“拷贝”操作,实现从一个功能块的输出端口到另一个功能块输入端口的数据拷贝,连线内记忆了连线两端的功能块的定位信息和线头功能块输出端口的定位信息及线尾功能块输入端口的定位信息。
在工业控制系统建模过程中,按照系统组态控制策略,功能块之间的任意两个布线点连接关系是确定的,而布线点位置是可变的,则在布线点位置变化的模式下,采用自动选择最优路径成为核心问题。该问题可以描述如下:
在二维多功能块、多连线的布线版图区域中,依据组态控制策略中功能块关系网表,寻找功能块端子点之间连线的最优路径,其中功能块作为连线的障碍物。为了便于描述,现以寻求布线版图区域中任意点A、B之间的最优路径,其中起点A位于功能块FB2的输出端子点上,目标点B位于功能块FB1的输入端子点上,如图3所示。
该布线问题是一个多目标优化问题,其优化目标如下:
(A)布线满足控制系统功能块并行性特点。即功能块中的每个输出端子点可以与多个输入端子点相连,每个输入端子点最多只能与一个输出端子点相连。
(B)布通率要达到100%。即任意两个布线点都可以找到一条最优布线路径,并且不影响已布线集合中任意连线的连接关系。
(C)布线总长度尽可能短,折点数不多于4个。即任意两点布线时,连线的折点数不多于4个,并且保证已布线集合中任意连线的折点数也不多于4个。
(D)布线版图力求美观。即控制系统建模过程中布线版图区域中的障碍物、连线始终分布均匀,相等区域包含的功能块数量偏差不小于2,每个功能块只能位于一个格子中。
(E)布线具有自动规避障碍能力。即任意两个布线点的布线路径与所有已布线的布线路径之间最多有5个交点,不能重叠,且与障碍物无交点。
(F)障碍物及已布线可根据实际需求位置发生变化。即当对控制系统建模过程中的布线版图区域中任意对象进行某种操作(诸如添加、删除、移动等)时,所有障碍物及已布连线的位置可能发生变化。
(G)布线速度尽可能快。
对于上述布线问题及优化目标,本发明提出一种智能布线方法,用以在计算机平台上布设具有多功能块、多线路的布线版图,将整个布线版图区域划分为若干个大小可变排列整齐的虚拟单元网格,从布线起点开始,一直沿着水平方向或竖直方向探索目标点,如图1所示,描述了布线方法总体流程图,连线折点个数判断模块根据功能块的位置、连线点之间的位置关系以及功能块之间是否存在其它功能块,确定连线折点个数;连线走向模块根据连线的折点个数、功能块之间存在的其它功能块位置及数量,确定连线的走向;连线索引模块结合网络区域中的已有布线状态信息,及连线的走向确定连线的索引值。布线状态信息包括连线中横线段所在的网格区域的行数,行中所有横线段,每条横线段所连接的功能块、端子点信息,横线段的影响实体是线头功能块还是线尾功能块。位置模块根据连线之间的间距、连线的索引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模块结合连线的具体位置对组态界面布局进行更新,在此过程中,采用了智能搜索技术、迷宫探路思想,通过映射、逆映射方法,自动确定一条功能块之间的最优路线,到达目标点。结合图1所示的几种方法:
1.连线折点个数判断
表1描述了连线折点个数选取情况表。对布线区域中任意的两个布线点,将它们所在的功能块记为fb1、fb2,根据功能块之间和布线点之间的不同位置关系,规定了两布线点连线的折点数只能为0、2、4个。连线折点个数判断模块对两端子点A、B之间连线的折点个数进行选取判断,具体为,连线折点个数判断模块首先根据功能块FB1、FB2的位置关系、端子点A、B的位置关系以及FB1、FB2之间是否存在其它功能块,计算相应的横纵坐标大小,并进行比较,再根据连线折点个数选取情况表1,确定A、B两点连线的折点个数。
表1连线折点个数选取情况
2.确定连线走向
对连线的走向的确定,首先采用布线点映射策略,将需要连线的两布线点A、B映射到网格区域中的网格线上,然后借助迷宫探索思想,可采用退化的A*算法,根据已知的连线折点个数,求解网格线上任意两点之间的最优路径,再借助布线点逆映射策略,将确定的上述最优路径逆映射到网格区域中,形成逆映射点,并将所有逆映射点、布线起点、布线目标点按顺序水平或竖直连接,构成A、B两点之间的连线的走向。图3描述了功能块FB2的输出端子点A与功能块FB1的输出端子点B之间的路径探索方向选取流程,其中,A1、B1为A、B在网格线上的映射点,C1、D1为A1、B1在网格线上的折点,P1、P2、P3、P4为A、B两点连线的折点,A→P1→P2→P3→P4→B组成了连线的具体走向。其详细流程如下:
①布线点映射策略
将布线点A、B分别向对应的功能块所在的网格区域中的网格线上水平投影,如,点A向右投影,点B向左投影,将映射关系记为f,并记它们在格子线上的投影点为布线端映射点q1、q2。如图3所示,q1=A1、q2=B1、特别地,若两映射点q1、q2重合,则该连线的探索路径为由起点、终点构成的无折点的直线段。下面均考察上述两映射点不重合的情形。
②网格线上任意两点的最优路径的确定
图4描述了网格线上任意两点的最优路径搜索流程。根据布线点目标点坐标(xe,ye),可能搜索点的坐标(x,y),算法模块调用评价函数f(n)=(|xe-x|+|ye-y|)(Hamilton距离),表示可能搜索点到目标点的距离值,采用退化的A*算法,根据已知的A、B两点之间连线折点个数,确定q1、q2之间连线的最优路径。寻求q1、q2之间连线的最优路径,每次选择下一个当前搜索点时,从所有已探知但未搜索过的点中,选取评价函数f(n)值最小的结点进行展开。其中,所有“已探知的但未搜索过点”,是指沿着网格线水平方向或竖直方向探索所选取的可行点(该点均是由网格线与网格线的交点构成),并把这些点加入到未搜索过的点的列表中。反复遍历已探知的点并查找f(n)值最小的点,并根据线路要素判断该点为合理点还是障碍点,移除障碍点。将所有合理点进行连接。可以用冒泡排序或快速排序等方法进行从低到高排序查找f(n)值最小的点,作为当前搜索点,并设定为C点。同时需要判断C点是否为连线要素点,即线路要素垂直相交,但非平行重叠的点。其判断方法为:若当前搜索点C位于已经存在的线路要素上,则把C点与它的父结点相连成一直线,判断已经存在的线路要素是否与该直线平行或重叠,如果平行或重叠,则可以判定C点是障碍点,否则,视它为垂直相交点,为合理点。如果是障碍点,则移除C点,重新遍历已探知的点并选择f(n)值最小的点作为C点,以此类推。不断反复探索,只至搜索到目标点为止。
如针对f(n)值最小条件下的探索路径可能仍然存在多条,需进一步判断连线的折点个数是否为0或1或2,在连线队列中,如找到折点个数为0或1的连线,则该连线为最优路径;若存在多条连线折点个数为2,且连线路径长度为最优且相等,根据优先级原则,选取需连线的两点中较上方的点,找出该选取点所在的行网格区域,选择连线折点落在该区域的下网格线上的一条路径为最优路径。进一步保存路径,从布线终点开始,每个结点沿着其父结点移动直至连线起点,这条路径即为连线最优路径。为下面叙述方便,若连线中存在折点,则记为q3、q4,若仅有一个折点,则记为q3。如图3所示,q3=C1、q4=D1。
探索过程中所经过的水平线与竖直线之间的交点构成连线的折点,根据折点之间的连线段与所在网格区域中的功能块位置关系,构成了布线版图区域中的横线段、左、右竖线段。如图3所示,P1P2、P2P3、P3P4分别为A、B两点连线的右竖线段、横线段、右竖线段,它们所在的区域为右竖线段区域、横线段区域、右竖线段区域。
③布线点逆映射策略
布线点逆映射是指将上述最优路径确定模块中所探索到的网格线上的点根据逆映射原则重新映射到网格区域中,其中网格线上的点包括映射点q1、q2以及折点q3、q4,这种映射关系记为:f′,它为一对多映射。如图3,
下面具体说明映射关系f′如下:
Ⅰ、建立映射点(如点q1、q2)逆映射原则,必须满足下述两要素之一:
◆两映射点所对应的逆映射点分别与布线起点、布线目标点在同一水平方向上。
◆两映射点所对应的逆映射点必须位于布线起点或布线目标点所在列的左、右竖线段区域中,当两映射点不在同一网格线上时,则布线起点所对应的映射点逆映射到右竖线段区域中,目标点所对应的映射点逆映射到左竖线段区域中;当两映射点在同一网格线上时,起点所对应的映射点逆映射到右竖线段区域中,而终点所对应的映射点如何逆映射,其决定因素在于终点所在列,起点所在行中是否存在功能块。若存在功能块,且起点、目标点位于不同行时,目标点的映射点逆映射到目标点所在列的左竖线段区域中。其它情况,均逆映射到起点所在列的右竖线段区域中。特别地,若两映射点重合,则起点、目标点直接相连。
Ⅱ、建立折点(即点q3、q4)逆映射原则:折点逆映射到所对应的网格线上方行的横线段区域中。
布线点逆映射具体实施方案如下:
首先将映射点、折点分别按照相应的逆映射原则进行逆映射,获取逆映射点;然后将逆映射点顺序连接,构成两布线点的连线走向,并确定连线所引起的横线段、左竖线段、右竖线段的存在状态及存在区域。
其探测结果如下:当q1=q2时,起点、终点直接相连,无折点,此时连线中不存在横线段、左竖线段、右竖线段;当q1≠q2时,分如下三种情况讨论:当q3、q4不存在时,连线存在2个折点或4个折点;当q3存在、q4不存在时,连线存在2个折点或4个折点;当q3、q4存在时,该起点、终点的连线有4个折点。
对于有2个折点的情形,连线中可存在一条左竖线段、不存在横线段、右竖线段;对于有4个折点的情形,连线中可存在一条横线段、一条左竖线段、一条右竖线段。
3确定连线索引
连线索引的确定目标是确定构成连线的横线段、左竖线段、右竖线段索引。在已布线中,连线的横线段、竖线段的位置与已布线集合中的横线段、竖线段有关,结合网格区域中功能块和连线状态信息,利用搜索方法根据线段在行网格区域和列网格区域中的位置关系来确定各线段索引值。
对各线段索引的定义如下:各线段的索引是针对行网格区域、列网格区域的,随着线段之间的位置关系的不同而改变。对于横线段而言,比较同行网格区域中的各横线段的上下位置关系,索引值越小,其对应的横线段越位于上方。
同理,对于左、右竖线段而言,比较同列左、右竖线段区域中的各竖线段的左右位置关系,左竖线段索引越小,越位于右边;右竖线段索引越小,越位于左边。若连线中的某横或竖线段索引为0,则表示该线段不存在。
图5描述了连线中横线段索引的求解过程,其具体步骤为:
Ⅰ、根据连线的走向,计算A、B两点连线中横线段所在的网格区域的行数,记为m。
Ⅱ、在连线数据库中查询横线段所在的网格区域的行数中所有横线段,获取每条横线段所连接的功能块、端子点信息,并确定横线段的影响实体是线头功能块还是线尾功能块。
在连线数据库中查询m行中已存在的所有横线段,获取已存在的每条横线段的相关信息,包括横线段相连的线头功能块、线尾功能块、线头端子点、线尾端子点以及横线段的影响实体是线头功能块还是线尾功能块。其中,连线数据库中保存着每条连线段的相关信息,对于横线段的影响实体是线头功能块还是线尾功能块,其判定法则是:当FB1、FB2的行数不同时,若横线段所在行数与其中之一相等时,与其相等的功能块就称为影响实体;当FB1、FB2的行数相同时,取其列数大的功能块为影响实体。
Ⅲ、寻求该横线段与该行中的其它横线段位置关系的一种匹配模式,匹配原则是比较两条横线段的影响实体及相关信息。图6描述了两横线段的上下位置关系比较的七种匹配模式,在m行中,横线段L1是由算法块FB1的输出端子点A引起的,横线段L2是由算法块FB2的输入端子点B引起的,根据FB1、FB2,A、B之间的位置关系来判断选择适宜的模式。
Ⅳ、根据上述所求的判断模式及其所对应的条件,查找表2连线索引大小比较情况,获取两横线段的索引大小关系。如在图6中的模式1-1中所对应的不同功能块FB的排列顺序是从左到右,其相应的横线段的索引值是从小到大,即:FB2在FB1的右方,则L2的索引值比L1大。
表2连线索引大小比较情况表
Ⅴ、通过二叉树排序法,两两比较,确定该横线段的索引的取值范围。
Ⅵ、通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值。
同理,对于左竖线段、右竖线段的索引值,根据图7和图8所给出的左、右竖线段位置关系判断模式及表2以类似的方法来求解。
图7描述了两左竖线段的位置关系比较的两种匹配模式,根据各左竖线段的影响实体的位置关系,确定它们之间的位置关系。模式2-1是在两左竖线段的影响实体为不同功能块FB时,确定两左竖线段的位置关系;模式2-2是在两左竖线段的影响实体为同一功能块FB,而所连接的输入端子点不同时,确定它们的位置关系。图8描述了右竖线段的位置关系比较的五种匹配模式,根据各右竖线段的影响实体的位置关系,确定它们之间的位置关系。
4.连线折点坐标的求解
根据布线版图中功能块的具体位置、布线区域的各布局对象之间的间距,结合连线的走向、索引求解方法来确定连线的具体位置,其连线折点坐标的计算步骤如下:
Ⅰ.布线版图各对象数据的初始化
对于每一个功能块FB都可包含着如下静态属性:名字Name、大小(HeightF,WidthF)、左顶点位置Pos(X,Y)、输入端子点IP、输出端子点OP、所在网格区域中行数RowF、列数ColF,同时这些静态属性可唯一构成一个功能块,为此将功能块表示为:
对于每一条连线LINE都包含着如下静态属性:起点的坐标HPt、起点所在功能块HFb、终点的坐标TPt、终点所在功能块TFb、折点坐标CrossPt(pti|i=1、…、CrossPt(NumPt))、折点个数CrossPt(NumPt),同时这些静态属性可唯一构成一条连线,为此将连线表示为:
其中折点集合为:
CROSSPT={NumPt,Pti |i=1、...、NumPt},且CrossPt∈CROSSPT。
i.首先将FB1、FB2的相关信息设定为Fbi=(FbiL,FbiR,FbiD)T,其中:
且这些数据均为已知数据。
ii.初始化布线版图中各对象之间的间距。
图9描述了功能块、网格线、连线之间间距,其中d1-d6的具体含义如下:
d1:表示功能块的左(右)端子点与该列中左(右)竖线段区域中最右(左)边的左(右)竖线段之间的水平距离;
d2:表示左(右)竖线段区域中任意两相邻左(右)竖线段之间的水平距离;
d3:表示左(右)竖线段区域中最左(右)边的左(右)竖线段与该左(右)竖线段所在列的网格区域的左(右)边网格线之间的水平距离;
d4:表示功能块的底部与该行中下横线段区域中最上边的下横线段之间的竖直距离;
d5:表示下横线段区域中任意两相邻下横线段之间的竖直距离;
d6:表示下横线段区域中最下边的下横线段与该下横线段所在行中的网格区域的下方网格线之间的竖直距离。
Ⅱ.判断FB1、FB2、A、B之间的位置关系,查找表1,确定连线L的折点个数,即获取CrossPt.NumPt的值。
Ⅲ.参照连线索引的求解方法,计算连线中横线段、左竖线段、右竖线段的索引值,即获取IndexLhLine、IndexRhLine、IndexLvLine、IndexRvLine的具体值,其中,这些变量依次表示连线L中左横线段、右横线段、左竖线段、右竖线段的索引值。
Ⅳ、根据L的走向及折点个数的不同,分如下三种情形来构建获取各折点坐标公式如下:
i.当连线的折点个数为0时:
CrossPt.NumPt=0,且L中不存在横线段、左、右竖线段,L是A、B相连的无折点的直线段。
ii.当连线的折点个数为2时:
CrossPt.NumPt=2,且L中只存在一条右竖线段,不存在横线段和左竖线段,L中折点坐标分别为:
iii.当连线的折点个数为4时:
CrossPt.NumPt=4,且L中存在一条横线段、一条左竖线段、一条右竖线段,L中第一个折点、第四个折点坐标分别为:
当连线中所存在的横线段为左下横线段时,L中第二个折点、第三个折点坐标分别为:
当连线中所存在的横线段为右下横线段时,L中第二个折点、第三个折点坐标分别为:
5.状态空间的转移
表3描述了添加一条连线时,该连线对控制系统建模中布线版图各信息素的影响情况表。对控制系统建模中的某一个对象进行操作时,其它布局对象也会受到相应的影响。当添加、删除或者移动功能块或连线时,整个布线版图区域中的信息素会发生相应的变化,主要包括布线版图区域大小、网格区域大小、功能块位置、连线位置及折点数。
表3连线对布线版图各信息素的影响情况表
当在布线版图区域中加入一个布线对象后,状态空间转移模块在所述位置进行组态界面布局更新,查询连线对布线版图各信息素的影响情况表,确定布线版图区域中信息素的变化,包括布线版图区域高度、宽度的变化,网格区域、功能块、连线的变化情况,如,增加一条横线段,则网格区域中大于该行的区域左顶点纵坐标相应的增加。
Claims (6)
1.一种功能块智能布线方法,其特征在于:连线折点个数判断模块根据功能块的位置、连线点之间的位置关系以及功能块之间是否存在其它功能块,确定连线折点个数;连线走向模块根据连线的折点个数、功能块之间存在的其它功能块位置及数量,确定连线的走向;连线索引模块根据网络区域中的已有布线状态信息及连线的走向,确定连线的索引值;位置模块根据连线之间的间距、连线的索引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模块结合连线的具体位置对组态界面布局进行更新。
2.根据权利要求1所述的功能块智能布线方法,其特征在于:所述确定连线的走向具体包括,将需要连线的布线起点A、布线目标点B映射到网格区域中的网格线上,采用退化的A*算法,根据已知的连线折点个数,求解映射到网格线上两点之间的最优路径,将确定的上述最优路径逆映射到网格区域中,形成逆映射点,并将所有逆映射点、布线起点、布线目标点按顺序水平或竖直连接,构成A、B两点连线的具体走向。
3.根据权利要求1所述的功能块智能布线方法,其特征在于:确定连线的索引值的步骤具体包括,计算连线中横线段所在的网格区域的行数;在连线数据库中查询上述行中所有横线段,获取每条横线段所连接的功能块、端子点信息,并确定横线段的影响实体是线头功能块还是线尾功能块;寻求该横线段与该行中所有横线段上下位置关系的匹配模式;获取两横线段的索引关系;通过二叉树排序法,两两比较,确定该横线段的索引的取值范围;通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值;同理,计算连线中左竖线段、右竖线段的索引值。
4.根据权利要求2所述的功能块智能布线方法,其特征在于:在逆映射中,当两映射点不在同一网格线上时,则布线起点所对应的映射点逆映射到右竖线段区域中,目标点所对应的映射点逆映射到左竖线段区域中;当两映射点在同一网格线上时,起点所对应的映射点逆映射到右竖线段区域中,而终点所对应的映射点根据终点所在列,起点所在行中是否存在功能块确定。
5.根据权利要求2所述的功能块智能布线方法,其特征在于:网格线上两点之间的最优路径的确定方法为,每次选择下一个当前搜索点时,从所有未搜索过的点中,选取评价函数f(n)值最小的结点进行,反复遍历已探知的点并查找f(n)值最小的点,并根据线路要素判断该点为合理点还是障碍点,移除障碍点,连接合理点。
6.根据权利要求5所述的功能块智能布线方法,其特征在于:如根据评价函数f(n)值最小的结点确定的路径有多条,寻找折点个数为0或1的连线为最优路径;若存在多条连线折点个数为2,且连线路径长度为最优且相等,选取需连线的两点中较上方的点,找出该选取点所在的行网格区域,选择连线折点落在该区域的下网格线上的一条路径为最优路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101817948A CN101840202B (zh) | 2010-05-25 | 2010-05-25 | 一种控制系统建模中的功能块智能布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101817948A CN101840202B (zh) | 2010-05-25 | 2010-05-25 | 一种控制系统建模中的功能块智能布线方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101840202A true CN101840202A (zh) | 2010-09-22 |
CN101840202B CN101840202B (zh) | 2012-04-18 |
Family
ID=42743625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101817948A Active CN101840202B (zh) | 2010-05-25 | 2010-05-25 | 一种控制系统建模中的功能块智能布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101840202B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102608934A (zh) * | 2012-02-08 | 2012-07-25 | 浙江中控技术股份有限公司 | 基于信息流的功能块排序方法 |
TWI426366B (zh) * | 2011-01-17 | 2014-02-11 | Hon Hai Prec Ind Co Ltd | 測試點自動查找與優化系統及方法 |
CN107908883A (zh) * | 2017-11-20 | 2018-04-13 | 北京华大九天软件有限公司 | 一种异形版图中点到线的跨障碍布线方法 |
CN108647022A (zh) * | 2018-05-31 | 2018-10-12 | 福州芝麻智能科技有限公司 | 一种逻辑元件关联路径的生成方法和系统 |
CN108829952A (zh) * | 2018-05-31 | 2018-11-16 | 福州芝麻智能科技有限公司 | 一种逻辑拓扑运算顺序的控制方法和系统 |
CN113283209A (zh) * | 2021-05-24 | 2021-08-20 | 海光信息技术股份有限公司 | 互连线设计方法及装置、芯片、电子设备和计算机可读存储介质 |
CN113658295A (zh) * | 2021-08-12 | 2021-11-16 | 南方电网数字电网研究院有限公司 | 一种基于地理信息的电网沿布图成图方法及装置 |
CN113703405A (zh) * | 2021-08-27 | 2021-11-26 | 中国核动力研究设计院 | 一种核电dcs算法组态逻辑图绘制系统 |
CN114265378A (zh) * | 2021-12-22 | 2022-04-01 | 中国核动力研究设计院 | Dcs逻辑算法图中算法页的元素布局及连线的处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6160419A (en) * | 1997-11-03 | 2000-12-12 | Altera Corporation | Programmable logic architecture incorporating a content addressable embedded array block |
US20030233625A1 (en) * | 2002-06-18 | 2003-12-18 | Ip-First, Llc. | Method for allocating spare cells in auto-place-route blocks |
CN1547323A (zh) * | 2003-12-16 | 2004-11-17 | 复旦大学 | 可编程逻辑器件结构建模方法 |
CN101043213A (zh) * | 2007-03-15 | 2007-09-26 | 复旦大学 | 一种现场可编程逻辑阵列布线资源结构及其建模方法 |
-
2010
- 2010-05-25 CN CN2010101817948A patent/CN101840202B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6160419A (en) * | 1997-11-03 | 2000-12-12 | Altera Corporation | Programmable logic architecture incorporating a content addressable embedded array block |
US20030233625A1 (en) * | 2002-06-18 | 2003-12-18 | Ip-First, Llc. | Method for allocating spare cells in auto-place-route blocks |
CN1547323A (zh) * | 2003-12-16 | 2004-11-17 | 复旦大学 | 可编程逻辑器件结构建模方法 |
CN101043213A (zh) * | 2007-03-15 | 2007-09-26 | 复旦大学 | 一种现场可编程逻辑阵列布线资源结构及其建模方法 |
Non-Patent Citations (1)
Title |
---|
《复旦大学硕士学位论文》 20090315 谈珺 FPGA互连结构与布局布线算法研究 全文 1-6 , 2 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI426366B (zh) * | 2011-01-17 | 2014-02-11 | Hon Hai Prec Ind Co Ltd | 測試點自動查找與優化系統及方法 |
CN102608934A (zh) * | 2012-02-08 | 2012-07-25 | 浙江中控技术股份有限公司 | 基于信息流的功能块排序方法 |
CN102608934B (zh) * | 2012-02-08 | 2014-06-04 | 浙江中控技术股份有限公司 | 基于信息流的功能块排序方法 |
CN107908883A (zh) * | 2017-11-20 | 2018-04-13 | 北京华大九天软件有限公司 | 一种异形版图中点到线的跨障碍布线方法 |
CN108647022A (zh) * | 2018-05-31 | 2018-10-12 | 福州芝麻智能科技有限公司 | 一种逻辑元件关联路径的生成方法和系统 |
CN108829952A (zh) * | 2018-05-31 | 2018-11-16 | 福州芝麻智能科技有限公司 | 一种逻辑拓扑运算顺序的控制方法和系统 |
CN113283209A (zh) * | 2021-05-24 | 2021-08-20 | 海光信息技术股份有限公司 | 互连线设计方法及装置、芯片、电子设备和计算机可读存储介质 |
CN113658295A (zh) * | 2021-08-12 | 2021-11-16 | 南方电网数字电网研究院有限公司 | 一种基于地理信息的电网沿布图成图方法及装置 |
CN113703405A (zh) * | 2021-08-27 | 2021-11-26 | 中国核动力研究设计院 | 一种核电dcs算法组态逻辑图绘制系统 |
CN113703405B (zh) * | 2021-08-27 | 2024-06-04 | 中国核动力研究设计院 | 一种核电dcs算法组态逻辑图绘制系统 |
CN114265378A (zh) * | 2021-12-22 | 2022-04-01 | 中国核动力研究设计院 | Dcs逻辑算法图中算法页的元素布局及连线的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101840202B (zh) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101840202B (zh) | 一种控制系统建模中的功能块智能布线方法 | |
US8341586B2 (en) | Method and system for routing | |
CN101702655B (zh) | 网络拓扑图的布局方法和系统 | |
CN104850011B (zh) | 一种障碍物环境中tsp避障最优路径规划方法 | |
US8605092B2 (en) | Method and apparatus of animation planning for a dynamic graph | |
JPH03188650A (ja) | 配線経路処理方法、配線経路処理システム、及び半導体集積回路 | |
CN108665117B (zh) | 一种室内空间最短路径的计算方法、装置、终端设备以及存储介质 | |
JPH08123836A (ja) | 会話型回路設計装置 | |
Tang et al. | A survey on steiner tree construction and global routing for vlsi design | |
CN107228673A (zh) | 航路规划方法及装置 | |
CN110231824A (zh) | 基于直线偏离度方法的智能体路径规划方法 | |
CN105373909A (zh) | 一种基于仿真软件的物流配送中心选址方法 | |
CN102749084A (zh) | 一种面向海量交通信息的路径选择方法 | |
CN103473388A (zh) | 实现流程图自动布局的系统及装置 | |
CN106931970A (zh) | 一种动态环境中机器人安全自主规划导航方法 | |
CN111080786A (zh) | 基于bim的室内地图模型构建方法及装置 | |
CN109800534A (zh) | Fpga设计电路图生成方法、装置、计算机设备及存储介质 | |
US20130125078A1 (en) | Interactive Routing Editor with Symbolic and Geometric Views for Integrated Circuit Layout | |
CN106651034A (zh) | 一种公交线网规划方法 | |
Luo et al. | An efficient simulation model for layout and mode performance evaluation of robotic mobile fulfillment systems | |
WO2018016558A1 (ja) | シミュレーション装置、シミュレーション方法、及び記憶媒体 | |
CN104063558A (zh) | 基于线性规划的大规模集成电路通道布线方法 | |
CN104699791B (zh) | 一种用于有损浮动车轨迹的路径还原方法 | |
CN104217580A (zh) | 面向车辆群组动画的路网语义建模方法及系统 | |
CN104200046A (zh) | 一种基于gis的三维输电线路走廊带设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |