Digital Logic Circuits
Learn how digital circuits select inputs, store state and move data through concepts and hands-on RTL examples.
O que você vai aprender
- Explain combinational circuits using binary numbers, gates and Boolean algebra
- Calculate adder, comparator and signed arithmetic boundary cases
- Implement a MUX, counter and shift register and compare waveforms
- Complete a small design using state machines, timing constraints and a verification plan
Antes de começar
Leia os conceitos no navegador. Para as práticas, prepare um projeto Desktop do Digital Design Studio e permissões de execução. Código e entradas estão incluídos.
Instalação e primeiro acesso ↗Programa
- Foundations of digital logic
- Binary and hexadecimalConceito
Represent the same value in binary and hexadecimal.
- Gates and truth tablesConceito
Compare the output rules of AND, OR, NOT and XOR.
- Boolean algebra and De Morgan’s lawsConceito
Check whether different expressions produce the same output.
- Decoders and enable signalsConceito
Turn a binary address into one active output.
- Signals and selection
- Bits, signals and portsConceito
Identify inputs, outputs and the meaning of one-bit values.
- Specify the selection with a truth tableConceito
List every input combination and define its expected output.
- The MUX and its observation registerConceito
Distinguish a combinational output from a sampled output.
- Write and run the RTL
- Describe a MUX with a conditional expressionConceito
Connect the select signal and data inputs in RTL.
- MUX simulation labPrática
Compare outputs using the provided source and input files.
- Interpret and check
- Input changes and sampling instantsConceito
Track y and sampled_y before and after a clock edge.
- Test the cases that reveal mistakesConceito
Choose cases that reveal reversed selection and sampling errors.
- MUX knowledge checkVerificação
Check your understanding of selection and storage.
- Arithmetic circuits and state
- Half adders and full addersConceito
Compute sum and carry separately, then chain them.
- Signed values and overflowConceito
Interpret the same bits as unsigned and two’s complement.
- Comparators and boundary conditionsConceito
Connect equality and magnitude comparisons to boundary tests.
- Flip-flops and clock enableConceito
Specify the priority of reset, enable and hold.
- Numbers and time
- Bit width and binary valuesConceito
Read the values and bit positions of a two-bit number.
- Clock edges and stateConceito
Separate input changes from register updates.
- The counter and synchronous resetConceito
Compute the next state from the previous state.
- Update state and run the lab
- Compute the next value from the old valueConceito
Read nonblocking assignments and reset priority in the code.
- Counter simulation labPrática
Observe incrementing and wraparound after reset.
- Boundaries and debugging
- What follows the maximum value?Conceito
Calculate addition beyond the register width.
- Diagnose reset and counting errorsConceito
Check the initial value, reset and first edge in order.
- Counter knowledge checkVerificação
Check bit width and wraparound behavior.
- Bits and data flow
- Vector direction and bit indicesConceito
Read q[2:0] and identify the positions selected by a slice.
- Read a serial input over timeConceito
Organize a stream of one-bit inputs into a timeline.
- State changes in a shift registerConceito
Move the previous bits and insert the new input.
- Concatenation and the lab
- Slices and concatenationConceito
Trace how concatenated bits map into the new register.
- Shift-register simulation labPrática
Trace the serial input alongside q.
- Latency and debugging
- Follow a bit to the outputConceito
Count the edges as one input bit moves through the stages.
- Check direction, reset and input orderConceito
Use a single-bit pattern to expose reversed connections.
- Shift-register knowledge checkVerificação
Compute the next state using the pre-update value.
- Connect and verify circuits
- Combinational delay and timing budgetsConceito
Distinguish functional simulation from timing verification.
- Design a small state machineConceito
Describe state, input and next state in a transition table.
- Verification plans and failure tracesConceito
Define expected results for normal, boundary and reset cases.
- Capstone: serial pattern detectorConceito
Design and check a state machine that detects the pattern 101.