290 likes | 301 Views
Learn about digital systems, combinational & sequential logic, including NOT, AND, OR, XOR, NAND gates, flip-flops, state machines, and how to construct circuits.
E N D
ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits October 11, 2005
Outline • Digital Systems • Combinational Logic • NOT, AND, OR, XOR, NAND, etc. • mux, half-adder, full-adder • Sequential Logic • flip-flop/register, shift register, counter • state machines
Digital Systems • Analog vs. Digital • continuously varying vs. discrete • imprecise vs. precise • 0..1 vs. 0 or 1 • Digital systems excel at… • repetitive calculations • large amounts of data • reproducible results
Combinational and Sequential Logic • We can break a digital system into two types of logic • Combinational • computation happens in a linear fashion • Sequential • computation involves a feedback loop (memory)
Combinational Logic: NOT Truth Table Input Output
What I’ve Skipped • Gates with more than two inputs • Boolean algebra • Karnaugh maps • Quine-McCluskey method • Binary arithmetic, base conversions • Practical digital circuits have more than 0s and 1s • Transmission gates, tri-state buffers
Synchronous vs. Asynchronous • Synchronous • circuit operation governed by a clock • currently more popular and practical • Asynchronous • circuit operation independent of a clock • potentially faster than synchronous • lower power consumption • difficult to design
Sequential Constructs • Shift register • Counter • State Machines
State Machines • Useful abstract constructs for more complex sequential logic
What I’ve Skipped • Other flip-flops (RS, T, JK) • Other interesting sequential circuits (barrel shifters, etc.)
Hardware Description Languages (HDLs) • HDL describes in text a digital circuit • Examples • VHDL (we will look at this next time) • Verilog • AHDL • JHDL
Hardware Description Languages (HDLs) • schematics are useful for… • drawing high level diagrams • manually working out simple pieces of logic • HDLs are useful for… • describing complex digital systems • HDLs are not... • software programming languages (C, Java, assembly, etc.)
Summary • Digital Systems • Combinational Logic • NOT, AND, OR, XOR, NAND, etc. • mux, half-adder, full-adder • Sequential Logic • flip-flop/register, shift register, counter • state machines
UW ASIC Design Team • www.asic.uwaterloo.ca • reference material • Bryce Leung’s tutorials (UW ASIC website) • Michael Goldsmith’s tutorials (UW ASIC website) • your course notes • my contact info: Jeff Wentworth, jswentwo@engmail.uwaterloo.ca