Introduction Reading: Chapter 1 Courtesy of Dr. Dansereau, Dr. Brown, Dr. Vranesic, Dr. Harris, and Dr. Choi http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu
Why study logic design? Obvious reasons this course is part of the CSCE requirements it is the implementation basis for all modern computing devices building large things from small components provide a model of how a computer works More important reasons the inherent parallelism in hardware is often our first exposure to parallel computation it offers an interesting counterpoint to software design and is therefore useful in furthering our understanding of computation, in general 1/22/2018 CSCE2114: Digital Design 2
What will we learn in this class? The language of logic design Boolean algebra, logic minimization, state, timing, CAD tools The concept of state in digital systems analogous to variables and program counters in software systems How to specify/simulate/compile/realize our designs hardware description languages tools to simulate the workings of our designs logic compilers to synthesize the hardware blocks of our designs mapping onto programmable hardware Contrast with software design sequential and parallel implementations specify algorithm as well as computing/storage resources it will use 1/22/2018 CSCE2114: Digital Design 3
Applications of logic design Conventional computer design CPUs, busses, peripherals Networking and communications phones, modems, routers Embedded products in cars, toys, appliances, entertainment devices Scientific equipment testing, sensing, reporting The world of computing is much much bigger than just PCs! 1/22/2018 CSCE2114: Digital Design 4
A quick history lesson 1850: George Boole invents Boolean algebra maps logical propositions to symbols permits manipulation of logic statements using mathematics 1938: Claude Shannon links Boolean algebra to switches 1945: John von Neumann develops the stored program computer its switching elements are vacuum tubes (a big advance from relays) 1946: ENIAC... The world s first completely electronic computer 18,000 vacuum tubes several hundred multiplications per minute 1947: Shockley, Brittain, and Bardeen invent the transistor replaces vacuum tubes, gateway to modern electronics 1958-1959: Jack Kilby and Robert Noyce invent IC 1/22/2018 CSCE2114: Digital Design 5
What is logic design? What is design? given a specification of a problem, come up with a way of solving it choosing appropriately from a collection of available components while meeting some criteria for size, cost, power, beauty, elegance, etc. What is logic design? determining the collection of digital logic components to perform a specified control and/or data manipulation and/or communication function and the interconnections between them which logic components to choose? there are many implementation technologies (e.g., off-the-shelf fixed-function components, programmable devices, transistors on a chip, etc.) the design may need to be optimized and/or transformed to meet design constraints 1/22/2018 CSCE2114: Digital Design 6
What is digital hardware? Collection of devices that sense and/or control wires that carry a digital value (i.e., a physical quantity that can be interpreted as a 0 or 1 ) example: digital logic where voltage < 0.8v is a 0 and > 2.0v is a 1 example: pair of transmission wires where a 0 or 1 is distinguished by which wire has a higher voltage (differential) example: orientation of magnetization signifies a 0 or a 1 Primitive digital hardware devices logic computation devices (sense and drive) are two wires both 1 - make another be 1 (AND) is at least one of two wires 1 - make another be 1 (OR) is a wire 1 - then make another be 0 (NOT) memory devices (store) store a value recall a previously stored value 1/22/2018 CSCE2114: Digital Design 7
What is happening? Important trends in how industry does hardware design larger designs, shorter time to market, cheaper products Scale pervasive use of computer-aided design tools over hand methods multiple levels of design representation Time emphasis on abstract design representations programmable rather than fixed function components importance of sound design methodologies Cost higher levels of integration use of simulation to debug designs simulate and verify before you build 1/22/2018 CSCE2114: Digital Design 8
CSCE 2114: concepts/skills/abilities Understanding the basics of logic design (concepts) Understanding sound design methodologies (concepts) Modern specification methods (concepts) Familiarity with a full set of CAD tools (skills) Realize digital designs in an implementation technology (skills) Appreciation for the differences and similarities (abilities) in hardware and software design New ability: to accomplish the logic design task with the aid of computer-aided design tools and map a problem description into an implementation with programmable logic devices after validation via simulation and understanding of the advantages/disadvantages as compared to a software implementation 1/22/2018 CSCE2114: Digital Design 9
Invention of the Transistor Vacuum tubes ruled in first half of 20th century Large, expensive, power-hungry, unreliable 1947: first point contact transistor John Bardeen and Walter Brattain at Bell Labs Read Crystal Fire by Riordan, Hoddeson 1/22/2018 CSCE2114: Digital Design 10
Transistor Types Bipolar transistors npn or pnp silicon structure Small current into very thin base layer controls large currents between emitter and collector Base currents limit integration density Metal Oxide Semiconductor Field Effect Transistors nmos and pmos MOSFETS Voltage applied to insulated gate controls current between source and drain Low power allows very high integration 1/22/2018 CSCE2114: Digital Design 11
MOS Integrated Circuits 1970 s processors usually had only nmos transistors Inexpensive, but consume power while idle Intel 1101 256-bit SRAM Intel 4004 4-bit mproc 1980s-present: CMOS (Complementary MOS) processes for low idle power 1/22/2018 CSCE2114: Digital Design 12
Moore s Law Original (1965) Gordon Moore (Fairchild) The number of transistors on an IC would double every year. Revised (1975) Gordon Moore (Intel) A doubling every two years, rather than every year. Moore: "Cramming more components onto integrated circuits" Electronics, Vol. 38, No. 8, 1965 IEEE, IEDM Tech Digest (1975) 1/22/2018 CSCE2114: Digital Design 13
A Silicon Wafer 1/22/2018 CSCE2114: Digital Design 14
A printed circuit board 1/22/2018 CSCE2114: Digital Design 15
Moore s Law Moore's law suggests exponential growth (2x every 18 months) Is not about performance, not about chip size Hinted about the cost reduction Exponential transistor count Exponential complexity 1/22/2018 CSCE2114: Digital Design 16
1/22/2018 CSCE2114: Digital Design 17
The basic design loop Design concept Initial design Simulation Redesign Design correct? No Yes Successful design 1/22/2018 CSCE2114: Digital Design 18
A More Realistic Design Loop 1/22/2018 CSCE2114: Digital Design 19
Speed of MOS networks What influences the speed of CMOS networks? charging and discharging of voltages on wires and gates of transistors Capacitors hold charge capacitance is at gates of transistors and wire material Resistors slow movement of electrons resistance mostly due to transistors 1/22/2018 CSCE2114: Digital Design 20
Representation of digital designs Physical devices (transistors, relays) Switches Truth tables Boolean algebra Gates Waveforms Finite state behavior Register-transfer behavior Concurrent abstract specifications scope of CSCE 2114 1/22/2018 CSCE2114: Digital Design 21
Digital vs. Analog Convenient to think of digital systems as having only discrete, digital, input/output values In reality, real electronic components exhibit continuous, analog, behavior Why do we make the digital abstraction anyway? switches operate this way easier to think about a small number of discrete values Why does it work? does not propagate small errors in values always resets to 0 or 1 1/22/2018 CSCE2114: Digital Design 22
Digital vs. Analog Signal Value Analog signal 3 2 Digital signal 1 0 Time 1/22/2018 CSCE2114: Digital Design 23
Binary Signal Signal Value 1 Binary signal 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Time 1/22/2018 CSCE2114: Digital Design 24
Number Systems Positional Number Systems Decimal, binary, octal, and hex Bases: 10, 2, 8, and 16 Integers and fractions Base conversion Ability to convert a number from one base to another Converting fractions may lead to errors Basic binary addition and subtraction 1/22/2018 CSCE2114: Digital Design 25
From physical world to binary world Technology State 0 State 1 Relay logic Circuit Open Circuit Closed CMOS logic 0.0-1.0 volts 2.0-3.0 volts Transistor transistor logic (TTL) 0.0-0.8 volts 2.0-5.0 volts Fiber Optics Light off Light on Dynamic RAM Discharged capacitor Charged capacitor Nonvolatile memory (erasable) Trapped electrons No trapped electrons Programmable ROM Fuse blown Fuse intact Bubble memory No magnetic bubble Bubble present Magnetic disk No flux reversal Flux reversal Compact disc No pit Pit 1/22/2018 CSCE2114: Digital Design 26
Binary Numbers Binary numbers are base 2 as opposed to base 10 typically used. Instead of decimal places such as 1s, 10s, 100s, 1000s, etc., binary uses powers of two to have 1s, 2s, 4s, 8s, 16s, 32s, 64s, etc. places. We will discuss binary numbers and binary arithmetic in a little more depth later. Examples: 101 2 = 1 2 2 + 0 2 1 + 1 2 0 = 4 10 + 1 10 = 510 10111 2 = 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 1 2 0 = 23 10 00101111 2 = 1 2 5 + 1 2 3 + 1 2 2 + 1 2 1 + 1 2 0 = 47 10 1/22/2018 CSCE2114: Digital Design 27
Evaluating Decimal: Decimal Numbers: 154 d = (1 x 10 2 ) + (5 x 10 1 ) + (4 x 10 0 ) = (1 x 100) + (5 x 10) + (4 x 1) = 100 + 50 + 4 = 154 2.67 d = (2 x 10 0 ) + (6 x 10-1 ) + (7 x 10-2 ) = (2 x 1) + (6 x 1/10) + (7 x 1/100) = 2 + 0.6 + 0.007 = 2.67 1/22/2018 CSCE2114: Digital Design 28
Evaluating Binary: Binary Numbers: 110 b = (1 x 2 2 ) + (1 x 2 1 ) + (0 x 2 0 ) = (1 x 4) + (1 x 2) + (0 x 1) = 4 + 2 + 0 = 6 1.01 b = (1 x 2 0 ) + (0 x 2-1 ) + (1 x 2-2 ) = (1 x 1) + (0 x 1/2) + (1 x 1/4) = 1 + 0 + 0.25 = 1.25 1/22/2018 CSCE2114: Digital Design 29
Evaluating Octal/Hex Numbers: Octal Numbers: 170 o = (1 x 8 2 ) + (7 x 8 1 ) + (0 x 8 0 ) = (1 x 64) + (7 x 8) + (0 x 1) = 64 + 56 + 0 = 120 Hex Numbers: 1F0 h = (1 x 16 2 ) + (15 x 16 1 ) + (0 x 16 0 ) = (1 x 256) + (15 x 16) + (0 x 1) = 256 + 240 + 0 = 496 1/22/2018 CSCE2114: Digital Design 30
Conversion Between Binary, Octal, and Hexadecimal Binary to Octal: Group binary digits into groups of three bits starting at the radix point. Convert each group of binary digits to octal equivalent. Binary to Hex: Group binary digits into groups of four bits starting at the radix point. Convert each group of binary digits to hex equivalent. Base: 2 8 16 0 0 0 1 1 1 10 2 2 11 3 3 100 4 4 101 5 5 110 6 6 111 7 7 1000 10 8 1001 11 9 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F 1/22/2018 CSCE2114: Digital Design 31
Conversion Between Binary, Octal, and Hexadecimal Octal to Binary: Convert each octal digit to binary in order. Hexadecimal to Binary: Convert each hex digit to binary in order. Between Octal and Hexadecimal: Convert the octal or hex digits to binary, then to the desired radix. Base: 2 8 16 0 0 0 1 1 1 10 2 2 11 3 3 100 4 4 101 5 5 110 6 6 111 7 7 1000 10 8 1001 11 9 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F 1/22/2018 CSCE2114: Digital Design 32