CN112668274B - 2D graphic display method - Google Patents

2D graphic display method Download PDF

Info

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
Application number
CN202011639441.8A
Other languages
Chinese (zh)
Other versions
CN112668274A (en
Inventor
蒋历国
凌峰
罗彬�
代文亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhe Semiconductor Technology Shanghai Co ltd
Original Assignee
Xinhe Semiconductor Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhe Semiconductor Technology Shanghai Co ltd filed Critical Xinhe Semiconductor Technology Shanghai Co ltd
Priority to CN202011639441.8A priority Critical patent/CN112668274B/en
Publication of CN112668274A publication Critical patent/CN112668274A/en
Application granted granted Critical
Publication of CN112668274B publication Critical patent/CN112668274B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

2D graphic display method
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.
CN202011639441.8A 2020-12-31 2020-12-31 2D graphic display method Active CN112668274B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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