- 1medium
Instantiate a Submodule by Name
Instantiate a given submodule and wire its ports to the top-level ports by name.
- 2easy
Modules
Build a small circuit as a reusable module-level function.
- 3easy
Connecting Ports by Position
Wire module inputs and outputs consistently through a composed logic path.
- 4medium
Instantiate Multiple Copies of a Submodule
Instantiate four copies of a 1-bit submodule by hand to build a 4-bit bitwise circuit.
- 5easy
Connecting Ports by Name
Preserve signal intent across a named four-bit module interface.
- 6medium
Connecting Submodules with an Intermediate Wire
Chain two submodule instances together through a hand-declared intermediate wire.
- 7medium
4-bit Ripple-Carry Adder from Full Adders
Build a 4-bit ripple-carry adder by instantiating four full-adder submodules and chaining their carry signals.
- 8medium
Combining Two Different Submodule Types
Combine instances of two different submodule types (AND gates and an OR gate) to build an AND-OR circuit.
- 9medium
Three Modules
Connect three logic stages to build one combined circuit.
- 10medium
Modules and Vectors
Apply a repeated one-bit operation across four vector positions.
- 11easy
Adder 1
Add two two-bit operands with a three-bit result.
- 12medium
Adder 2
Add two 16-bit words and a carry-in.
- 13hard
Carry-Select Adder
Build the correct result for an eight-bit carry-select adder.
- 14medium
Adder-Subtractor
Select unsigned addition or subtraction with a control input.