Hevday Logo
  • Symbol Editor

Symbol Editor

The Symbol Editor is used to create symbols for user-defined schematics. These symbols are used to represent instances of the user-defined schematics when placed on the Design Canvas. When the Symbol Editor is opened for the first time on a schematic the vector graphics drawing area contains the default representation for the symbol. This representation can be modified or entirely removed to allow complete control over how a schematic instance looks and behaves.

The main parts of the Symbol Editor are:
  • The vector drawing area
  • The Toolbox
  • The Width and Height controls
  • The zoom level buttons
  • The Undo/Redo buttons
  • The Data Tree
  • The Expand and Compact buttons
  • The Vector Drawing Area
This is the area where manipulation of the visual representation of the symbol takes place. This area acts in much the same way as the Design Canvas does with respect to vector graphics. However the main difference is that for every input and output that the schematic contains there is a red graphic which represents the placement of the pin on the symbol. To find out which pin a given red graphic represents hover the mouse over it and the input or output name will appear in the text label just above the vector drawing area. Each red pin graphic can be moved by dragging it with the mouse. This allows placement of pins around any edge of the symbol.
  • The Toolbox
The 5 tools in the toolbox can be used to manipulate the vector drawing area in the same way that they are used on the Design Canvas.
  • The Width and Height Controls
These controls allow you to resize the symbol in increments equal to the size of the Design Canvas grid. The controls will not allow resizing of the symbol any smaller than the space taken up by existing graphics, if the minimum size is too large then the graphics on the symbol must be rearranged or deleted before the symbol can be made smaller. The minimum size for a symbol is 2 by 2 grid squares, while the maximum size is 1000 by 1000 grid squares.
  • The Zoom Level Buttons
These buttons can be clicked or held down to adjust the zoom level of the vector drawing area. Alternatively, if you have a mouse with a wheel on it, zooming can be done by holding down the Ctrl key and scrolling the mouse wheel backwards or forwards while the cursor is over the drawing area.
  • The Undo and Redo Buttons
Each separate modification to the vector drawing area can be undone and then if desired, redone. These actions work the same way as the standard Undo and Redo actions for the main project. Note though, that undo and redo for the Symbol Editor are separate from their counterparts in the main project. When the OK button is pressed on the Symbol Editor the symbol modification made using the Symbol Editor is counted as one modification in the project, even if many separate modifications where made to get the symbol to it's final state, therefore if you click Undo on the main project window after clicking OK on the Symbol Editor, the symbol will revert back to it's form before symbol editing took place. Likewise, if the Cancel button is clicked on the Symbol Editor, no change is made to the project, even if the symbol was modified extensively.
  • The Data Tree

The Data Tree can be used to place data manipulation controls onto the schematic's symbol. These controls are actually the data manipulation controls from components, or sub components inside the schematic. For example, it is possible to locate and place a number viewer and manipulation control from a counter embedded deeply inside sub schematics of the current schematic.

A Data Tree
The picture above shows the Data Tree for a schematic called Schematic1. The first item in the tree is a 16 bit counter, which provides a 16 bit Integer that can be dragged and dropped onto the symbol. The second item is a Forceable Buffer, which contains a single bit representing the input to the buffer and a ThreeSwitch providing the user with a way to force the buffer's output either low or high. The third item in the tree is an instance of Schematic2 called inst1. Schematic2 contains three flip flops, which you can display on Schematic1's symbol. So because Schematic2 contains the flip flops and because Schematic1 contains an instance of Schematic2, all data items contained in Schematic2 are available for display on Schematic1's symbol. There is no limit to the depth of the heirarchy that can be constructed. The last item in the tree is a debugging component called a Signal Tap which contains a single bit, representing the value of the net which it is connected to.

At it's extreme the Data Tree provides a powerful mechanism to construct entire control panels on a high level symbol, making it possible to view and manipulate data from disparate parts of the project from a single place.

  • The Expand and Compact Buttons
These buttons allow you to expand or compact the canvas on all sides of the symbol by one grid square. This is useful if you are editing a part of the symbol that is close to the edges of the canvas. In particular, these buttons allow you to move the automatically placed red pin graphics away from your own graphics to make it easier to select either without the other.