Chapter 5 Computer System Architectures Chapter 5 Based on Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris.

Slides:



Advertisements
Similar presentations
Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
Advertisements

Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
1 CONSTRUCTING AN ARITHMETIC LOGIC UNIT CHAPTER 4: PART II.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3:
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3: IT Students.
Arithmetic Operations and Circuits
1 CS 140 Lecture 14 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego Some slides from Harris and Harris.
Assembly Language and Computer Architecture Using C++ and Java
©Brooks/Cole, 2003 Chapter 5 Computer Organization.
Chapter 6 Arithmetic. Addition Carry in Carry out
Assembly Language and Computer Architecture Using C++ and Java
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
1 ECE369 Chapter 3. 2 ECE369 Multiplication More complicated than addition –Accomplished via shifting and addition More time and more area.
Memory Taken from Digital Design and Computer Architecture by Harris and Harris and Computer Organization and Architecture by Null and Lobur.
COE 308: Computer Architecture (T041) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (Appendix A, Computer Architecture: A Quantitative Approach,
Chapter 1_4 Part II Counters
3-1 Chapter 3 - Arithmetic Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring Computer Architecture.
Computer Organization and Architecture Computer Arithmetic Chapter 9.
Computer Arithmetic Nizamettin AYDIN
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Computer Arithmetic. Instruction Formats Layout of bits in an instruction Includes opcode Includes (implicit or explicit) operand(s) Usually more than.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Chapter 6: Computer Arithmetic and the ALU
Chapter 5 :: Digital Building Blocks
Number Systems So far we have studied the following integer number systems in computer Unsigned numbers Sign/magnitude numbers Two’s complement numbers.
Computer Systems Organization CS 1428 Foundations of Computer Science.
S. Rawat I.I.T. Kanpur. Floating-point representation IEEE numbers are stored using a kind of scientific notation. ± mantissa * 2 exponent We can represent.
Introduction to Computer Organization and Architecture Lecture 10 By Juthawut Chantharamalee wut_cha/home.htm.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Digital Kommunikationselektronik TNE027 Lecture 2 1 FA x n –1 c n c n1- y n1– s n1– FA x 1 c 2 y 1 s 1 c 1 x 0 y 0 s 0 c 0 MSB positionLSB position Ripple-Carry.
55:035 Computer Architecture and Organization Lecture 5.
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Memories: –ROM; –SRAM; –DRAM; –Flash. Image sensors. FPGAs. PLAs.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 5 Digital Building Blocks.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
ECE 456 Computer Architecture
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
1 Number Systems Lecture 10 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 3:
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
1 Arithmetic I Instructor: Mozafar Bag-Mohammadi Ilam University.
Lecture 4. Adder & Subtractor Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
Computer Architecture Lecture 32 Fasih ur Rehman.
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 5: Arithmetic Circuits Chapter 5 (minus 5.3.4)
Computer Architecture Lecture Notes Spring 2005 Dr. Michael P. Frank Competency Area 4: Computer Arithmetic.
Addition, Subtraction, Logic Operations and ALU Design
ECE/CS 552: Arithmetic I Instructor:Mikko H Lipasti Fall 2010 University of Wisconsin-Madison Lecture notes partially based on set created by Mark Hill.
EE204 L03-ALUHina Anwar Khan EE204 Computer Architecture Lecture 03- ALU.
By Wannarat Computer System Design Lecture 3 Wannarat Suntiamorntut.
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 6 Overview Number Systems and Radix Conversion Fixed point.
Lecture 6. Fixed and Floating Point Numbers
Memories.
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2017
Digital Building Blocks
CS 140 Lecture 14 Standard Combinational Modules
CSE 140 Lecture 14 Standard Combinational Modules
Lecture 9: Shift, Mult, Div Fixed & Floating Point
Lecture 10: Sequential Blocks Arrays
Presentation transcript:

Chapter 5 Computer System Architectures Chapter 5 Based on Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris

Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits Number Systems Sequential Building Blocks Memory Arrays Logic Arrays

Chapter 5 Digital building blocks: – Gates, multiplexers, decoders, registers, arithmetic circuits, counters, memory arrays, logic arrays Building blocks demonstrate hierarchy, modularity, and regularity: – Hierarchy of simpler components – Well-defined interfaces and functions – Regular structure easily extends to different sizes Introduction

Chapter 5 1-Bit Adders

Chapter 5 1-Bit Adders

Chapter 5 1-Bit Adders

Chapter 5 Types of carry propagate adders (CPAs): –Ripple-carry (slow) –Carry-lookahead (fast) –Prefix (faster) Carry-lookahead and prefix adders faster for large adders but require more hardware Symbol Multibit Adders (CPAs)

Chapter 5 Chain 1-bit adders together Carry ripples through entire chain Disadvantage: slow Ripple-Carry Adder

Chapter 5 t ripple = Nt FA where t FA is the delay of a full adder Ripple-Carry Adder Delay

Chapter 5 Compute carry out (C out ) for k-bit blocks using generate and propagate signals Some definitions: –Column i produces a carry out by either generating a carry out or propagating a carry in to the carry out –Generate (G i ) and propagate (P i ) signals for each column: Column i will generate a carry out if A i AND B i are both 1. G i = A i B i Column i will propagate a carry in to the carry out if A i OR B i is 1. P i = A i + B i The carry out of column i (C i ) is: C i = A i B i + (A i + B i )C i-1 = G i + P i C i-1 Carry-Lookahead Adder

Chapter 5 Step 1: Compute G i and P i for all columns Step 2: Compute G and P for k-bit blocks Step 3: C in propagates through each k-bit propagate/generate block Carry-Lookahead Addition

Chapter 5 Example: 4-bit blocks (G 3:0 and P 3:0 ) : G 3:0 = G 3 + P 3 (G 2 + P 2 (G 1 + P 1 G 0 ) P 3:0 = P 3 P 2 P 1 P 0 Generally, G i:j = G i + P i (G i-1 + P i-1 (G i-2 + P i-2 G j ) P i:j = P i P i-1 P i-2 P j C i = G i:j + P i:j C i-1 Carry-Lookahead Adder

Chapter 5 32-bit CLA with 4-bit Blocks

Chapter 5 For N-bit CLA with k-bit blocks: t CLA = t pg + t pg_block + (N/k – 1)t AND_OR + kt FA –t pg : delay to generate all P i, G i –t pg_block :delay to generate all P i:j, G i:j –t AND_OR :delay from C in to C out of final AND/OR gate in k-bit CLA block An N-bit carry-lookahead adder is generally much faster than a ripple-carry adder for N > 16 Carry-Lookahead Adder Delay

Chapter 5 Computes carry in (C i-1 ) for each column, then computes sum: S i = (A i  B i )  C i Computes G and P for 1-, 2-, 4-, 8-bit blocks, etc. until all G i (carry in) known log 2 N stages Prefix Adder

Chapter 5 Carry in either generated in a column or propagated from a previous column. Column -1 holds C in, so G -1 = C in, P -1 = 0 Carry in to column i = carry out of column i-1: C i-1 = G i-1:-1 G i-1:-1 : generate signal spanning columns i-1 to -1 Sum equation: S i = (A i  B i )  G i-1:-1 Goal: Quickly compute G 0:-1, G 1:-1, G 2:-1, G 3:-1, G 4:-1, G 5:-1, … (called prefixes) Prefix Adder

Chapter 5 Generate and propagate signals for a block spanning bits i:j: G i:j = G i:k  P i:k G k-1:j P i:j = P i:k P k-1:j In words: –Generate: block i:j will generate a carry if: upper part (i:k) generates a carry or upper part propagates a carry generated in lower part (k-1:j) –Propagate: block i:j will propagate a carry if both the upper and lower parts propagate the carry Prefix Adder

Chapter 5 Prefix Adder Schematic

Chapter 5 t PA = t pg + log 2 N(t pg_prefix ) + t XOR –t pg : delay to produce P i G i (AND or OR gate) –t pg_prefix : delay of black prefix cell (AND-OR gate) Prefix Adder Delay

Chapter 5 Compare delay of: 32-bit ripple-carry, carry-lookahead, and prefix adders CLA has 4-bit blocks 2-input gate delay = 100 ps; full adder delay = 300 ps Adder Delay Comparisons

Chapter 5 Compare delay of: 32-bit ripple-carry, carry-lookahead, and prefix adders CLA has 4-bit blocks 2-input gate delay = 100 ps; full adder delay = 300 ps t ripple = Nt FA = 32(300 ps) = 9.6 ns t CLA = t pg + t pg_block + (N/k – 1)t AND_OR + kt FA = [ (7) (300)] ps = 3.3 ns t PA = t pg + log 2 N(t pg_prefix ) + t XOR = [100 + log 2 32(200) + 100] ps = 1.2 ns Adder Delay Comparisons

Chapter 5 Subtracter

Chapter 5 Comparator: Equality

Chapter 5 Copyright © 2007 Elsevier 5- Comparator: Less Than

Chapter 5 Copyright © 2007 Elsevier 5- F 2:0 Function 000A & B 001A | B 010A + B 011not used 100A & ~B 101A | ~B 110A - B 111SLT Arithmetic Logic Unit (ALU)

Chapter 5 Copyright © 2007 Elsevier 5- F 2:0 Function 000A & B 001A | B 010A + B 011not used 100A & ~B 101A | ~B 110A - B 111SLT ALU Design

Chapter 5 Compare delay of: 32-bit ripple-carry, carry-lookahead, and prefix adders CLA has 4-bit blocks 2-input gate delay = 100 ps; full adder delay = 300 ps t ripple = Nt FA = 32(300 ps) = 9.6 ns t CLA = t pg + t pg_block + (N/k – 1)t AND_OR + kt FA = [ (7) (300)] ps = 3.3 ns t PA = t pg + log 2 N(t pg_prefix ) + t XOR = [100 + log 2 32(200) + 100] ps = 1.2 ns Adder Delay Comparisons

Chapter 5 Copyright © 2007 Elsevier 5- Configure 32-bit ALU for SLT operation: A = 25 and B = 32 Set Less Than (SLT) Example

Chapter 5 Copyright © 2007 Elsevier 5- Configure 32-bit ALU for SLT operation: A = 25 and B = 32 –A < B, so Y should be 32-bit representation of 1 (0x ) –F 2:0 = 111 –F 2 = 1 (adder acts as subtracter), so = -7 –-7 has 1 in the most significant bit (S 31 = 1) –F 1:0 = 11 multiplexer selects Y = S 31 (zero extended) = 0x Set Less Than (SLT) Example

Chapter 5 Copyright © 2007 Elsevier 5- Logical shifter: shifts value to left or right and fills empty spaces with 0’s – Ex: >> 2 = – Ex: << 2 = Arithmetic shifter: same as logical shifter, but on right shift, fills empty spaces with the old most significant bit (msb). – Ex: >>> 2 = – Ex: <<< 2 = Rotator: rotates bits in a circle, such that bits shifted off one end are shifted into the other end – Ex: ROR 2 = – Ex: ROL 2 = Shifters

Chapter 5 Logical shifter: – Ex: >> 2 = – Ex: << 2 = Arithmetic shifter: – Ex: >>> 2 = – Ex: <<< 2 = Rotator: – Ex: ROR 2 = – Ex: ROL 2 = Shifters

Chapter 5 Shifter Design

Chapter 5 A << N = A × 2 N – Example: << 2 = (1 × 2 2 = 4) – Example: << 2 = (-3 × 2 2 = -12) A >>> N = A ÷ 2 N – Example: >>> 2 = (8 ÷ 2 2 = 2) – Example: >>> 2 = (-16 ÷ 2 2 = -4) Shifters as Multipliers, Dividers

Chapter 5 Partial products formed by multiplying a single digit of the multiplier with multiplicand Shifted partial products summed to form result Multipliers

Chapter 5 4 x 4 Multiplier

Chapter 5 4 x 4 Divider A/B = Q + R/B Algorithm: R ’ = 0 for i = N-1 to 0 R = {R ’ << 1. A i } D = R - B if D < 0, Q i =0, R ’ =R else Q i =1, R ’ =D R ’ =R

Chapter 5 Numbers we can represent using binary representations –Positive numbers Unsigned binary –Negative numbers Two’s complement Sign/magnitude numbers What about fractions? Number Systems

Chapter 5 Two common notations: –Fixed-point: binary point fixed –Floating-point: binary point floats to the right of the most significant 1 Numbers with Fractions

Chapter using 4 integer bits and 4 fraction bits: Binary point is implied The number of integer and fraction bits must be agreed upon beforehand Fixed-Point Numbers

Chapter 5 Represent using 4 integer bits and 4 fraction bits. Fixed-Point Number Example

Chapter 5 Represent using 4 integer bits and 4 fraction bits Fixed-Point Number Example

Chapter 5 Representations: –Sign/magnitude –Two’s complement Example: Represent using 4 integer and 4 fraction bits –Sign/magnitude: –Two’s complement: Signed Fixed-Point Numbers

Chapter 5 Representations: –Sign/magnitude –Two’s complement Example: Represent using 4 integer and 4 fraction bits –Sign/magnitude: –Two’s complement: : Invert bits: Add 1 to lsb: Signed Fixed-Point Numbers

Chapter 5 Binary point floats to the right of the most significant 1 Similar to decimal scientific notation For example, write in scientific notation: 273 = 2.73 × 10 2 In general, a number is written in scientific notation as: ± M × B E –M = mantissa –B = base –E = exponent –In the example, M = 2.73, B = 10, and E = 2 Floating-Point Numbers

Chapter 5 Example: represent the value using a 32-bit floating point representation We show three versions –final version is called the IEEE 754 floating-point standard Floating-Point Numbers

Chapter 5 1.Convert decimal to binary (don’t reverse steps 1 & 2!): = Write the number in “binary scientific notation”: = × Fill in each field of the 32-bit floating point number: –The sign bit is positive (0) –The 8 exponent bits represent the value 7 –The remaining 23 bits are the mantissa Floating-Point Representation 1

Chapter 5 First bit of the mantissa is always 1: – = = × 2 7 So, no need to store it: implicit leading 1 Store just fraction bits in 23-bit field Floating-Point Representation 2

Chapter 5 Biased exponent: bias = 127 ( ) –Biased exponent = bias + exponent –Exponent of 7 is stored as: = 134 = 0x The IEEE bit floating-point representation of in hexadecimal: 0x Floating-Point Representation 3

Chapter 5 Write in floating point (IEEE 754) Floating-Point Example

Chapter 5 Write in floating point (IEEE 754) 1.Convert decimal to binary: = Write in binary scientific notation: × Fill in fields: Sign bit: 1 (negative) 8 exponent bits: ( ) = 132 = fraction bits: in hexadecimal: 0xC Floating-Point Example

Chapter 5 NumberSignExponentFraction 0X ∞ ∞ NaNX non-zero Floating-Point: Special Cases

Chapter 5 Single-Precision: –32-bit –1 sign bit, 8 exponent bits, 23 fraction bits –bias = 127 Double-Precision: –64-bit –1 sign bit, 11 exponent bits, 52 fraction bits –bias = 1023 Floating-Point Precision

Chapter 5 Overflow: number too large to be represented Underflow: number too small to be represented Rounding modes: –Down –Up –Toward zero –To nearest Example: round ( ) to only 3 fraction bits –Down: –Up: –Toward zero:1.100 –To nearest:1.101 (1.625 is closer to than 1.5 is) Floating-Point: Rounding

Chapter 5 1.Extract exponent and fraction bits 2.Prepend leading 1 to form mantissa 3.Compare exponents 4.Shift smaller mantissa if necessary 5.Add mantissas 6.Normalize mantissa and adjust exponent if necessary 7.Round result 8.Assemble exponent and fraction back into floating-point format Floating-Point Addition

Chapter 5 Add the following floating-point numbers: 0x3FC x Floating-Point Addition Example

Chapter 5 1.Extract exponent and fraction bits For first number (N1): S = 0, E = 127, F =.1 For second number (N2): S = 0, E = 128, F = Prepend leading 1 to form mantissa N1:1.1 N2:1.101 Floating-Point Addition Example

Chapter 5 3.Compare exponents 127 – 128 = -1, so shift N1 right by 1 bit 4.Shift smaller mantissa if necessary shift N1’s mantissa: 1.1 >> 1 = 0.11 (× 2 1 ) 5.Add mantissas 0.11 × × × 2 1 Floating-Point Addition Example

Chapter 5 6.Normalize mantissa and adjust exponent if necessary × 2 1 = × Round result No need (fits in 23 bits) 8.Assemble exponent and fraction back into floating-point format S = 0, E = = 129 = , F = in hexadecimal: 0x Floating Point Addition Example

Chapter 5 Increments on each clock edge Used to cycle through numbers. For example, –000, 001, 010, 011, 100, 101, 110, 111, 000, 001… Example uses: –Digital clock displays –Program counter: keeps track of current instruction executing Counters

Chapter 5 Implementation: Shift a new bit in on each clock edge Shift a bit out on each clock edge Serial-to-parallel converter: converts serial input (S in ) to parallel output (Q 0:N-1 ) Shift Registers Symbol:

Chapter 5 When Load = 1, acts as a normal N-bit register When Load = 0, acts as a shift register Now can act as a serial-to-parallel converter (S in to Q 0:N-1 ) or a parallel-to-serial converter (D 0:N-1 to S out ) Shift Register with Parallel Load

Chapter 5 Efficiently store large amounts of data 3 common types: –Dynamic random access memory (DRAM) –Static random access memory (SRAM) –Read only memory (ROM) M-bit data value read/ written at each unique N-bit address Memory Arrays

Chapter 5 2-dimensional array of bit cells Each bit cell stores one bit N address bits and M data bits: –2 N rows and M columns –Depth: number of rows (number of words) –Width: number of columns (size of word) –Array size: depth × width = 2 N × M Memory Arrays

Chapter × 3-bit array Number of words: 4 Word size: 3-bits For example, the 3-bit word stored at address 10 is 100 Memory Array Example

Chapter 5 Memory Arrays

Chapter 5 Z Memory Array Bit Cells

Chapter Z Z Memory Array Bit Cells

Chapter 5 Wordline: –like an enable –single row in memory array read/written –corresponds to unique address –only one wordline HIGH at once Memory Array

Chapter 5 Random access memory (RAM): volatile Read only memory (ROM): nonvolatile Types of Memory

Chapter 5 Volatile: loses its data when power off Read and written quickly Main memory in your computer is RAM (DRAM) Historically called random access memory because any data word accessed as easily as any other (in contrast to sequential access memories such as a tape recorder) RAM: Random Access Memory

Chapter 5 Nonvolatile: retains data when power off Read quickly, but writing is impossible or slow Flash memory in cameras, thumb drives, and digital cameras are all ROMs Historically called read only memory because ROMs were written at manufacturing time or by burning fuses. Once ROM was configured, it could not be written again. This is no longer the case for Flash memory and other types of ROMs. ROM: Read Only Memory

Chapter 5 DRAM (Dynamic random access memory) SRAM (Static random access memory) Differ in how they store data: –DRAM uses a capacitor –SRAM uses cross-coupled inverters Types of RAM

Chapter 5 Invented DRAM in 1966 at IBM Others were skeptical that the idea would work By the mid-1970’s DRAM in virtually all computers Robert Dennard,

Chapter 5 Data bits stored on capacitor Dynamic because the value needs to be refreshed (rewritten) periodically and after read: –Charge leakage from the capacitor degrades the value –Reading destroys the stored value DRAM

Chapter 5 DRAM

Chapter 5 SRAM

Chapter 5 DRAM bit cell:SRAM bit cell: Memory Arrays Review

Chapter 5 ROM: Dot Notation

Chapter 5 Developed memories and high speed circuits at Toshiba, Invented Flash memory as an unauthorized project pursued during nights and weekends in the late 1970’s The process of erasing the memory reminded him of the flash of a camera Toshiba slow to commercialize the idea; Intel was first to market in 1988 Flash has grown into a $25 billion per year market Fujio Masuoka,

Chapter 5 ROM Storage

Chapter 5 Data 2 = A 1  A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 ROM Logic

Chapter 5 Implement the following logic functions using a 2 2 × 3-bit ROM: –X = AB –Y = A + B –Z = A B Example: Logic with ROMs

Chapter 5 Implement the following logic functions using a 2 2 × 3-bit ROM: –X = AB –Y = A + B –Z = A B Example: Logic with ROMs

Chapter 5 Data 2 = A 1  A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 Logic with Any Memory Array

Chapter 5 Implement the following logic functions using a 2 2 × 3-bit memory array: –X = AB –Y = A + B –Z = A B Logic with Memory Arrays

Chapter 5 Implement the following logic functions using a 2 2 × 3-bit memory array: –X = AB –Y = A + B –Z = A B Logic with Memory Arrays

Chapter 5 Called lookup tables (LUTs): look up output at each input combination (address) Logic with Memory Arrays

Chapter 5 Port: address/data pair 3-ported memory –2 read ports (A1/RD1, A2/RD2) –1 write port (A3/WD3, WE3 enables writing) Register file: small multi-ported memory Multi-ported Memories

Chapter 5 // 256 x 3 memory module with one read/write port module dmem(input logic clk, we, input logic[7:0] a input logic [2:0] wd, output logic [2:0] rd); logic [2:0] RAM[255:0]; assign rd = RAM[a]; clk) if (we) RAM[a] <= wd; endmodule SystemVerilog Memory Arrays

Chapter 5 PLAs (Programmable logic arrays) –AND array followed by OR array –Combinational logic only –Fixed internal connections FPGAs (Field programmable gate arrays) –Array of Logic Elements (LEs) –Combinational and sequential logic –Programmable internal connections Logic Arrays

Chapter 5 X = ABC + ABC Y = AB PLAs

Chapter 5 PLAs: Dot Notation

Chapter 5 Composed of: –LEs (Logic elements): perform logic –IOEs (Input/output elements): interface with outside world –Programmable interconnection: connect LEs and IOEs –Some FPGAs include other building blocks such as multipliers and RAMs FPGA: Field Programmable Gate Array

Chapter 5 General FPGA Layout

Chapter 5 Composed of: –LUTs (lookup tables): perform combinational logic –Flip-flops: perform sequential logic –Multiplexers: connect LUTs and flip-flops LE: Logic Element

Chapter 5 Altera Cyclone IV LE

Chapter 5 The Spartan CLB has: –1 four-input LUT –1 registered output –1 combinational output Altera Cyclone IV LE

Chapter 5 Show how to configure a Cyclone IV LE to perform the following functions: –X = ABC + ABC –Y = AB LE Configuration Example

Chapter 5 Show how to configure a Cyclone IV LE to perform the following functions: –X = ABC + ABC –Y = AB LE Configuration Example

Chapter 5 Using a CAD tool (such as Altera’s Quartus II) Enter the design using schematic entry or an HDL Simulate the design Synthesize design and map it onto FPGA Download the configuration onto the FPGA Test the design FPGA Design Flow