Components represent the elementary functional units of the circuit and are represented graphically on the workarea canvas by logic gates. The implementation modules related to the construction and subsequent manipulation of components are presented in Table 3.4.
Module Name | Purpose |
cmpcreate.tcl | This module is responsible for drawing and placing the components on the workarea canvas. Uses the draw_component procedure in the draw.tcl module. |
cmpdel.tcl | Module to delete components from the canvas. Also updates the netlist arrays by removing deleted port assignments. |
cmpmod.tcl | Modify the attributes associated with a component. Currently, no attributes are supported; but in the future, component transport delay will be provided. |
cmpmove.tcl | Move components on the canvas. Procedures must also move any wires and points attached to the ports of the component. |
cmprotate.tcl | Module to rotate components on the canvas. Employs the draw_rotate procedure in the draw.tcl module. |
cmputils.tcl | Miscellaneous low-level helper procedures related to components, such as overlap detection and identification. |
draw.tcl | Contains the low-level code and helper procedures required to draw and rotate components on the canvas. Also contains code to determine the bounding box of a canvas item. |