P4: Decoder
2026-02-25T23:59
Goals
- Get practice building novel circuits
- Learn about a common circuit
Objective
Construct an eight output decoder as described in the lecture 4 notes. The decoder has one (possibly multi-bit) input and multiple outputs. In response to the code received on the input, the decoder activates the single line corresponding to the code.
For example, we might have a four output decoder with outputs A(00), B(01), C(10) and D(11) (the parentheses contain the code associated with each output). If the input is set to 01, then the B output will have a 1, while the others have 0s.
Requirements
- your work must be in a file called
decoder8.circ - your implementation must be in the
maincircuit (this would be the default) - your circuit must have eight outputs, labeled
A,B,C,D,E,F,G,H - assign the codes as I did in the example (
Ashould have the lowest code value andHthe highest) - your circuit must have one input labeled
code(the input should be more than a single bit in size) - you are restricted to
- input pins
- output pins
- splitters
- components in the Gates library (i.e., basic logic gates)
Multi-bit wires
We have not yet done anything multi-bit in Logisim. If you select an input pin, you will find a “Data Bits” option in the Properties panel. You can set this to what ever you want (this holds for gates as well).
If you hook a wire up to a multi-bit pin or gate, the wire instantly becomes multi-bit as well. Beware of bit size mismatches – Logisim will warn you if the two things you are connected are different sizes.
To use the value on a multi-bit input, we will usually need a splitter (you will find it in the Wiring library). The splitter goes from a bundled multi-bit wire to a fan out that allows us to deal with individual bits independently. The splitter is very versatile. Each individual wire can be routed to a separate wire. You also can control the ordering of the fan-out. It is worth playing with it a bit to make sure you have good understanding of how it works before you just stab it into your circuit.
Submission
Upload your .circ file to Gradescope.