Digital Logic Circuits
Learn how digital circuits select inputs, store state and move data through concepts and hands-on RTL examples.
Che cosa imparerai
- 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
Prima di iniziare
Leggi i concetti nel browser. Per i laboratori prepara un progetto Desktop di Digital Design Studio con permessi di esecuzione. Sorgenti e input sono inclusi.
Installazione e primo avvio ↗Programma
- Foundations of digital logic
- Binary and hexadecimalConcetto
Represent the same value in binary and hexadecimal.
- Gates and truth tablesConcetto
Compare the output rules of AND, OR, NOT and XOR.
- Boolean algebra and De Morgan’s lawsConcetto
Check whether different expressions produce the same output.
- Decoders and enable signalsConcetto
Turn a binary address into one active output.
- Signals and selection
- Bits, signals and portsConcetto
Identify inputs, outputs and the meaning of one-bit values.
- Specify the selection with a truth tableConcetto
List every input combination and define its expected output.
- The MUX and its observation registerConcetto
Distinguish a combinational output from a sampled output.
- Write and run the RTL
- Describe a MUX with a conditional expressionConcetto
Connect the select signal and data inputs in RTL.
- MUX simulation labEsercitazione
Compare outputs using the provided source and input files.
- Interpret and check
- Input changes and sampling instantsConcetto
Track y and sampled_y before and after a clock edge.
- Test the cases that reveal mistakesConcetto
Choose cases that reveal reversed selection and sampling errors.
- MUX knowledge checkVerifica
Check your understanding of selection and storage.
- Arithmetic circuits and state
- Half adders and full addersConcetto
Compute sum and carry separately, then chain them.
- Signed values and overflowConcetto
Interpret the same bits as unsigned and two’s complement.
- Comparators and boundary conditionsConcetto
Connect equality and magnitude comparisons to boundary tests.
- Flip-flops and clock enableConcetto
Specify the priority of reset, enable and hold.
- Numbers and time
- Bit width and binary valuesConcetto
Read the values and bit positions of a two-bit number.
- Clock edges and stateConcetto
Separate input changes from register updates.
- The counter and synchronous resetConcetto
Compute the next state from the previous state.
- Update state and run the lab
- Compute the next value from the old valueConcetto
Read nonblocking assignments and reset priority in the code.
- Counter simulation labEsercitazione
Observe incrementing and wraparound after reset.
- Boundaries and debugging
- What follows the maximum value?Concetto
Calculate addition beyond the register width.
- Diagnose reset and counting errorsConcetto
Check the initial value, reset and first edge in order.
- Counter knowledge checkVerifica
Check bit width and wraparound behavior.
- Bits and data flow
- Vector direction and bit indicesConcetto
Read q[2:0] and identify the positions selected by a slice.
- Read a serial input over timeConcetto
Organize a stream of one-bit inputs into a timeline.
- State changes in a shift registerConcetto
Move the previous bits and insert the new input.
- Concatenation and the lab
- Slices and concatenationConcetto
Trace how concatenated bits map into the new register.
- Shift-register simulation labEsercitazione
Trace the serial input alongside q.
- Latency and debugging
- Follow a bit to the outputConcetto
Count the edges as one input bit moves through the stages.
- Check direction, reset and input orderConcetto
Use a single-bit pattern to expose reversed connections.
- Shift-register knowledge checkVerifica
Compute the next state using the pre-update value.
- Connect and verify circuits
- Combinational delay and timing budgetsConcetto
Distinguish functional simulation from timing verification.
- Design a small state machineConcetto
Describe state, input and next state in a transition table.
- Verification plans and failure tracesConcetto
Define expected results for normal, boundary and reset cases.
- Capstone: serial pattern detectorConcetto
Design and check a state machine that detects the pattern 101.