CN105631118A - 可编程逻辑器件图形绘制方法及装置 - Google Patents
可编程逻辑器件图形绘制方法及装置 Download PDFInfo
- Publication number
- CN105631118A CN105631118A CN201510998325.8A CN201510998325A CN105631118A CN 105631118 A CN105631118 A CN 105631118A CN 201510998325 A CN201510998325 A CN 201510998325A CN 105631118 A CN105631118 A CN 105631118A
- Authority
- CN
- China
- Prior art keywords
- layer
- programmable logic
- logic device
- device part
- design
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种可编程逻辑器件图形绘制方法及装置,在对如FPGA等可编程器件进行图形绘制时,先构建得到包含所有基础元素的基础元素层,然后再根据当前设计选中所涉及到的目标元件及当前用到的目标连接线路即可得到设计电路,因此在绘制不同设计电路时,可以通过在基础元素层基础上选择不同设计电路对应的目标元件及目标连接线路即可,不需要完全重新绘制,可以提升绘制效率,避免出现卡顿、闪屏现象,提升用户体验的满意度;且同时可显示基础元素层上的所有元素,避免缺乏整体感,更利于设计者的设计。
Description
技术领域
本发明涉及可编程逻辑器件领域,具体涉及一种可编程逻辑器件图形绘制方法及装置。
背景技术
现场可编程逻辑阵列(FieldProgrammableGateArrays即FPGA)是一种预先做好的硅器件,是一种典型的可编程逻辑器件,它能通过编程而实现几乎所有类型的数字电路或者数字系统。由大量的逻辑块、存储器、DSP(DigitalSignalProcessor,数字信号处理器)来实现。由于FPGA是可编程的器件,所以其电路设计软件(ElectronicDesignAutomation,EDA)尤为重要,其中,布局规划、映射、布局和布线是芯片逻辑的主要流程。
EDA作为芯片设计软件,必然需要根据模型抽象出FPGA逻辑门的逻辑结构和布线的方式以及时序等信息,使得设计更加直观易懂。FPGA大量的逻辑门和海量的线路对整个芯片在EDA中展示有着很高的性能要求。因此,为了提高这些大量图形元素在EDA中的绘制速度,设计者更加准确、流畅的操作逻辑对象,需要更加高效的图形模型和绘制方法。现有方法中对于大量图形对象的采取的办法是全部绘制或者进行抽样绘制。抽样绘制即为了提高效率大部分的内容不进行绘制,只绘制认为感兴趣的部分,这样做的好处是能加快绘制速度,提高响应速度。然而,现有的方法如果全部绘制,则大量图形情况下响应很慢,甚至出现卡顿、闪屏现象,绘制效率低,且用户体验不好;而抽样绘制,只绘制部分对象,则缺乏整体感,用户所关注的对象存在缺失,不利于设计者进行很好的设计。
发明内容
本发明要解决的主要技术问题是,提供一种可编程逻辑器件图形绘制方法及装置,解决现有FPGA图形全部绘制时存在的响应慢、效率低,用户体验满意度差,而抽样绘制时又会导致缺乏整体感,不利于设计者设计的问题。
为解决上述技术问题,本发明提供一种可编程逻辑器件图形绘制方法,包括:
构建可编程逻辑器件当前待绘制区域的基础元素层,所述基础元素层包含所述可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层;所述设计元素包括当前设计电路在所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路。
在本发明的一种实施例中,构建所述可编程逻辑器件当前待绘制区域的基础元素层包括:
根据所述可编程逻辑器件的区域与元件对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础元件层;所述区域与元件对应关系库包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;
根据所述可编程逻辑器件的区域与线路对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础线路层,所述区域与元件对应关系库包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;
将所述基础元件层与所述基础线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。
在本发明的一种实施例中,从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层包括:
根据预设的元件设计表从所述基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;
根据预设的线路设计表从所述基础线路层中选择出所述各目标元件之间当前用到的目标连接线路构成设计线路层;
将所述设计元件层和设计线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路的电路设计层。
在本发明的一种实施例中,还包括:
根据用户的对象选择指令从所述电路设计层中选中对应的目标对象构成选中对象层,所述目标对象包含目标元件和/或目标连接线路;
根据用户的更新指令对所述目标对象进行更新。
在本发明的一种实施例中,所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加。
在本发明的一种实施例中,还包括:
根据层更新指令从所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;
删除选中的目标层以及目标层以上的层,并根据所述层更新指令中的更新策略对所删除的层进行重构。
在本发明的一种实施例中,还包括:
当所述基础元素层和所述电路设计层发生平移且平移后至少一部分仍保留时,在平移后的至少一部分空白区域构建所述可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与所述保留部分的基础元素层和电路设计层进行拼接。
为了解决上述问题,本发明还提供了一种可编程逻辑器件图形绘制装置,包括:
基础元素层构建模块,用于构建可编程逻辑器件当前待绘制区域的基础元素层,所述基础元素层包含所述可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
电路设计层构建模块,用于从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层;所述设计元素包括当前设计电路在所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路。
在本发明的一种实施例中,所述基础元素层构建模块包括基础元件层构建子模块、基础线路层构建子模块和第一叠加子模块;
所述基础元件层构建子模块用于根据所述可编程逻辑器件的区域与元件对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础元件层;所述区域与元件对应关系库包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;
所述基础线路层构建子模块用于根据所述可编程逻辑器件的区域与线路对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础线路层,所述区域与元件对应关系库包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;
所述第一叠加子模块用于将所述基础元件层与所述基础线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。
在本发明的一种实施例中,所述电路设计层构建模块包括设计元件层构建子模块、设计线路层子模块和第二叠加子模块;
所述设计元件层构建子模块用于根据预设的元件设计表从所述基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;
所述设计线路层子模块用于根据预设的线路设计表从所述基础线路层中选择出所述各目标元件之间当前用到的目标连接线路构成设计线路层;
所述第二叠加子模块用于将所述设计元件层和设计线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路的电路设计层。
在本发明的一种实施例中,还包括选中层构建模块和对象更新模块;
所述选中层构建模块用于根据用户的对象选择指令从所述电路设计层中选中对应的目标对象构成选中对象层,所述目标对象包含目标元件和/或目标连接线路;
所述对象更新模块用于根据用户的更新指令对所述目标对象进行更新。
在本发明的一种实施例中,还包括层更新模块和重构模块;所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加;
所述层更新模块用于根据层更新指令从所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;
所述重构模块用于删除选中的目标层以及目标层以上的层,并根据所述层更新指令包含的更新策略对所删除的层进行重构。
在本发明的一种实施例中,还包括拼接模块,用于当所述基础元素层和所述电路设计层发生平移且平移后至少一部分保留时,在平移后的至少一部分空白区域构建所述可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与所述保留部分的基础元素层和电路设计层进行拼接。
本发明的有益效果是:
本发明提供的可编程逻辑器件图形绘制方法及装置,在对如FPGA等可编程器件进行图形绘制时,先构建可编程逻辑器件当前待绘制区域的基础元素层,所构建的基础元素层包含可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路,该基础元素层显示级别低,修改频率低、更新对象数量多,因此作为底层的基础层;然后再根据当前设计电路从基础元素层选择出当前待绘制区域所用到的所有目标元件以及各目标元件之间的当前用到的目标连接线路构成电路设计层;这样就完成了可编程逻辑器件图形的一次绘制。采用本发明提供的方案至少具备以下好处:
本发明提供的方案采用分层绘制,先构建得到包含所有基础元素的基础元素层,然后再根据当前设计选中所涉及到的目标元件及当前用到的目标连接线路即可得到设计电路,因此在绘制不同设计电路时,可以通过在基础元素层基础上选择不同设计电路对应的目标元件及目标连接线路即可,不需要完全重新绘制,可以提升绘制效率,避免出现卡顿、闪屏现象,提升用户体验的满意度;且同时可显示基础元素层上的所有元素,避免缺乏整体感,更利于设计者的设计。
进一步的,本发明还可将显示级别低,修改频率低、更新对象数量多的础元素层放在底层,将显示级别高,修改频率高、更新对象数量少的电路设计层显示在最外层,可进一步实现刷新图形时尽可能少的重绘图形。
进一步的,本发明还可将基础元素层细分为基础元件层、基础线路层,将电路设计层细分为设计元件层、设计线路层,并且可在最外层再实现选中对象层;利用选中对象层可以灵活的选中一个或多个对象以便对所选择的对象进行修改、删除等更新操作;而对于从下往上依次叠加的基础元件层、基础线路层、设计元件层、设计线路层和选中对象层,用户可以根据当前设计需要仅对需要更新的层以及该层其上其他层进行删除重绘即可,可进一步提升图形绘制的灵活性,尽可能降低重绘量,提升效率。
进一步的,本发明当绘制好的基础元素层和电路设计层发生平移且平移后至少一部分仍保留时,此时表明移动的距离不大,因此可在平移后的至少一部分空白区域直接构建可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与保留部分的基础元素层和电路设计层进行拼接组合成一个完整的图像。这样可以在另一层面上进一步提升重绘效率、响应速度以及用户体验。
附图说明
图1为本发明实施例一提供的可编程逻辑器件图形绘制方法流程示意图;
图2为本发明实施例一提供的构建基础元素层流程示意图;
图3为本发明实施例一提供的构建电路设计层流程示意图;
图4为本发明实施例一提供的进行层更新流程示意图;
图5为本发明实施例二提供的可编程逻辑器件图形绘制装置结构示意图一;
图6为本发明实施例二提供的可编程逻辑器件图形绘制装置结构示意图二;
图7为本发明实施例二提供的可编程逻辑器件图形绘制装置结构示意图三;
图8为本发明实施例二提供的可编程逻辑器件图形绘制装置结构示意图四;
图9为本发明实施例二提供的可编程逻辑器件图形绘制装置结构示意图五;
图10为本发明实施例三提供的FPGA层次模型示意图;
图11.1为本发明实施例三提供的选中对象层更新时删除示意图;
图11.2为本发明实施例三提供的选中对象层更新时重绘示意图;
图11.3为本发明实施例三提供的设计线路层更新时删除示意图;
图11.4为本发明实施例三提供的设计线路层更新时重绘示意图;
图11.5为本发明实施例三提供的设计元件层更新时删除示意图;
图11.6为本发明实施例三提供的设计元件层更新时重绘示意图;
图12.1为本发明实施例三提供的左下平移示意图;
图12.2为本发明实施例三提供的右下平移示意图;
图12.3为本发明实施例三提供的左上平移示意图;
图12.4为本发明实施例三提供的右上平移示意图。
具体实施方式
本发明针对FPGA等可编程逻辑器件的图形提出了分层绘制和拼接绘制的方式,可大大提升可编程逻辑器件图形绘制的效率,提升用户体验满意度。下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
本实施例中,根据显示级别,修改频率、更新对象数量对可编程逻辑器件进行优先级分层设计,先将其分成包含所有基础元素的基础元素层和包含所有涉及元素的电路设计层;其中基础元素层显示级别低,修改频率低、更新对象数量大,因此作为底层的基础层;相反电路设计层显示级别高,修改频率高、更新对象数量小,其为涉及人员最为关注的内容,放置在最外层。基于该分层思想,请参见图1所示,本实施例提供的可编程逻辑器件图形绘制方法包括:
步骤101:构建可编程逻辑器件当前待绘制区域的基础元素层;
此处构建的基础元素层包含可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
步骤102:从步骤101中的基础元素层选择出可编程逻辑器件当前待绘制区域的设计元素构成电路设计层,也即得到当前的设计电路图形。
该步骤中的设计元素包括当前设计电路在可编程逻辑器件当前待绘制区域所用到的所有目标元件以及各目标元件之间的当前用到的目标连接线路。
为了进一步提升图形绘制效率,本实施例还可将基础元素层和电路设计层进行细分,以进一步提升重绘时的灵活性。本实施例将基础元素层进一步细分为基础元件层和基础线路层,将电路设计层进一步细分为设计元件层和设计线路层。此时,请参见图2所示,构建可编程逻辑器件当前待绘制区域的基础元素层包括:
步骤201:根据可编程逻辑器件的区域与元件对应关系库,构建可编程逻辑器件当前待绘制区域的基础元件层;
本实施例中的区域与元件对应关系库为预先设置好的,其包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;此处的元件未经过布线设计,但其在可编程逻辑器件上的位置关系已确定;此时得到的基础元件层包含当前待绘制区域内的所有元件,且各元件都设置在相应位置;基础元件层包含大量的逻辑门抽闲的图形元素;
步骤202;根据可编程逻辑器件的区域与线路对应关系库,构建可编程逻辑器件当前待绘制区域的基础线路层;
本实施例中的区域与元件对应关系库也是预先设置好的,其包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;此处的线路连接为可编程逻辑器件原有的物理电路的抽象,所有设计用到的线路都从区域与元件对应关系库中选取;得到的基础线路层包含了当前待绘制区域内各元件之间的所有线路连接关系;
步骤203:将基础元件层与基础线路层叠加得到包含可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。
该步骤中的具体叠加方式可以为将基础元件层的内容先贴到空白的基础线路层上,然后再根据区域与线路对应关系库绘制各元件之间的所有线路连接关系。
请参见图3所示,从基础元素层选择出可编程逻辑器件当前待绘制区域的设计元素构成电路设计层包括:
步骤301:根据预设的元件设计表从基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;此时的目标元件相对基础元件层上的其他未选中的元件可进行区别显示;
元件设计表可为设计人员之前预置好的,也可是当前实时接收到设计人员下发的,其包含当前设计电路所用到的所有元件;
步骤302:根据预设的线路设计表从基础线路层中选择出各目标元件之间当前用到的目标连接线路构成设计线路层;
线路设计表可为涉及人员之前预置好的,也可是当设计人员现场设计的,其包含当前设计电路所用到的所有连接线路;根据该设计表即可从基础线路层各目标元件之间的所有连接关系中选择出当前设计用到的连接线路;
步骤303:将得到的设计元件层和设计线路层叠加得到包含可编程逻辑器件当前待绘制区域所用到的所有目标元件以及各目标元件之间的当前用到的目标连接线路的电路设计层,也即可得到当前绘制的设计电路。
该步骤中的具体叠加方式可以为将设计元件层的内容先贴到空白的设计线路层上,然后再根据线路设计表选择各目标元件之间的目标连接线路。
本实施例中,为了便于设计人员选择一个或多个对象进行更新,可还包括:
根据用户的对象选择指令从电路设计层中选中对应的目标对象构成选中对象层,该目标对象包含目标元件和/或目标连接线路;
根据用户的更新指令对选中的目标对象进行更新,包括但不限于进行删除、修改或增加等。
本实施例中基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加;且叠加后,上面一层同时包含下面一层的元素。在显示时,根据设计需要,可针对每一层设置显示开关,设计人员可以根据需要灵活的控制各层是否显示。
本实施例中,基于上述示例的分层设计,设计人员可以除了可以通过选中对象层进行单个对象的选中更新外,还可以层为单位进行更新。当需要更新的对象较多时,采用这种更新方式效率更高,体验满意度更好。具体请参见图4所示,该过程包括:
步骤401:接收层更新指令,层更新指令包含待更新的目标层以及更新策略;
步骤402:根据层更新指令从基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;
步骤403:删除选中的目标层以及目标层以上的层,并根据更新策略对所删除的层进行重构。
例如,当待更新的目标层为选中对象层时,则可直接删除该选中对象层,然后根据更新策略重建即可;当待更新的目标层为设计线路层时,则可直接删除该设计线路层和其上的选中对象层,然后根据更新策略重建设计线路层,并重建选中对象层,此时重建的选中对象层可能和之前的一致,也可能不同;依次类推,只有涉及到更新基础元件层时,才需要全部删掉全部重绘。
本实施例中,通过上述方式绘制好基础元素层和电路设计层后,当基础元素层和电路设计层发生平移时,当平移后至少一部分仍保留时,为了提升绘图效率,本实施例可借用保留部分而绘制其他空白部分,然后将两部分进行拼接组合成一个完成的图像,可进一步提升绘图效率。具体的,在基础元素层和电路设计层平移后的至少一部分空白区域构建可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与保留部分的基础元素层和电路设计层进行拼接组合成一个完成的图像。此处的拼接是指绘制两部分上各元件的线路连接。本实施例中的平移可能是通过鼠标拖动图像、水平拖动滑动条或垂直拖动滑动条等情况。此时保留部分的图像在移动前后是相同的,只是位置改变了,移动后得到的空白区域则可根据具体移动方式而定。此处不再赘述。
实施例二:
请参见图5所示,本实施例提供了一种可编程逻辑器件图形绘制装置,包括:
基础元素层构建模块,用于构建可编程逻辑器件当前待绘制区域的基础元素层,基础元素层包含可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
电路设计层构建模块,用于从基础元素层选择出可编程逻辑器件当前待绘制区域的设计元素构成电路设计层;设计元素包括当前设计电路在所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及各目标元件之间的当前用到的目标连接线路。
具体的,请参见图6所示,本实施例中的基础元素层构建模块包括基础元件层构建子模块、基础线路层构建子模块和第一叠加子模块;
基础元件层构建子模块用于根据可编程逻辑器件的区域与元件对应关系库,构建可编程逻辑器件当前待绘制区域的基础元件层;区域与元件对应关系库包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;此处的元件未经过布线设计,但其在可编程逻辑器件上的位置关系已确定;此时得到的基础元件层包含当前待绘制区域内的所有元件,且各元件都设置在相应位置;基础元件层包含大量的逻辑门抽闲的图形元素;
基础线路层构建子模块用于根据可编程逻辑器件的区域与线路对应关系库,构建可编程逻辑器件当前待绘制区域的基础线路层;区域与元件对应关系库也是预先设置好的,其包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;此处的线路连接为可编程逻辑器件原有的物理电路的抽象,所有设计用到的线路都从区域与元件对应关系库中选取;得到的基础线路层包含了当前待绘制区域内各元件之间的所有线路连接关系;
第一叠加子模块用于将基础元件层与基础线路层叠加得到包含可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。具体叠加方式可以为将基础元件层的内容先贴到空白的基础线路层上,然后再根据区域与线路对应关系库绘制各元件之间的所有线路连接关系。
电路设计层构建模块包括设计元件层构建子模块、设计线路层子模块和第二叠加子模块;
设计元件层构建子模块用于根据预设的元件设计表从基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;元件设计表可为设计人员之前预置好的,也可是当前实时接收到设计人员下发的,其包含当前设计电路所用到的所有元件;
设计线路层子模块用于根据预设的线路设计表从基础线路层中选择出各目标元件之间当前用到的目标连接线路构成设计线路层;线路设计表可为设计人员之前预置好的,也可是当前设计人员现场设计的,其包含当前设计电路所用到的所有连接线路;根据该设计表即可从基础线路层各目标元件之间的所有连接关系中选择出当前设计用到的连接线路;
第二叠加子模块用于将设计元件层和设计线路层叠加得到包含可编程逻辑器件当前待绘制区域所用到的所有目标元件以及各目标元件之间的当前用到的目标连接线路的电路设计层。具体叠加方式可以为将设计元件层的内容先贴到空白的设计线路层上,然后再根据线路设计表选择各目标元件之间的目标连接线路。
请参见图7所示,本实施例中的可编程逻辑器件图形绘制装置还包括选中层构建模块和对象更新模块;
选中层构建模块用于根据用户的对象选择指令从电路设计层中选中对应的目标对象,选中的目标对象包含目标元件和/或目标连接线路构成选中对象层;
对象更新模块用于根据用户的更新指令对所述目标对象进行更新,包括但不限于进行删除、修改或增加等。
本实施例中的基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加;且叠加后,上面一层同时包含下面一层的元素。在显示时,根据设计需要,可针对每一层设置显示开关模块,设计人员可以根据需要灵活的控制各层是否显示。
请参见图8所示,本实施例中的可编程逻辑器件图形绘制装置还包括层更新模块和重构模块;
层更新模块用于根据层更新指令从基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;该层更新指令包含待更新的目标层以及更新策略;
重构模块用于删除选中的目标层以及目标层以上的层,并根据所述更新指令包含的更新策略对所删除的层进行重构。
请参见图9所示,本实施例中的可编程逻辑器件图形绘制装置还包括拼接模块,用于当基础元素层和所述电路设计层发生平移且平移后至少一部分保留时,在平移后的至少一部分空白区域构建可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与保留部分的基础元素层和电路设计层进行拼接组合成一个完成的图像。
实施例三:
为了更好的理解的本发明,本实施例以将本发明提供的方案应用于EDA实现FPGA图的绘制为例,对本发明做进一步说明。
针对为FPGA。在层次模型中,各个层次根据显示级别、修改频率、更新对象数量三个维度进行优先级排序,显示级别高、修改频率高、更新对象数量小则在分层模型的最顶层绘制,反之则在模型的最底层进行绘制。对界面进行操作只需要根据需要对其中一层或者几层进行删除、重绘和叠加即可。
针对FPGA分层模型请参见图10所示:将FGPA抽象成5层模型,根据不同对象的展示优先级、需要修改刷新频率进行排序:
第一层,基础元件层layer1,即背景层,除了FPGA的线路以外,未经过布局布线设计的所有元件应该在EDA软件上展示的对象;此层有大量的逻辑门抽象的图形元素;
第二层,基础线路层layer2,连接线路即FPGA设备原有的物理电路的抽象,所有设计用到的连接线路都从device线中选取,此层有海量的连接线路。第二层在第一层的基础之上进行绘制,即先将第一层已经画好的内容贴到第二层,然后绘制第二层需要的对象。如图10所示,layer2同时包含layer1和layer2的对象;
第三层,设计元件层layer3,placement层,即电路设计映射到FPGA上具体的逻辑对象,从背景层所有元件(即所有逻辑门)中选取当前设计电路用到的目标元件来实现需要的功能;是设计人员元件设计的结果展示;第三层在第二层的基础上进行绘制,如图10所示layer3同时包含layer2的对象,而layer2包含layer1对象;
第四层,设计线路层layer4,routing线层,电路设计映射到FPGA具体的从所有连接线路中选用的目标线路,包括routing线、飞线、关键路径、时延信息等。是设计人员线路设计的结果展示。第四层在第三层的基础上进行绘制,如图10所示layer4同时包含layer3的对象,而layer3包含layer2对象,依次类推。
第五层,选中对象层layer5,此层主要根据用户的需要,将用户关注的对象高亮显示出来,是进行电路设计(增、删、改)等更新操作前提。第五层在第四层的基础上进行绘制,如图10所示layer5同时包含layer4的对象,而layer4包含layer3对象,依次类推。
得到上述图像后,进行更新的过程如下:
请参见图11.1和图11.2所示,该图所示为更新选中对象层的情况,比如更改选中对象、减少、新增选中对象等情况需要进行重绘。如图11.1和图11.2所示,选中对象层重绘逻辑为,先删掉选中层layer5,保留layer4,在删掉layer5以后,layer4保留了原有信息,在此基础之上,重绘layer5,最后将layer5绘制在图形界面上进行展示即可。
请参见图11.3和图11.4所示,设计线路层layer4刷新,更改设计线路,显示/取消显示设计线路需要重绘,此时的设计线路层重绘逻辑为,先删掉选中层layer5、设计线路层layer4,保留layer3。在layer3的基础上重绘layer4完成layer4,然后在layer4基础上重绘layer5。最后将layer5绘制在图形界面上进行展示即可。
请参见图11.5和图11.6所示,设计元件层layer3刷新,更改设计元件,显示/取消显示设计元件需要重绘,此时设计元件层重绘逻辑为,先删掉选中层layer5、设计线路层layer4、设计元件层layer3,保留layer2。在layer2基础上重绘layer3完成layer3,layer3基础上重绘layer4完成layer4,layer4基础上重绘layer5。最后将layer5绘制在图形界面上进行展示即可。
基础线路层layer2刷新跟前几种情况类似,此处不再赘述。
所有层都要刷新的情况,当图形界面放大缩小,则需要对所有的layer进行刷新,依然按照图1所示进行重绘即可。平移的情况则可根据下文中的拼接技术进行处理。
拼接过程示例:
针对会治好的图像显示过程中平移操作,如鼠标拖动图像、水平拖动滑动条、垂直拖动滑动条等情况,可采用拼接技术,充分利用之前保留的部分原始图像,减少不必要的区域重绘。
根据图像平移的方向不同,拼接需要重绘的区域也不一样,如图12.1-12.4所示。按照四种情况进行区分。平移方向分别为左下(图12.1)、右下(图12.2)、左上(12.3)、右上(12.4)。
如图12.1所示,针对左下拖动情况,原始图像区域从右上移动到左下,右上两个矩形区域为两个重绘区域,因为此前没有图形元素所以出现空白。原始图像区域因为没有发生变化,只是改变了位置,此时我们只需要将原始图像区域贴于左下角,然后在两个重绘区域按照上述方式重绘,最后将这三个区域进行拼接构成一个完整图像。
右下、左上、右上与左下(图12.1情况类似)此处不做赘述。需要注意的是,垂直和水平拖动图像的情况,这两种也可以归类到上述四种情况,只是两个重绘区域的其中一个为空,此时采用的拼接技术与图12.1中相同,此处也不在赘述。
显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (13)
1.一种可编程逻辑器件图形绘制方法,其特征在于,包括:
构建可编程逻辑器件当前待绘制区域的基础元素层,所述基础元素层包含所述可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层;所述设计元素包括当前设计电路在所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路。
2.如权利要求1所述的可编程逻辑器件图形绘制方法,其特征在于,构建所述可编程逻辑器件当前待绘制区域的基础元素层包括:
根据所述可编程逻辑器件的区域与元件对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础元件层;所述区域与元件对应关系库包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;
根据所述可编程逻辑器件的区域与线路对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础线路层,所述区域与元件对应关系库包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;
将所述基础元件层与所述基础线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。
3.如权利要求2所述的可编程逻辑器件图形绘制方法,其特征在于,从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层包括:
根据预设的元件设计表从所述基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;
根据预设的线路设计表从所述基础线路层中选择出所述各目标元件之间当前用到的目标连接线路构成设计线路层;
将所述设计元件层和设计线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路的电路设计层。
4.如权利要求3所述的可编程逻辑器件图形绘制方法,其特征在于,还包括:
根据用户的对象选择指令从所述电路设计层中选中对应的目标对象构成选中对象层,所述目标对象包含目标元件和/或目标连接线路;
根据用户的更新指令对所述目标对象进行更新。
5.如权利要求4所述的可编程逻辑器件图形绘制方法,其特征在于,所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加。
6.如权利要求5所述的可编程逻辑器件图形绘制方法,其特征在于,还包括:
根据层更新指令从所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;
删除选中的目标层以及目标层以上的层,并根据所述层更新指令中的更新策略对所删除的层进行重构。
7.如权利要求1-6任一项所述的可编程逻辑器件图形绘制方法,其特征在于,还包括:
当所述基础元素层和所述电路设计层发生平移且平移后至少一部分仍保留时,在平移后的至少一部分空白区域构建所述可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与所述保留部分的基础元素层和电路设计层进行拼接。
8.一种可编程逻辑器件图形绘制装置,其特征在于,包括:
基础元素层构建模块,用于构建可编程逻辑器件当前待绘制区域的基础元素层,所述基础元素层包含所述可编程逻辑器件当前待绘制区域的所有元件和以及各元件之间的所有连接线路;
电路设计层构建模块,用于从所述基础元素层选择出所述可编程逻辑器件当前待绘制区域的设计元素构成电路设计层;所述设计元素包括当前设计电路在所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路。
9.如权利要求8所述的可编程逻辑器件图形绘制装置,其特征在于,所述基础元素层构建模块包括基础元件层构建子模块、基础线路层构建子模块和第一叠加子模块;
所述基础元件层构建子模块用于根据所述可编程逻辑器件的区域与元件对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础元件层;所述区域与元件对应关系库包含可编程逻辑器件各区域包含的元件以及各元件的位置信息;
所述基础线路层构建子模块用于根据所述可编程逻辑器件的区域与线路对应关系库,构建所述可编程逻辑器件当前待绘制区域的基础线路层,所述区域与元件对应关系库包含可编程逻辑器件各区域的各元件之间的所有线路连接关系;
所述第一叠加子模块用于将所述基础元件层与所述基础线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所有元件以及各元件之间所有连接线路的基础元素层。
10.如权利要求9所述的可编程逻辑器件图形绘制装置,其特征在于,所述电路设计层构建模块包括设计元件层构建子模块、设计线路层子模块和第二叠加子模块;
所述设计元件层构建子模块用于根据预设的元件设计表从所述基础元件层中选择出当前设计电路所用到的所有目标元件构成设计元件层;
所述设计线路层子模块用于根据预设的线路设计表从所述基础线路层中选择出所述各目标元件之间当前用到的目标连接线路构成设计线路层;
所述第二叠加子模块用于将所述设计元件层和设计线路层叠加得到包含所述可编程逻辑器件当前待绘制区域所用到的所有目标元件以及所述各目标元件之间的当前用到的目标连接线路的电路设计层。
11.如权利要求10所述的可编程逻辑器件图形绘制装置,其特征在于,还包括选中层构建模块和对象更新模块;
所述选中层构建模块用于根据用户的对象选择指令从所述电路设计层中选中对应的目标对象构成选中对象层,所述目标对象包含目标元件和/或目标连接线路;
所述对象更新模块用于根据用户的更新指令对所述目标对象进行更新。
12.如权利要求11所述的可编程逻辑器件图形绘制装置,其特征在于,还包括层更新模块和重构模块;所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层从下往上依次叠加;
所述层更新模块用于根据层更新指令从所述基础元件层、基础线路层、设计元件层、设计线路层和选中对象层中选中待更新的目标层;
所述重构模块用于删除选中的目标层以及目标层以上的层,并根据所述层更新指令包含的更新策略对所删除的层进行重构。
13.如权利要求8-12任一项所述的可编程逻辑器件图形绘制装置,其特征在于,还包括拼接模块,用于当所述基础元素层和所述电路设计层发生平移且平移后至少一部分保留时,在平移后的至少一部分空白区域构建所述可编程逻辑器件对应待绘制区域的基础元素层和电路设计层,并与所述保留部分的基础元素层和电路设计层进行拼接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510998325.8A CN105631118B (zh) | 2015-12-25 | 2015-12-25 | 可编程逻辑器件图形绘制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510998325.8A CN105631118B (zh) | 2015-12-25 | 2015-12-25 | 可编程逻辑器件图形绘制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105631118A true CN105631118A (zh) | 2016-06-01 |
CN105631118B CN105631118B (zh) | 2019-12-27 |
Family
ID=56046047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510998325.8A Active CN105631118B (zh) | 2015-12-25 | 2015-12-25 | 可编程逻辑器件图形绘制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105631118B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919735A (zh) * | 2017-01-11 | 2017-07-04 | 广东工业大学 | 一种快速的元件排布的方法 |
CN112199918A (zh) * | 2020-10-20 | 2021-01-08 | 芯和半导体科技(上海)有限公司 | 一种通用eda模型版图物理连接关系的重建方法 |
CN113495663A (zh) * | 2021-07-05 | 2021-10-12 | 北京华大九天科技股份有限公司 | 绘制矩形版图的方法、装置、存储介质和电子设备 |
CN113641350A (zh) * | 2020-04-27 | 2021-11-12 | 横河电机株式会社 | 软件开发环境提供系统、方法和非临时性计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1521622A (zh) * | 2003-01-29 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路的版图识别方法 |
CN1786968A (zh) * | 2005-12-08 | 2006-06-14 | 复旦大学 | Fpga逻辑单元的功能模型和通用性逻辑单元装箱算法 |
CN101373489A (zh) * | 2007-08-23 | 2009-02-25 | 英业达股份有限公司 | 信号线的布设层面切换系统 |
US20100287519A1 (en) * | 2009-05-11 | 2010-11-11 | Anaglobe Technology, Inc. | Method and system for constructing a customized layout figure group |
CN101980216A (zh) * | 2010-10-18 | 2011-02-23 | 清华大学 | 基于网块的快速多层布线方法 |
-
2015
- 2015-12-25 CN CN201510998325.8A patent/CN105631118B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1521622A (zh) * | 2003-01-29 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路的版图识别方法 |
CN1786968A (zh) * | 2005-12-08 | 2006-06-14 | 复旦大学 | Fpga逻辑单元的功能模型和通用性逻辑单元装箱算法 |
CN101373489A (zh) * | 2007-08-23 | 2009-02-25 | 英业达股份有限公司 | 信号线的布设层面切换系统 |
US20100287519A1 (en) * | 2009-05-11 | 2010-11-11 | Anaglobe Technology, Inc. | Method and system for constructing a customized layout figure group |
CN101980216A (zh) * | 2010-10-18 | 2011-02-23 | 清华大学 | 基于网块的快速多层布线方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919735A (zh) * | 2017-01-11 | 2017-07-04 | 广东工业大学 | 一种快速的元件排布的方法 |
CN113641350A (zh) * | 2020-04-27 | 2021-11-12 | 横河电机株式会社 | 软件开发环境提供系统、方法和非临时性计算机可读介质 |
CN112199918A (zh) * | 2020-10-20 | 2021-01-08 | 芯和半导体科技(上海)有限公司 | 一种通用eda模型版图物理连接关系的重建方法 |
CN113495663A (zh) * | 2021-07-05 | 2021-10-12 | 北京华大九天科技股份有限公司 | 绘制矩形版图的方法、装置、存储介质和电子设备 |
CN113495663B (zh) * | 2021-07-05 | 2022-03-11 | 北京华大九天科技股份有限公司 | 绘制矩形版图的方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105631118B (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12099799B2 (en) | System and method providing responsive editing and viewing, integrating hierarchical fluid components and dynamic layout | |
JP6534436B2 (ja) | 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新 | |
CN102667864B (zh) | 图像文件生成装置、图像处理装置、图像文件生成方法、图像处理方法 | |
JP7385640B2 (ja) | マルチ解像度画像システム | |
CN111078169B (zh) | 一种可视化大屏系统的前端装置及其搭建方法 | |
CN105631118A (zh) | 可编程逻辑器件图形绘制方法及装置 | |
CN102136946A (zh) | 一种光网络拓扑图的绘制方法及其拓扑子系统 | |
CN102142152B (zh) | 用于在计算机屏幕上显示对象的方法、装置和程序 | |
CN112639791A (zh) | 用于图形设计的多视图母版 | |
US8427502B2 (en) | Context-aware non-linear graphic editing | |
CN102710900A (zh) | 一种视频矩阵输出显示实现装置、方法及视频矩阵设备 | |
CN112184895A (zh) | 仿真场景建模及渲染方法、装置和设备 | |
CN102509510A (zh) | 一种电子地图图例内容的交互式自动更新方法 | |
US10467782B2 (en) | Interactive hierarchical bar chart | |
CN108346174A (zh) | 一种支持单模型交互的三维模型合并方法 | |
US10809904B2 (en) | Interactive time range selector | |
CN109086515B (zh) | 基于svg的智能变电站ssd中一次设备绘图信息的建模方法 | |
JP2022508092A (ja) | データフィルタリング装置 | |
CN108647026B (zh) | 基于动态网格的可视化界面集成方法及系统 | |
CN1409218A (zh) | 虚拟环境生成方法 | |
CN103246500A (zh) | 桌面图标展示方法和装置 | |
CN105512172A (zh) | 路灯资源设备在移动终端上的gis智能展示系统及方法 | |
CN103699381A (zh) | 基于Firefox OS平台的微件设置方法及系统 | |
CN115248629A (zh) | 一种数据可视化界面管理方法、系统及设备 | |
US20230298259A1 (en) | Voxel-based approach for design models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16 Applicant after: Shenzhen Pango Microsystems Co., Ltd. Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16 Applicant before: SHENZHEN PANGO MICROSYSTEMS CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |