1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits January 25, 2006.

Slides:



Advertisements
Similar presentations
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
التصميم المنطقي Second Course
Introduction to Digital Electronics. Suplementary Reading Digital Design by - John F. Wakerly – - you will find some solutions at this site.
COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
1 CS/COE0447 Computer Organization & Assembly Language Logic Design.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Chapter 4 Gates and Circuits.
ECE 511: Digital System & Microprocessor. Course Outline WeekSubject W1-W2Digital Logic Review W2-W3Microprocessor Architecture & Overview W3-W6Microprocessor.
Programmable logic and FPGA
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Multiplexers, Decoders, and Programmable Logic Devices
Fundamentals of Digital Logic B. Furman 25NOV2014.
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
COE 202: Digital Logic Design Sequential Circuits Part 1
Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University Computer Aided Circuit Design.
ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits October 11, 2005.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Introduction to Digital Design
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 DIGITAL LOGIC CIRCUITS Dept. of Computer Science Engineering Islamic Azad University.
ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 4: Digital Systems Concepts November 16, 2005.
CPS120: Introduction to Computer Science
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
ECE 545—Digital System Design with VHDL Lecture 3
Chapter 2Basic Digital Logic1 Chapter 2. Basic Digital Logic2 Outlines  Basic Digital Logic Gates  Two types of digital logic circuits Combinational.
Basic Logic Operations and Standard Logic Gates (Lecture #1) ECE 331 – Digital System Design.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
Basic Sequential Components CT101 – Computing Systems Organization.
ACOE361 – Digital Systems Design. Useful information Instructor: Lecturer K. Tatas Office hours: Mo5, Tu3, We6-8, Fri5 Prerequisites: ACOE201 (ACOE161)
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
ECE 2110: Introduction to Digital Systems Introduction (Contd.)
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Computer Architecture and Organization Unit -1. Digital Logic Circuits – Logic Gates – Boolean Algebra – Map Simplification – Combinational Circuits –
Digital Fundamentals Floyd Chapter 3 Tenth Edition
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
ECE 511: Digital System & Microprocessor. Course Outline WeekSubject W1Digital Logic Review W2-W3Microprocessor Architecture & Overview W3-W6Microprocessor.
Introduction to ASIC flow and Verilog HDL
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 2: Introduction to VHDL February 1, 2006.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Introduction to the FPGA and Labs
Sequential Logic Design
Digital Fundamentals Floyd Chapter 3 Tenth Edition
Basics of digital systems
Reading: Hambley Chapters
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Chapter 4 Gates and Circuits.
ASIC 120: Digital Systems and Standard-Cell ASIC Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Digital Fundamentals Floyd Chapter 3 Tenth Edition
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 10) Hasib Hasan
FLIP-FLOPS.
Flip-Flops.
CSC3050 – Computer Architecture
Presentation transcript:

1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits January 25, 2006

2 Outline Digital Systems Digital Design and its relation to ASICs Combinational Logic –NOT, AND, OR, XOR, NAND, etc. –mux, half-adder, full-adder Sequential Logic –flip-flop/register, shift register, counter

3 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

4 Digital Systems Implemented in integrated circuits (ICs) mounted on a printed circuit board (PCB)

5 The Big Picture

6

7 Components of a Digital System Printed circuit board (PCB) Embedded software –microprocessor –microcontroller –digital signal processor (DSP) ASIC Programmable Logic Device (PLD) –FPGA, etc.

8 ASICs Application Specific Integrated Circuit –from a user perspective, implies integrated circuit with a specific application –from a design perspective, implies any integrated circuit Since we are designers, ASICs include –SRAMs –phase locked loops (PLLs) –microprocessors –analog-to-digital converters –FPGAs –etc.

9 Consider an ASIC Physically comprised of –Package –Pins –Silicon wafer metal interconnect layers insulating layers vias at the bottom, transistors resting on a silicon substrate

10 Consider an ASIC: Package

11 Consider an ASIC: Side View Source:Figure 3-11 from ECE 438 textbook (Rabaey, Jan M., Anantha Chandrakasan, Borivoje Nikolić, “Digital Integrated Circuits: A Design Perspective,” 2 nd Edition; Pearson Education: New Jersey, 2003.)

12 Consider an ASIC: Substrate Source:Figure 3-13 from ECE 438 textbook (Rabaey et al., “Digital Integrated Circuits,” 2 nd Edition)

13 Consider an ASIC Conceptually –System –Module –Gate –Circuit –Device Source:Figure 1-6 from ECE 438 textbook (Rabaey et al., “Digital Integrated Circuits,” 2 nd Edition)

14 FPGAs Field Programmable Gate Array –part of the Complex Programmable Logic Device (CPLD) family of PLDs –essentially reprogrammable hardware FPGAs can be very small or very big –clock rates over 1 GHz –implement multiple 32-bit processors

15 Components of an FPGA Logic Elements (LEs) Routing Input/Output logic Extra features –clocking –memory –memory interfaces –multipliers

16 The Logic Element Two main parts –Look-Up Table (LUT) for combinational logic –Flip Flop (FF) for sequential logic (memory)

17 Top Level View of an FPGA

18 Top Level View of an FPGA

19 Digital ASIC/FPGA Design Flow Dependent on target environment, process, resources available, etc. Generic flow: 1.System architecture 2.Register Transfer Level (RTL) high level, synthesizable, optimized functional simulation, timing simulation 3.Synthesis more simulation 4.Manufacturing testing

20 Register Transfer Level (RTL) This is where we start –schematic –hardware description languages (VHDL, etc.)

21 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)

22 RTL and Combinational/Sequential Logic Register Clock Cloud of Logic Register Cloud of Logic Data In Data Out Feedback Combinational Sequential

23 Combinational Logic: NOT AX InputOutput Truth Table Boolean algebra expression: X = A

24 Combinational Logic: AND ABX Boolean algebra expressions:X = A  B X = AB

25 Combinational Logic: OR ABX Boolean algebra expression:X = A + B

26 Combinational Logic: XOR ABX Boolean algebra expression:X = A  B

27 Combinational Logic: NAND ABX Boolean algebra expressions:X = A  B X = AB

28 NAND: Transistor Schematic

29 NAND: Transistor Layout vdd gnd

30 Combinational Logic: NOR, XNOR ABX ABX X = A + B X = A  B

31 Building Combinational Circuits ABCX X = AC + BC

32 Combinational Logic: MUX (multiplexer) ABCX X = AC + BC

33 Half Adder ABSC S = A  B C = AB

34 Full Adder S = A  B  Ci Co = AB + Ci(A  B)

35 Full Adder

36 Full Adder Application: 8-Bit Ripple-Carry Adder Constructed by connecting 8 full adders together A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S 0 Carry Out A0A0 A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 B0B0 B1B1 B2B2 B3B3 B4B4 B5B5 B6B6 B7B7 S0S0 S1S1 S2S2 S3S3 S4S4 S5S5 S6S6 S7S7

37 What I’ve Skipped Gates with more than two inputs Karnaugh maps Quine-McCluskey method Binary arithmetic, base conversions Practical digital circuits have more than 0s and 1s Transmission gates, tri-state buffers

38 Sequential Logic

39 Basic Feedback Element: SR Latch SRQQ next N/A 111

40 Basic Feedback Element: SR Latch Simplified truth table: SRQ 00hold 101 (set) 010 (reset) 11invalid

41 Basic Feedback Element: SR Latch (Hold State)

42 Basic Feedback Element: SR Latch (Hold State)

43 Basic Feedback Element: SR Latch (Hold State)

44 Basic Feedback Element: SR Latch (Hold State)

45 Basic Feedback Element: SR Latch (Set State)

46 Basic Feedback Element: SR Latch (Set State)

47 Basic Feedback Element: SR Latch (Set State)

48 Basic Feedback Element: SR Latch (Set State)

49 Basic Feedback Element: SR Latch (Set State)

50 Basic Feedback Element: SR Latch (Set State)

51 Basic Feedback Element: SR Latch (Invalid State)

52 Basic Feedback Element: SR Latch (Invalid State)

53 Basic Feedback Element: SR Latch (Invalid State)

54 Basic Feedback Element: SR Latch (Invalid State)

55 Basic Feedback Element: SR Latch Q and Q are supposed to have opposite (“complementary”) values –i.e., Q = Q In the invalid state (S = 1, R = 1) Q ≠ Q –should be avoided

56 D Flip-Flop or Register DClkQQ next 10 10 10 101 11

57 D Flip-Flop or Register Clock input controls when data output takes value of data input –triggered on either rising or falling edge of clock

58 Latches vs. Flip-Flops Latches –no clock input –data output changes in response to data input –level-sensitive Flip-Flops –has clock input –data output changes in response to data input on rising or falling clock edge –edge-sensitive

59 Synchronous vs. Asynchronous Synchronous –circuit operation governed by a clock –currently more popular and practical –flip-flops Asynchronous –circuit operation independent of a clock –potentially faster than synchronous –lower power consumption –difficult to design –latches

60 Sequential Constructs Shift registers Counters State Machines (next tutorial)

61 Shift Register Consider a series of D flip-flops (DFFs) connected in series, as a 4-bit shift register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out

62 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out

63 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out

64 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out  (1)

65 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out  (0)

66 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out  (1)

67 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out  (1)

68 Shift Register DFF D Q DFF D Q DFF D Q DFF D Q Clk Data In Data Out  (1)

69 Counters: Ring Counter Connect shift register output to input Add set and clear functionality to DFFs Clk DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init

70 Counters: Ring Counter Clk DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 1

71 Counters: Ring Counter Clk DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 0

72 Counters: Ring Counter Clk  (1) DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 0

73 Counters: Ring Counter Clk  (1) DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 0

74 Counters: Ring Counter Clk  (1) DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 0

75 Counters: Ring Counter Clk DFF D Q S C DFF D Q S C DFF D Q S C DFF D Q S C Init 0 Each DFF output is a digit in a binary number Sequence was:1000 (8) 0100 (4) 0010 (2) 0001 (1) 1000 (8) …  (1)

76 T Flip-Flop Clock is the only input Output inverts on rising edge of the clock (or “toggle”) input

77 Counters: Binary Counter Implemented using series of T flip-flops Counts 0000, 0001, 0010, 0011, etc. Clk Q T Q T Q T Q T

78 Counters: Binary Counter Clk Q T Q T Q T Q T

79 Counters: Binary Counter Clk Q T Q T Q T Q T  (1)

80 Counters: Binary Counter Clk Q T Q T Q T Q T  (1)

81 Counters: Binary Counter Clk Q T Q T Q T Q T  (1)

82 Counters: Binary Counter Clk Q T Q T Q T Q T  (1)

83 Counters: Binary Counter Clk Q T Q T Q T Q T  (1) and so on…

84 State Machines Useful abstract constructs for more complex sequential logic More on these next time

85 What I’ve Skipped Other flip-flops (RS, JK) Many other interesting sequential circuits (barrel shifters, gray counters, etc.)

86 Hardware Description Languages (HDLs) HDL describes in text a digital circuit Examples –VHDL (we will look at this next time) –Verilog –AHDL –JHDL

87 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.)

88 Summary Digital Systems Digital Design and its relation to ASICs Combinational Logic –NOT, AND, OR, XOR, NAND, etc. –mux, half-adder, full-adder Sequential Logic –flip-flop/register, shift register, counter

89 Next Tutorial State machines Tutorial 1 in VHDL Digital Design Thought Process –VHDL is not a programming language like C or Java –hardware entities represented using text

90 UW ASIC Design Team Reference material –Bryce Leung’s tutorials (UW ASIC website) –Michael Goldsmith’s tutorials (UW ASIC website) –ECE 223, 427, 438 course notes & textbooks My contact info: Jeff Wentworth,