Browse Problems
245 problems across 5 tracks.
Verilog Language
View track →Basics
Vectors
Vector Passthrough
easy8-bit Vector Bit Reversal
mediumByte Select from a 32-bit Word
mediumConcatenation and Replication
mediumSign Extension
mediumFour-Input Gates
easyVector Bitwise Operators
easyVector Part Select
easyVector Reversal
easySign Extension with Replication
easyVector Concatenation
easyReplication Operator
easyVectors in More Detail
easyMore Replication
easyModules: Hierarchy
Instantiate a Submodule by Name
mediumModules
easyConnecting Ports by Position
easyInstantiate Multiple Copies of a Submodule
mediumConnecting Ports by Name
easyConnecting Submodules with an Intermediate Wire
medium4-bit Ripple-Carry Adder from Full Adders
mediumCombining Two Different Submodule Types
mediumThree Modules
mediumModules and Vectors
mediumAdder 1
easyAdder 2
mediumCarry-Select Adder
hardAdder-Subtractor
mediumProcedures
Combinational Process
easyPriority Encoder (if/else)
medium3-to-8 Decoder (case statement)
mediumClocked Register
easyPopulation Count (for loop)
mediumMin/Max of Four Values
mediumConditional Selection
easyTransparent Latch
mediumCase-Based Multiplexer
easyPriority Encoder with Wildcards
mediumComplete Combinational Decode
easyAvoiding Latches
easyMore Features
4-to-1 Mux with the Ternary Operator
mediumParity Generator (reduction operators)
mediumParameterized XOR Ring (generate)
hardWide Reduction Gates
easy100-Bit Ripple-Carry Adder with Carry Outputs
mediumGenerated BCD Adder
hard100-Digit BCD Ripple-Carry Adder
hard100-Bit Vector Reversal
medium255-Bit Population Count
hardCircuits
View track →Combinational Logic
Wire
easy2-to-1 Multiplexer (Gate-Level)
easyGround
easy4-to-1 Multiplexer
easyBCD to 7-Segment Display Decoder
mediumNOR
easyAnother Gate
easy4-bit Priority Encoder
mediumK-Map Simplification: Prime BCD Digit Detector
mediumTwo Gates
easy8-bit Magnitude Comparator
easyMore Logic Gates
easy7420 Chip
easy4-bit Barrel Shifter (Rotate Left)
mediumTwo-Bit Equality
easySimple Circuit A
easySimple Circuit B
easyCombine Two Circuits
mediumRing or Vibrate?
easyThermostat
easy3-Bit Population Count
medium2-to-1 Bus Multiplexer
easy9-to-1 Multiplexer
medium256-to-1 Multiplexer
medium256-to-1 4-Bit Multiplexer
hard3-Bit Binary Adder
easy32-Bit Adder
mediumSigned Addition Overflow
medium100-Bit Binary Adder
medium4-Digit BCD Adder
hard3-Variable Karnaugh Map
medium4-Variable Karnaugh Map A
medium4-Variable Karnaugh Map B
medium4-Variable Karnaugh Map C
mediumMinimum SOP and POS Forms
hardK-Map Function with a Multiplexer
mediumTruth Tables
easyEven Longer Vectors
easyKarnaugh Map Circuit
mediumSequential Logic
SR Latch (Gate-Level)
mediumD Flip-Flop with Asynchronous Reset
mediumD Flip-Flop with Synchronous Reset and Enable
medium4-bit Up/Down Counter
mediumDecade (Mod-10) Counter
mediumUniversal Shift Register
mediumMoore FSM: Non-Overlapping Sequence Detector (1011)
mediumMealy FSM: Overlapping Sequence Detector (1011)
mediumD Flip-Flop
easyD Flip-Flops
easyDFF with Synchronous Reset
easyDFF with Configurable Reset Value
mediumDFF with Byte Enable
mediumD Latch
mediumD Flip-Flop with Input Gate
mediumMux and DFF
mediumDetect a Rising Edge
mediumDetect Both Edges
mediumEdge Capture Register
mediumDual-Edge Register
hardCounter 1 to 12
mediumCounter 1000
mediumSlow Decade Counter
medium4-Digit Decimal Counter
hard12-Hour Clock
hard4-Bit Shift Register
easyLeft/Right Rotator
mediumArithmetic Shift by 1 or 8
medium5-Bit LFSR
medium3-Bit LFSR
easy32-Bit LFSR
hardEnabled Shift Register
easyBidirectional Shift Register
medium3-Input Lookup Table
mediumSimple FSM 1 (Asynchronous Reset)
mediumSimple FSM 1 (Synchronous Reset)
mediumSimple FSM 2 (Asynchronous Reset)
mediumSimple FSM 2 (Synchronous Reset)
mediumSimple One-Hot State Transitions
mediumDesign a Moore FSM
mediumSimple FSM 3 (Asynchronous Reset)
mediumSimple FSM 3 (Synchronous Reset)
mediumLemmings 1: Walk
easyLemmings 2: Bump
mediumLemmings 3: Fall
mediumLemmings 4: Bump and Fall
hardSimple State Transitions 3
mediumOne-Hot FSM
mediumSequence Recognition
mediumSerial Two's Complementer (Mealy)
mediumSerial Two's Complementer (Moore)
hardSerial Receiver
hardSerial Receiver and Datapath
hardSerial Receiver with Parity Checking
hardQ8: Design a Mealy FSM
mediumQ3a: FSM State Register
mediumQ3b: FSM Output Logic
mediumQ3c: FSM Next-State Logic
mediumQ6: Complete an FSM
mediumQ6b: FSM Next-State Logic
mediumQ6c: One-Hot Next-State Logic
mediumQ2a: FSM Controller
mediumQ2b: One-Hot FSM Equations
mediumFour-Bit Binary Counter
easyDecade Counter with Enable
mediumRule 90 Cellular Automaton
mediumRule 110 Cellular Automaton
mediumConway's Game of Life 16x16
hardQ2a: Another FSM
mediumQ2b: Another One-Hot FSM
mediumMux and DFF with Enable
mediumDFFs and Gates
mediumCreate Circuit from Truth Table
mediumDecade Counter Again
mediumPS/2 Packet Parser
mediumPS/2 Packet Parser and 3-Byte Datapath
hardBuilding Larger Circuits
4-bit ALU
mediumTraffic Light Controller
mediumSimple Datapath: Register File + ALU + Writeback
hardUART-Lite Transmitter
hardParameterized Fixed-Priority Arbiter
mediumCounter with Period 1000
medium4-Bit Shift Register and Down Counter
mediumFSM: Sequence 1101 Recognizer
mediumFSM: Enable Shift Register
mediumThe Complete Timer
hardFSM: One-Hot Logic Equations
mediumFSM: The Complete FSM
hardVerification
View track →Reading Simulations
Identify the Gate
easyInfer the Counter
mediumInfer the Mux
easyInfer the Edge Detector
mediumFind the Bug: 2-to-1 Mux
easyFind the Bug: NAND Gate
easyFind the Bug: 4-to-1 Mux
mediumFind the Bug: Add/Subtract
mediumFind the Bug: Case Decoder
easyCombinational Circuit 1
easyCombinational Circuit 2
easyCombinational Circuit 3
easyCombinational Circuit 4
mediumCombinational Circuit 5
mediumCombinational Circuit 6
mediumSequential Circuit 7
easySequential Circuit 8
easySequential Circuit 9
mediumSequential Circuit 10
medium