Address Decoding Outline Goal Reading Address Decoding Strategy

Slides:



Advertisements
Similar presentations
Sistemas Digitais I LESI - 2º ano Lesson 9 - Memory, CPLDs and FPGAs U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes
Advertisements

Lecture 15 Finite State Machine Implementation
Overview Programmable Implementation Technologies (section 6.8)
Programmable Logic PAL, PLA.
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
Memory & IO Interfacing to CPU
1 Homework Reading –Tokheim, Chapter 12-1 through 12-4 Machine Projects –MP4 due at start of next class Labs –Continue with your assigned section.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Microprocessor System Design. Outline Address decoding Chip select Memory configurations.
Programmable Logic Devices
©2004 Brooks/Cole FIGURES FOR CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES Click the mouse to move to the next page. Use the ESC key.
CPEN Digital System Design
Parity. 2 Datasheets TTL:  CMOS: 
Chapter 6 – Selected Design Topics Part 4 – Programmable Implementation Technologies Logic and Computer Design Fundamentals.
Memory and Programmable Logic
Overview Memory definitions Random Access Memory (RAM)
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
Programmable logic and FPGA
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
Digital Design – Physical Implementation Chapter 7 - Physical Implementation.
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
Chapter 6 Memory and Programmable Logic Devices
University of Tehran 1 Microprocessor System Design Omid Fatemi Memory Interfacing
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 13 – Programmable.
9/20/6Lecture 3 - Instruction Set - Al1 Address Decoding for Memory and I/O.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Memory and Programmable Logic
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
Microprocessor Address Decoding.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Address Decoding Memory/IO.
BASIC INPUT AND OUTPUT INTERFACING.  8085A communicate with outside world using the I/O devices.  Since memory and I/O devices share the system bus,
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
CSET 4650 Field Programmable Logic Devices
Field-programmable logic devices FPLA circuits –Packaged PLA components with a fuse at every diode in both the AND and OR sections, that can be configured.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /10/2013 Lecture 5: Combinational Logic Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE.
Programmable Logic Devices
Khaled A. Al-Utaibi  Memory Interface and the 3 Buses  Interfacing the 8088 Processor  Interfacing the 8086 Processor  Interfacing.
Chapter
1 Building Larger Circuits Today: Combinational Building BlocksFirst Hour: Combinational Building Blocks –Section 4.1 of Katz’s Textbook –In-class Activity.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
IC design options PLD (programmable logic device)
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-5 Combinational Functional Blocks 3-6 Rudimentary Logic Functions 3-7 Decoding.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
ECE 3110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
Objectives : At the end of this lesson, students should be able to : i.Identify the types of memory chip and their functions. ii.Define the difference.
Programmable Logic Devices
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
Memory and Programmable Logic
ETE Digital Electronics
Digital Design Lecture 14
Computer Architecture & Operations I
Computer Architecture & Operations I
Logic and Computer Design Fundamentals
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
Interfacing Memory Interfacing.
FIGURE 7.1 Conventional and array logic diagrams for OR gate
حافظه و منطق قابل برنامه ریزی
حافظه و منطق قابل برنامه ریزی
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
MICROPROCESSOR MEMORY ORGANIZATION
Programmable Configurations
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Presentation transcript:

Address Decoding Outline Goal Reading Address Decoding Strategy Full Address Decoding Partial Address Decoding Block Address Decoding Address Decoder Design Goal Understand address decoding schemes Understand address decoder design Reading Microprocessor Systems Design, Clements, Ch. 5.1-5.2

Address Decoding Strategy Map memory to address locations “memory” can be peripheral Implement mapping the address decoder Block mapping memory block spans consecutive addresses feed low-order address bits to chip address inputs memory block is aligned decode high-order bits for chip selects deselected chip tristates data I/O memory block chip selects must be mutually exclusive otherwise chips will fight data bus during read cycle multiple locations will be written on write cycle

Full Address Decoding Each memory location corresponds to one address no “don’t care” address bits must decode all address bits use all high-order bits to control chip selects all low-order bits go to chip address inputs Example 2 2Kx16 memory chips at $000000-$000FFE and $001000-$001FFE - word addresses A23-A12 = 000000000000 for first block select A23-A12 = 000000000001 for second block select A11-A01 - feed into chip address inputs

Full Addressing Example Memories 10KW ROM 2KW block (ROM1) + 8KW block (ROM2) 2KW RAM 2 words for peripheral 1 (PERI1) 2 words for peripheral 2 (PERI2) Mapping make aligned blocks arbitrary location except ROM1 start at $000000 for reset ROM1 at $000000-$000FFE ROM2 at $00400-$007FFE RAM at $001000-$001FFE PERI1 at $008000-$008002 PERI2 at $008004-$008006

Partial Address Decoding Some address lines not decoded “don’t care” values multiple addresses have same decoding example - 2 2Kx16 memories use A23 to select memory memories are mapped multiple times in memory Advantage cheap Disadvantage multiple mapping - accidental illegal memory access should just have bus error instead

Partial Decoding Example decode high order bits (by convention) feed low order bits to chip address inputs don’t care about middle bits Decoding ROM1 select at A23-A21 = 000 RAM select at A23-A21 = 001 ROM2 select at A23-A22 = 01 PERI1 select at A23-A22 = 10 PERI2 select at A23-A22 = 11 Better scheme - less address space waste ROM1 select at A23-A20 = 0000 RAM select at A23-A20 = 0001 ROM2 select at A23-A21 = 001 PERI1 select at A23-A21 = 010 PERI2 select at A23-A21 = 011 nothing when A23 = 1

Block Address Decoding Divide address space into blocks Fully decode each block using high order bits single-chip decoders available e.g. 4 to 16-line decoder - divide space into 16 blocks 512KB blocks for 68000 Optionally subdivide within block by cascading decoder chips with more address inputs Feed some low-order address bits to chip address inputs Put memory device at each block start

Mixed Decoding Schemes Full address decoding for large block e.g. decode A23-A17 for 64KB block Block decoding within block divide 64KB into 16 4KB blocks using A16-A13 and full decoder enable Partial decoding within subblock e.g. locate PERI1 and PERI2 within a 4KB block Goals minimize address space waste minimize decoder cost, time delay

Address Decoder Design Approaches random logic m-to-n-line decoder PROM programmable logic array (PLA) programmable array logic (PAL) field programmable gate array (FPGA) Issues cost chip count speed ease of modification

Random Logic Implement decoding in SSI gates Fast boolean function to recognize address Fast Could take many chips Not easily modified Best suited for very simple partial decode Not used in most systems

M-To-N-Line Decoder Convert m-bit binary code to one of n outputs n = 2m Common types 74LS154 - 4-to-16-line decoder 74LS138 - 3-to-8-line decoder 74LS139 - dual 2-to-4-line decoder active low outputs since memory chip selects are active low often have additional enable inputs permits decoders to be cascaded output of one enables another Issue time delay in cascade feed AS* into last set of decoders

74LS138 Example 4 4Kword ROM blocks starting at $000000 8 1Kword RAM blocks starting at $020000 8 peripherals using 8 words in the range $010000 to $01007F Used some NOR gates to save some decoders Delay to last enable is IC1a NOR + IC2 decode + IC4 enable delays enable delay is usually faster than decode delay if faster than address to AS* delay, then total delay is only AS* enable delay of final 74LS138 chips address to AS* delay is > 30ns on 68000

PROM Decoding PROM = programmable ROM m address inputs p data outputs Chip select input Put 1 of 2m p-bit words on output when selected a lookup table must implement decoding truth table directly Problem decoding lots of address bits => big PROM 2KB blocks requires a 64 Kbit PROM for 68000 But very flexible

PROM Decoding Example Minimum space per ROM/ROM now 2KB, fully decoded, can expand to 8KB 2KB peripheral space divided into 8 peripherals ROM1 - 2 2Kx8 at $000000-$000FFF ROM2 - 2 2Kx8 at $001000-$001FFF ROM3 - 2 2Kx8 at $002000-$002FFF RAM1 - 4 1Kx4 at $00C000-$00C7FF PERI1 - 256 bytes at $00E000-$00E0FF PERI2 - 256 bytes at $00E100-$00E1FF PERI3 - 256 bytes at $00E200-$00E2FF

PROM Decoding Example (cont.) PROM outputs tristate when chip deselected use resistor pullups so outputs go high then this deselects memories Use random logic to decode A23-A16 = $00 Use PROM to RAM/ROM and peripheral pages Use 74LS138 to decode within peripheral page note: must access peripheral page synchronously put 8-bit peripherals on upper byte Use additional decoders for upper/lower ROM byte select during read

FPGA Decoding FPGA != FPGA Generate n different products of m bits FPGA in this chapter not the same as Xilinx or Actel bag of programmable gates here FPGA means a programmable m-to-n-line decoder Generate n different products of m bits 82S103 - 9 products of 16 bits can address 256 byte blocks in 24-bit address space can have “don’t care” bits in products be careful outputs are mutually exclusive if used directly as chip enable

PLA Decoding PLA - programmable logic array FPLA - field programmable logic array n inputs, k products, m outputs can form k different products of n inputs can form m different sums of the products can have “don’t care” bits in products an FPGA with an OR matrix to form sums of products

PAL Decoding PAL - programmable array logic PLA with fixed OR plane each product can only participate in some outputs each output can use only some products usually adequate for decoding faster, cheaper variety of OR plane designs available

ColdFire Chip Select Logic CS address decode is essentially a software-programmable PROM for 8 blocks Base Address Register (CSCR) matches against A<31:16> sets base address of decoded memory block Mask Register (CSMR) CSMR<31:16> is base address mask (BAM) BAM bit = 1 means same bit in CSCR is don’t care don’t care means do not consider in match Example CSCR = $4000 = 0100 0000 0000 0000 - 64 KB block BAM = $0003 = 0000 0000 0000 0011 address checked is 0100 0000 0000 00XX - 256 KB block