Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.28 KB

graphics.md

File metadata and controls

24 lines (18 loc) · 1.28 KB

VSRTL Graphics

Place & Route

Graph Traversal

All graphics objects which correspond to a similar VSRTL Core component will have access to its paired Core component through a member pointer. With access to the underlying Core component, the techniques presented in Core graph traversal may be applicable. All graphics objects register themselves with their Core component through the vsrtl::Base class functions. When the graph has been traversed in the Core layer, the corresponding Graphics object for a component may be accessed as follows:

Register* reg = ...;
ComponentGraphic* reg_graphic = static_cast<ComponentGraphic*>(reg->getGraphic());

Component* multiplexer = ...;
MultiplexerGraphic* mux_graphic = static_cast<MultiplexerGraphic>(multiplexer->getGraphic());

Port* port = ...;
PortGraphic* port_graphic = static_cast<PortGraphic*>(port->getGraphic());

From here on, physical properties such as the dimensions of a component, port placements etc. may be gathered.

Note: This method requires the knowledge of which Graphics object type corresponds to which Core object types.