Editing subcircuit appearance
Note: There are two presentations of the circuits. Here we present the new appearance. A good part of the explanation is also suitable for the other presentation. La version de la présentation est sélectionnable dans la propriétés New appearance properties of the circuit.
By default when a sub-circuit is placed on a diagram it is drawn in a rectangle with the name of the circuit to the south, the entrances to the east and the exits to the west. The anchorage being at the top of the northwest pine.
Entries will be placed east of the rectangle and up and down in the order of their appearance in the detailed diagram (from left to right and from top to bottom). Outputs will be placed west of the rectangle in the same way.
It is possible to edit a label on the subcircuit instance by double-clicking on the rectangle. The position of the font and the attributes of the font can be modified in the property table. This same table allows the setting of the shared label (for all instances).
The default appearance is very usable, and indeed Logisim existed for many years with no other option. If, however, you prefer that the subcircuit be drawn differently, you can select | Project |→| Edit Circuit Appearance | , and Logisim's interface will switch from its regular layout-editing interface to an interface for drawing the circuit's appearance. (You can also click the far-right icon () in the explorer pane's upper toolbar.) Below, we are editing the 2:1 multiplexer's appearance so that it is drawn with the usual trapezoid rather than a rectangle.
With the appearance for the 2:1 multiplexer drawn as above, the layout for the 4:1 multiplexer would then appear as the following.
The appearance editor is like a traditional drawing program, but there are a few special symbols for indicating how the drawing works when placed into a circuit's layout. These special symbols cannot be removed.
The green circle with a line coming out of it, which we'll call the anchor. () There is exactly one anchor in each subcircuit appearance. Each component in a circuit has a single point identifying its location; a user sees this when creating a new component: The mouse click identifies just a single location, and the component is placed relative to that (usually with the primary output at the mouse's location) The anchor identifies the mouse's location relative to the overall drawing when the subcircuit is created.
The anchor also identifies the appearance's facing, as indicated by the direction the anchor's line points from its circle. When placing the subcircuit into a layout, the user can change the subcircuit's facing; the anchor's facing indicates in which direction the appearance is oriented. In our example, the anchor is facing east, and each instance of the subcircuit in the Mux_4to1 is also facing east, so they are all drawn in the same orientation as the Mux_2to1 appearance.
The blue circles () and squares with dots () in them are the subcircuit's
ports.There are exactly as many ports as there are input and output pins in the circuit. Ports corresponding to inputs are drawn as squares, while ports corresponding to outputs are drawn as circles. Each port indicates how a wire connecting into the circuit will correspond to an input or output pin within the layout.
When you select a port, Logisim will indicate the corresponding pin by popping up a miniature diagram of the layout in the window's bottom right corner, with the corresponding pin(s) drawn in blue. This does not happen when all ports are selected.
We can change the zoom of the image using Ctrl+Mouse Wheel or the down arrow button on the left of the workspace. The rate is displayed.
The toolbar contains tools for adding additional shapes, as listed below with descriptions of how the shift and alt key modifies the tool behavior. In addition, clicking or dragging the mouse with the control key pressed regularly snaps the mouse position to the nearest grid point.
|Selection Tool : Select, move, copy, paste the symbols.|
|Text Tool : Add, insert or edit a text.|
|Line Tool : Creates a line segment.|
|Curve tool: Create a quadratic Bezier curve. The first click and drag specifies the beginning of the line, the second click and drag ends the line and sets the curvature. A click on the line shows you the three control points. Schift and click on central control point impose a symmetrical curve. Alt and click on center point draws the curve through the control point (under the mouse).|
|Polylines tool Creates a sequence of connected lines, each click starts a new line. shift-clicking ensures that the angle between the previous vertex and the current one is a multiple of 45°. A double-click ends the sequence.|
|Rectangle tool Create a rectangle or a square with rounded edges ( Shift ) through dragging from one corner to the opposite corner and alt-drag to create the rectangle starting from the center.|
|Rectangle tool Create a rectangle or a square ( Shift ) through dragging from one corner to the opposite corner and alt-drag to create the rectangle starting from the center.|
|Oval tool Creates an oval or circle ( Shift ) through dragging from one corner of its bounding box to the opposite corner and alt-drag to create the oval starting from the center.|
|Polygon tool Create an arbitrary polygon, each click starts a new face. A double-click or Enter key or click th starting vertex to complete the shape.|
Next: Debugging subcircuits.