CN112668274B - 2D graphic display method - Google Patents
2D graphic display method Download PDFInfo
- Publication number
- CN112668274B CN112668274B CN202011639441.8A CN202011639441A CN112668274B CN 112668274 B CN112668274 B CN 112668274B CN 202011639441 A CN202011639441 A CN 202011639441A CN 112668274 B CN112668274 B CN 112668274B
- Authority
- CN
- China
- Prior art keywords
- canvas
- graphic
- data set
- layout
- display method
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 208000018747 cerebellar ataxia with neuropathy and bilateral vestibular areflexia syndrome Diseases 0.000 claims abstract description 7
- 238000009877 rendering Methods 0.000 claims description 14
- 238000010422 painting Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
The invention provides a 2D graphic display method, which comprises the following steps: step S1: extracting two-dimensional coordinates and layer information in a layout file to form a two-dimensional graph data structure; step S2: creating a plurality of canvases according to the layer information of the layout file, wherein each canvas classifies and stores geometric primitives through a main graphic data set and a plurality of sub graphic data sets; step S3: traversing the layout, converting the two-dimensional graph data structure in the step S1 into a custom data structure, and adding the custom data structure into a queue of the graph data set in the step S2; step S4: two-dimensional graphics data in different graphics dataset queues in different canvas collected in step S3 is drawn using a multi-threading technique according to primitive status. The invention can solve the problem of efficiently displaying the ultra-large scale chip layout on Linux by a 2D graphic display method capable of layered drawing and local refreshing, and provides a convenient method for picking up graphic elements and rapidly and efficiently refreshing a display scene.
Description
Technical Field
The invention belongs to the technical field of EDA model layout simulation, and particularly relates to a 2D graphic display method.
Background
The integrated circuit layout (INTEGRATED CIRCUIT LAYOUT) is a geometric description of the physical conditions of a real integrated circuit and is the result of the physical design of the bottommost step in the integrated circuit design. The physical design converts the logic synthesis result-gate-level netlist into a layout file through a layout and wiring technology, and the file contains the shape, area and position information of each hardware unit on a chip. After the layout is completed, the semiconductor processing factory receives the layout file, and the actual hardware circuit is manufactured by utilizing a specific semiconductor device manufacturing technology. This has also been referred to previously as design rule checking (Design rule checking, DRC), circuit layout verification (Layout versus schematic, LVS), post-simulation, etc., where the various EDA tools used in these processes are referred to as layout data displays. The VLSI layout is a set of regular plane geometric figure elements with a plurality of layers, the processing objects which are faced by the VLSI layout are tens of millions of even hundreds of millions of graphics, and how to display the layout information on a computer truly and efficiently is a key step in the whole simulation flow is a difficult challenge for the algorithm and the data structure design of the layout display module of the EDA tool.
Disclosure of Invention
In order to overcome the defects in the prior art, the invention provides a 2D graphic display method, solves the problem of efficiently displaying a very large scale chip layout on Linux, and can conveniently pick up graphic elements and refresh display scenes.
The invention provides a 2D graphic display method, which comprises the following steps:
Step S1: extracting two-dimensional coordinates and layer information in a layout file to form a two-dimensional graph data structure;
step S2: creating a plurality of canvases according to the layer information of the layout file, wherein each canvas stores geometric primitives in a classifying way through a main graph data set and a plurality of sub graph data sets;
step S3: traversing the layout, converting the two-dimensional graph data structure in the step S1 into a custom data structure, and adding the custom data structure into a queue of the graph data set in the step S2;
step S4: the two-dimensional graphics data collected in the step S3 in different graphics data set queues of different canvases are drawn according to primitive states by using a multi-threading technology.
Preferably, the graphic data or the intermediate result data temporarily created in the 2D graphic display method is set to be free from the conventional canvas.
Preferably, the 2D graphic display method further includes a canvas rendering step, and the canvas rendering and rendering step includes the steps of:
step S21: judging the visibility and the data updating state of the current canvas;
step S22: calculating the new size of the viewport, and preparing a tool painting brush, a canvas and a canvas cache;
Step S23: traversing the main graphic data set and the sub graphic data set, and sequentially writing the main graphic data set and the sub graphic data set into a canvas buffer area according to the sequence in the queue;
step S24: and outputting the content in the canvas buffer to a display component.
The invention has the beneficial effects that:
(1) The invention can solve the problem of efficiently displaying the ultra-large scale chip layout on Linux by a 2D graphic display method capable of layered drawing and local refreshing, and provides a convenient method for picking up graphic elements and rapidly and efficiently refreshing a display scene.
(2) For temporarily created graphic data or intermediate result data, frequent changes or frequent insertion and deletion are possible, so that the graphic data or intermediate result data can be rendered in real time without obvious influence on the performance of a system, and the object itself has the drawing rendering capability which is the same as that of a conventional canvas by designing the object to be free outside the conventional canvas, so that the free graphic elements are up to date as long as the graphic interface refreshing is triggered.
Drawings
FIG. 1 is a schematic overall flow chart of the present invention;
FIG. 2 is a flow diagram of the present invention from importation of layout data to rendering of a drawing.
Detailed Description
In order that the invention may be readily understood, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings, in which, however, the invention may be embodied in many different forms and are not limited to the embodiments described herein, but are instead provided for the purpose of providing a more thorough and complete disclosure of the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs; the terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention; the term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.
The invention provides a 2D graphic display method, which comprises the following steps: step S1: extracting two-dimensional coordinates and layer information in a layout file to form a two-dimensional graph data structure; step S2: creating a plurality of canvases according to the layer information of the layout file, wherein each canvas stores geometric primitives in a classifying way through a main graph data set and a plurality of sub graph data sets; step S3: traversing the layout, converting the two-dimensional graph data structure in the step S1 into a custom data structure, and adding the custom data structure into a queue of the graph data set in the step S2; step S4: the two-dimensional graphics data collected in the step S3 in different graphics data set queues of different canvases are drawn according to primitive states by using a multi-threading technology.
Preferably, the graphic data or the intermediate result data temporarily created in the 2D graphic display method is set to be free from the conventional canvas.
Preferably, the 2D graphic display method further includes a canvas rendering step, and the canvas rendering and rendering step includes the steps of:
step S21: judging the visibility and the data updating state of the current canvas;
step S22: calculating the new size of the viewport, and preparing a tool painting brush, a canvas and a canvas cache;
Step S23: traversing the main graphic data set and the sub graphic data set, and sequentially writing the main graphic data set and the sub graphic data set into a canvas buffer area according to the sequence in the queue;
step S24: and outputting the content in the canvas buffer to a display component.
The invention has the beneficial effects that:
(1) The invention can solve the problem of efficiently displaying the ultra-large scale chip layout on Linux by a 2D graphic display method capable of layered drawing and local refreshing, and provides a convenient method for picking up graphic elements and rapidly and efficiently refreshing a display scene.
(2) For temporarily created graphic data or intermediate result data, frequent changes or frequent insertion and deletion are possible, so that the graphic data or intermediate result data can be rendered in real time without obvious influence on the performance of a system, and the object itself has the drawing rendering capability which is the same as that of a conventional canvas by designing the object to be free outside the conventional canvas, so that the free graphic elements are up to date as long as the graphic interface refreshing is triggered.
The following describes the embodiments of the present invention in further detail with reference to the drawings. The invention relates to a 2D graphic display method, which uses C++, qt and OpenGL to construct a platform, wherein the C++ acts as a high-efficiency programming language widely used in the graphic image field, the Qt is a cross-platform application program development framework, the OpenGL (full writing Open Graphics Library) defines the specification of a cross-programming language and cross-platform programming interface, and the method is used for three-dimensional images (two-dimensional). OpenGL is a specialized graphics program interface, which is a powerful, convenient to invoke, underlying graphics library. OpenGL is the most widely accepted 2D/3D graphics API in the industry, which has grown from birth to now on thousands of excellent applications on various computer platforms and devices. OpenGL is independent of the Windows operating system or other operating system and is a hardware independent software interface.
As shown in connection with fig. 1 and 2, the method mainly designs the following parts:
(1) The display component is used as a carrier of a Graphical User Interface (GUI) interface finally displayed on the software, so that the canvas is mainly created and managed, and the response of a Graphical User Interface (GUI) event is mainly realized;
(2) The manager provides an open interface for external interaction including window translation, scaling, independent movement of canvas, coordinate capture, editing event notification and the like;
(3) The canvas is the hierarchical canvas defined by us, a main graphic data set and a plurality of sub graphic data sets are hung below the hierarchical canvas, two queues are maintained in each graphic data set, and display graphical elements in a selected state and a non-selected state are respectively stored in the queues;
(4) In particular, the self-rendering primitives, namely the existence forms of the graphics which are free from the canvas, can be separated from the canvas and directly subordinate to the display component, are stored in a temporary primitive queue maintained by the display component, and each time the display component refreshes, the self-rendering graphics are triggered to draw.
The foregoing examples merely illustrate certain embodiments of the invention and are described in more detail and are not to be construed as limiting the scope of the invention; it should be noted that it is possible for a person skilled in the art to make several variants and modifications without departing from the concept of the invention, all of which fall within the scope of protection of the invention; accordingly, the scope of protection of the present invention is to be determined by the appended claims.
Claims (2)
1. A 2D graphic display method, comprising the steps of:
Step S1: extracting two-dimensional coordinates and layer information in a layout file to form a two-dimensional graph data structure;
step S2: creating a plurality of canvases according to the layer information of the layout file, wherein each canvas stores geometric primitives in a classifying way through a main graph data set and a plurality of sub graph data sets;
step S3: traversing the layout, converting the two-dimensional graph data structure in the step S1 into a custom data structure, and adding the custom data structure into a queue of the graph data set in the step S2;
step S4: drawing the two-dimensional graphic data in the different graphic data set queues of the different canvases collected in the step S3 by using a multithreading technology according to the state of the graphic elements;
the 2D graphic display method further comprises a canvas rendering step, wherein the canvas rendering and rendering step comprises the following steps of:
step S21: judging the visibility and the data updating state of the current canvas;
step S22: calculating the new size of the viewport, and preparing a tool painting brush, a canvas and a canvas cache;
Step S23: traversing the main graphic data set and the sub graphic data set, and sequentially writing the main graphic data set and the sub graphic data set into a canvas buffer area according to the sequence in the queue;
Step S24: outputting the content in the canvas buffer to a display component; wherein,
The display component is used as a carrier of a Graphical User Interface (GUI) interface finally displayed on the software, so that the canvas is mainly created and managed, and the response of a Graphical User Interface (GUI) event is mainly realized;
a main graphic data set and a plurality of sub graphic data sets are hung under the canvas, two queues are maintained in each graphic data set, and display graphical elements in a selected state and a non-selected state are respectively stored in the queues.
2. The 2D graphic display method according to claim 1, wherein the graphic data or the intermediate result data temporarily created in the 2D graphic display method is set to be free from a conventional canvas.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011639441.8A CN112668274B (en) | 2020-12-31 | 2020-12-31 | 2D graphic display method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011639441.8A CN112668274B (en) | 2020-12-31 | 2020-12-31 | 2D graphic display method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112668274A CN112668274A (en) | 2021-04-16 |
CN112668274B true CN112668274B (en) | 2024-07-12 |
Family
ID=75413859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011639441.8A Active CN112668274B (en) | 2020-12-31 | 2020-12-31 | 2D graphic display method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668274B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627118B (en) * | 2021-10-12 | 2022-02-22 | 广州中大中鸣科技有限公司 | Method, device, equipment and storage medium for automatically extracting coordinates of lamp |
CN114139489B (en) * | 2021-11-26 | 2024-07-02 | 北京华大九天科技股份有限公司 | Ordering method for verification unit layout in layout comparison |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105595988A (en) * | 2015-12-23 | 2016-05-25 | 石家庄翰纬医疗设备有限公司 | Electrocardiogram wave form drawing method and calculation device |
CN106569805A (en) * | 2016-10-21 | 2017-04-19 | 搜游网络科技(北京)有限公司 | Canvas storage/graph drawing method and equipment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802924A (en) * | 2016-12-19 | 2017-06-06 | 北京科胜永昌软件有限公司 | The cautious data of magnanimity observation system big gun based on multi-threaded parallel draw display methods |
CN108269223B (en) * | 2017-01-04 | 2021-08-31 | 腾讯科技(深圳)有限公司 | Webpage graph drawing method and terminal |
CN107239632B (en) * | 2017-06-20 | 2020-12-25 | 上海华力微电子有限公司 | Model for simulating penetration depth of ion implantation photoresist and modeling method thereof |
CN109241555B (en) * | 2018-07-27 | 2022-12-23 | 西北工业大学 | Multi-primitive Gerber file analyzing and drawing method for improving drawing precision |
-
2020
- 2020-12-31 CN CN202011639441.8A patent/CN112668274B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105595988A (en) * | 2015-12-23 | 2016-05-25 | 石家庄翰纬医疗设备有限公司 | Electrocardiogram wave form drawing method and calculation device |
CN106569805A (en) * | 2016-10-21 | 2017-04-19 | 搜游网络科技(北京)有限公司 | Canvas storage/graph drawing method and equipment |
Also Published As
Publication number | Publication date |
---|---|
CN112668274A (en) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ikehata et al. | Structured indoor modeling | |
Van Walsum et al. | Feature extraction and iconic visualization | |
Govindaraju et al. | CULLIDE: Interactive collision detection between complex models in large environments using graphics hardware | |
CN112668274B (en) | 2D graphic display method | |
CN103135982B (en) | The method and system of focus change invariance is realized in figure shows | |
Marriott et al. | Just 5 questions: toward a design framework for immersive analytics | |
CN104156480B (en) | A kind of method based on WPF and GDI+ stratification drawing maps | |
Wu et al. | ViSizer: a visualization resizing framework | |
TW201015490A (en) | Method and system for rendering 3D model of 3D object | |
US20120229463A1 (en) | 3d image visual effect processing method | |
US9898842B2 (en) | Method and system for generating data-efficient 2D plots | |
CN111563357A (en) | Three-dimensional visual display method and system for electronic device | |
JP2023529790A (en) | Method, apparatus and program for generating floorplans | |
CN102253841B (en) | Small-scale graphical user interface system | |
US10643395B2 (en) | Real-time spatial authoring in augmented reality using additive and subtractive modeling | |
Movania et al. | A Novel GPU‐Based Deformation Pipeline | |
Gelas et al. | Variational implicit surface meshing | |
Chopra et al. | Immersive volume visualization of seismic simulations: A case study of techniques invented and lessons learned | |
Morris | Algorithms and data structures for haptic rendering: Curve constraints, distance maps, and data logging | |
Kuschfeldt et al. | The use of a virtual environment for fe analysis of vehicle crash worthiness | |
Yang et al. | Optimization of false-overlap detection of tile assembly in tile-based rendering | |
Yan et al. | 3D visual design for mobile search result on 3G mobile phone | |
Oldfield | A Java applet for multiple linked visualization of protein structure and sequence | |
JP7327935B2 (en) | Visibility function for 3D scenes | |
Chen et al. | FoldedGI: A highly parallel algorithm for interference detection by folding a geometry image into a 1D buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 401, No.5, Lane 60, Naxian Road, Pudong New Area, Shanghai Applicant after: Xinhe Semiconductor Technology (Shanghai) Co.,Ltd. Address before: Room 401, No.5, Lane 60, Naxian Road, Pudong New Area, Shanghai Applicant before: Core and semiconductor technology (Shanghai) Co.,Ltd. |
|
GR01 | Patent grant |