
ALU, but including Mux4Way, Mux8Way, DMux4Way, DMux8Way from Project 1):
N2T: Project 2Chapter 2 provides the contract for each circuit, i.e. description of its behavior, names and number inputs, names and state of outputs. The API is available here:
The Hack Chipset
Splitter: Logisim has a component called Splitter under Wiring; it can be used to split or merge wires depending on the point of view (i.e. on the orientation); it can be oriented appropriately via the Properties panel
Constants: to achieve the effect of sending the constant value 1 to a pin in Logisim use the component 1⚬Constant under Wiring (it can also send 0)
computer/arithmetic/circMux4Way16, Mux8Way16:
Mux4Way16 should be built primarily of Mux16 (as few as possible)Mux8Way16 should be built primarily of Mux16, Mux4Way16 (as few as possible)DMux4Way, DMux8Way:
DMux4Way should be built primarily of DMuxDMux8Way should be built primarily of DMux, DMux4WayHalfAdder, FullAdder:
Add16:
Adder components (under Arithmetic) whose pins have width 1; these will represent Half/FullAdder depending on how they are usedInc16:
AdderSplitter:
gatepin=wire[i..j] or gatepin[i..j]=wire (widths have to match)gatepin[i]=wire[j] or gatepin=wire[j] or gatepin[i]=wire (for 1-bit versions)gatepin[i..j]=wire[p..q] (widths have to match)gatepin could be an input or output pin of the gateConstants: to achieve the effect of sending the constant values 1 or 0 to a pin in HDL you write gatepin[?]=true or gatepin[?]=false (the ? is the index or range of indices to set)Mux4Way16, Mux8Way16:
Mux4Way16 should be built primarily of Mux16 (as few as possible)Mux8Way16 should be built primarily of Mux16, Mux4Way16 (as few as possible)DMux4Way, DMux8Way:
DMux4Way should be built primarily of DMux (as few as possible)DMux8Way should be built primarily of DMux, DMux4Way (as few as possible)HalfAdder, FullAdder: cannot use within each other; only basic gates may be used, as few as possibleAdd16: built primarily out of HalfAdder, FullAdder; basic gates should be avoided, if possibleInc16: