PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Similar documents
Memory and Programmable Logic

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

Very Large Scale Integration (VLSI)

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Memory and Programmable Logic

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Design Methodologies

Topics. Midterm Finish Chapter 7

Spiral 2-8. Cell Layout

Presentation 4: Programmable Combinational Devices

FPGA: What? Why? Marco D. Santambrogio

ECE 331 Digital System Design

Design Methodologies. Full-Custom Design

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

LSN 6 Programmable Logic Devices

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

Lecture 13: Memory and Programmable Logic

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Memory and Programmable Logic

ELCT 912: Advanced Embedded Systems

Design Methodologies and Tools. Full-Custom Design

PROGRAMMABLE LOGIC DEVICES

INTRODUCTION TO FPGA ARCHITECTURE

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Programmable Logic Devices

FYSE420 DIGITAL ELECTRONICS. Lecture 7

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Design Methodologies. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Altera FLEX 8000 Block Diagram

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

FPGA architecture and design technology

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi

CENG 4480 L09 Memory 3

The Xilinx XC6200 chip, the software tools and the board development tools

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Field Programmable Gate Array (FPGA)

Computer Structure. Unit 2: Memory and programmable devices

FPGA Programming Technology

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

EECS150 - Digital Design Lecture 16 Memory 1

+1 (479)

Digital Integrated Circuits

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

Semiconductor Memories: RAMs and ROMs

Digital Design, Kyung Hee Univ. Chapter 7. Memory and Programmable Logic

MEMORY AND PROGRAMMABLE LOGIC

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method

CMPE 415 Programmable Logic Devices FPGA Technology I

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Address connections Data connections Selection connections

PINE TRAINING ACADEMY

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

COE 561 Digital System Design & Synthesis Introduction

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Magnetic core memory (1951) cm 2 ( bit)

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Logical Design of Digital Systems

Programmable Logic. Simple Programmable Logic Devices

Introduction to SRAM. Jasur Hanbaba

Integrated Circuits & Systems

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

Injntu.com Injntu.com Injntu.com R16

Model EXAM Question Bank

FPGA Implementations

Review: Chip Design Styles

Chapter 5 Internal Memory

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

SRAM. Introduction. Digital IC

Programmable Logic. Any other approaches?

Allmost all systems contain two main types of memory :

Programmable Logic Devices

The Virtex FPGA and Introduction to design techniques

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

ECSE-2610 Computer Components & Operations (COCO)

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Memory & Logic Array. Lecture # 23 & 24 By : Ali Mustafa

Lecture 20: CAMs, ROMs, PLAs

Transcription:

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES. psa. rom. fpga THE WAY THE MODULES ARE PROGRAMMED NETWORKS OF PROGRAMMABLE MODULES EXAMPLES OF USES Programmable Modules

PROGRAMMABLE SEQUENTIAL ARRAYS (psa) x inputs n PLA outputs k z present state next state p State register p y Y PSA clk Figure.: PROGRAMMABLE SEQUENTIAL ARRAY (psa). Programmable Modules

Example.: IMPLEMENTATION OF SEQUENTIAL SYSTEMS USING psas SEQUENCE GENERATOR INPUTS: x {, } OUTPUTS: z {,,, 6, 7,, 4} FUNCTION: The transition and output functions x = : z = 4 7 x = : z = 6 x = : z = x = : z = Programmable Modules

4 CLK z z z z State 4 7 4 7 (a) Case x = CLK z z z z State 6 6 (b) Case x = Figure.: TIMING SEQUENCES IN Example.. Programmable Modules

Example. (cont.) 5 y k = k = k k 6 x 6 k 7 k 4 k 4 7 x Y K y {, 4, 5, 8, 9,,,, 5} don t care states K = xy y xy y y ky ky y ky y Y = y y k Y = y y y y k Y = y y Y = y k y k y y Programmable Modules

x k (from state register) y y y y -- programmable connection 6 -- connection made 4 5 6 7 8 9 4 5 6 7 8 y y y y k y y y y y y k y k y k x y y xy y y ky ky y k y y 9 8 7 6 5 4 next state K Y Y Y Y CLK k STATE REGISTER y y y y present state z z z output z Figure.: psa IMPLEMENTATION IN Example.. Programmable Modules

READ-ONLY MEMORIES (rom) 7 E En Address Inputs x x x n- n X k ROM z k- z Outputs Figure.4: READ-ONLY MEMORY (rom) Programmable Modules

EXAMPLE. 8 Address Contents x z Programmable Modules

9 E x x z z z z - - Z Z Z Z NOR Array Vdd (a) pull-up devices Gnd x x Binary decoder word Gnd word word Gnd word E enable three-state buffers z z z z Figure.5: mos IMPLEMENTATION OF A 4 4 READ-ONLY MEMORY: a) THE FUNCTION; b) THE CIRCUIT. (b) Programmable Modules

IMPLEMENTATION OF SWITCHING FUNCTIONS USING roms ROM (5x5) c in x x x x y y y y 7 8 BINARY DECODER 49 56 5 + Input/output mapping: x x c in x x + y y y y c out z z z z z c out z z z Figure.6: rom-based IMPLEMENTATION OF A 4-BIT ADDER. Programmable Modules

IMPLEMENTATION OF SEQUENTIAL SYSTEMS USING roms INPUTS: x = (x, x ), x i {, } OUTPUTS: z {,, } STATE: y = (y, y ), y i {,, } FUNCTION: The transition and output function P S x x y y,,,,,,,,,,,, Y Y, z NS, Output Programmable Modules

ROM address ROM contents y y x x Y Y z present state x x next state CLK ROM 6 X Y Y S y y z - - - - - - - - - - - - (a) next state (b) output Figure.7: rom-based implementation of a sequential system: a) network; b) rom contents. Programmable Modules

TYPES OF rom MODULES MASK-PROGRAMMED rom FIELD-PROGRAMMABLE rom (proms) ERASABLE rom (eprom) ELECTRICALLY ERASABLE rom(flash-memory) or eeprom Programmable Modules

NETWORKS OF PROGRAMMABLE MODULES 4 f (x 4, x, x, x, x ) = one-set(,,,,6,,7) f (x 4, x, x, x, x ) = one-set(5,7,9,,) rom MODULE: 8 x = (x (), x () ) x () = (x 4, x ) x () = (x, x, x ) Programmable Modules

5 x 4 x x x x E= En DECODER Row 4 5 6 7 E E E E ROM ROM ROM ROM Z Z Z Z Z Z f f Figure.8: rom-based NETWORK FOR THE IMPLEMENTATION OF TWO FUNCTIONS. Programmable Modules

x n-,..., x k x k-,..., x 6 n-k N = n-k E En DECODER N- N- k k k k En En En ROM N- ROM N- ROM * * * * three-state outputs (a) f N = n-k x k-,..., x k k En k En k En ROM N- ROM N- ROM x n-,..., x k n-k E N- N- En MULTIPLEXER (b) f Figure.9: IMPLEMENTATIONS OF FUNCTIONS WITH n VARIABLES: a) roms AND DECODER; b) roms AND MULTIPLEXER Programmable Modules

LARGE NUMBER OF SFs 7 E n En n En n En x n-,..., x n ROM ROM ROM f f Figure.: rom-based IMPLEMENTATION OF LARGE NUMBER OF SWITCHING FUNCTIONS. Programmable Modules

FIELD PROGRAMMABLE GATE ARRAYS (FPGA) 8 Switch matrix Input/Output Blocks Programmable Logic Block Switches Input/Output Blocks Input/Output Blocks Input/Output Blocks Wiring channel Figure.: ORGANIZATION OF AN fpga chip. Programmable Modules

BASIC APPROACHES IN PROGRAMMING OF FPGAs 9 - ON-CHIP STATIC RAM LOADED WITH CONFIGURATION BIT PATTERNS (sram-fpgas). (volatile) - ANTIFUSE-PROGRAMMED DEVICES PROGRAMMED ELECTRICALLY TO PROVIDE CONNECTIONS THAT DEFINE CHIP CON- FIGURATION - ARRAY-STYLE eprom and eeprom PROGRAMMED DEVICES USING SEVERAL plas AND A SHARED INTERCONNECT MECHANISM Programmable Modules

SRAM cell Transistor Closed switch Open switch (a) LUT (Look-Up Table) a b c d MUX y=d a b c Decoder y=f(a,b,c) SRAM cells SRAM cells (b) (c) Figure.: sram fpgaprogrammable COMPONENTS: (a) Switch. (b) 4-input multiplexer. (c) Look-up table (LUT). Programmable Modules

Example: XILINX XC X Outputs A B C D Look -Up Table (LUT) G F D Set S Q Y CLK K R Reset SRAM-controlled multiplexer K B C K D A CLB X Y CLB symbol Figure.: A CONFIGURABLE LOGIC BLOCK (CLB) (Courtesy of Xilinx, Inc.) Programmable Modules

A B C D A 4-variable function G F B Q (a) A A B C A -variable function F C D A Q A -variable function M U X F D Q C D A -variable function G A B C D A -variable function G Q (c) Q (b) Figure.4: sram-fpga options in generating functions: (a) One 4-variable function. (b) Two -variable functions. (c) Selection between two functions of variables. (Courtesy of Xilinx, Inc.) Programmable Modules

PROGRAMMABLE INTERCONNECT. DIRECT INTERCONNECTIONS BETWEEN HORIZONTALLY AND VERTICALLY ADJACENT clbs PROVIDE FAST SIGNAL PATHS BETWEEN ADJACENT MODULES. GENERAL-PURPOSE INTERCONNECT CONSISTS OF VERTICAL AND HORIZONTAL WIRING SEGMENTS BETWEEN SWITCH MATRICES. LONG VERTICAL AND HORIZONTAL LINES SPAN THE WHOLE clbarray Programmable Modules

Two vertical long lines Global long line 4 B C K A CLB X Y CLB D Direct connection Horizontal long line Switch Matrices CLB CLB General-purpose interconnect CLB CLB General-purpose interconnect Figure.5: PROGRAMMABLE INTERCONNECT. (Courtesy of Xilinx, Inc.) Programmable Modules

Example.5: BCD ADDER MODULE 5 IMPLEMENT A ONE-DIGIT BCD ADDER USING A sram-fpgamodule OF XC TYPE INPUTS: x = (x, x, x, x ), x j {, }, x {,..., 9} y = (y, y, y, y ), y j {, }, y {,..., 9} c in {, } OUTPUTS: s = (s, s, s, s ), s j {, }, s {,..., 9} c out {, } FUNCTION: x + y + c in = c out + s COMPUTE 6u + v = x + y + c in {,..., 9} using a 4-bit binary adder Programmable Modules

Example.5 (cont.) 6 THREE CASES: BCD OUTPUT u = v 9 s = v c out = u = v > 9 s = v = (v + 6) mod 6 c out = u = s = v + 6 = v + 6 c out = s = (v + 6)mod6 if u = or v v otherwise c out = if u = or v otherwise THE CONDITION u = or v CORRESPONDS TO SWITCHING EXPRESSION t = u v v v v Programmable Modules

Example.5 (cont.) 7 x y x y x y x y u 4-bit Adder v v v v t -bit Adder c out s s s s c in Figure.6: IMPLEMENTATION OF BCD ADDER MODULE Programmable Modules

Example.5 (cont.) 8 SIMPLIFICATION OF THE -BIT ADDER s = v t(v v ) s = v tv s = v t MOREOVER, s = v c out = t Programmable Modules

9 CLB CLB CLB CLB CLB CLB CLB u t s s s c in s x y x y x y x y v v v A X Y B C K D v v v v v v v v v t t t u v c out Programmable Modules

DESIGN WITH FPGAs INVOLVES INTENSIVE USE OF CAD TOOLS AND MODULE LIBRARIES Design entry : A SCHEMATIC ENTRY OR A BEHAVIORAL DESCRIPTION Implementation : PARTITION OF DESIGN INTO SUBMODULES THAT CAN BE MAPPED ONTO clbs, PLACEMENT OF SUBMODULES ONTO CHIP, AND ROUTING OF SIGNALS TO CONNECT THE SUBMODULES Design verification : IN-CIRCUIT TESTING SIMULATION, AND TIMING ANALYSIS Programmable Modules