Serialized Graphics Model for Programmable IC CAD Tools
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Communication of graphics modeling data between backend processes and GUI processes in CAD tools for programmable ICs is challenging due to the complexity and differing source languages, leading to inefficient data transfer and performance issues.
Innovation Solution
A system that generates a serialized graphics model using a processor, where objects are serialized according to an API definition file and deserialized by the GUI process for rendering, utilizing protocol buffers to facilitate language-neutral and platform-neutral data communication, thereby simplifying runtime communication and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If graphics modeling data for each object is individually communicated from backend processes to GUI, then complete graphical representation is achieved, but large amount of data communication is required
Solution Approach 1:
The patent segments the graphics model into a hierarchical structure with a scene graph containing multiple levels of abstraction. Instead of communicating individual object data separately, the system organizes objects into parent-child relationships where parent nodes represent groups or containers and child nodes represent individual objects. This segmentation allows the GUI to request and receive only the specific portions of the graphics model needed for current display requirements, significantly reducing data communication while maintaining complete graphical representation.
Solution Approach 2:
The patent introduces a new dimension of organization by implementing a scene graph data structure that adds hierarchical and spatial dimensions to the graphics model. Objects are not only defined by their individual properties but also by their position in the hierarchy and their spatial relationships to other objects. This dimensional transformation enables efficient data communication by allowing the GUI to traverse and render only visible or relevant portions of the graphics model.
2Adaptability or versatility
If backend processes and GUI are written in different source languages, then system flexibility and language neutrality are improved, but efficient communication of graphics data becomes more difficult
Solution Approach 1:
The patent implements a scene graph as an intermediary data structure that serves as a universal interface between backend processes and GUI processes written in different programming languages. The scene graph uses a standardized, language-neutral data format that can be generated by backend processes in one language and consumed by GUI processes in another language without requiring complex language-specific communication protocols. This intermediary abstraction layer simplifies inter-language communication while maintaining system flexibility.
3Loss of information
If all graphics data is communicated to GUI for rendering, then complete visual representation is achieved, but runtime performance decreases due to large data transfer
Solution Approach 1:
The patent applies local quality by allowing the GUI to request and render only specific portions of the graphics model based on current display needs. Instead of transferring the entire graphics model, the system enables selective rendering where the GUI can query the scene graph for objects within a specific view frustum or region of interest. This localized data communication maintains complete visual representation capability while significantly reducing runtime data transfer and improving performance.
Data Source
AI summary
A system for graphics generation includes a processor configured to implement a modeling process and a GUI process. The modeling process is configured to generate a first graphics model including a plurality of objects. Each object defines a respective graphical depiction for a respective element of a programmable IC. The modeling process is also configured to serialize objects of the first graphics model according to a first application programming interface (API) definition file to produce a serialized graphics model. The GUI process is configured to, in response to receiving one or more objects of the serialized graphics model, deserialize the one or more objects of the serialized graphics model according to the first API definition file to produce a second graphics model. The GUI process is further configured to render the one or more objects of the second graphics model.


