P4: Decoder

Published

February 20, 2026

Due
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 main circuit (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 (A should have the lowest code value and H the 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.