Implementing a Read/Write Memory Module Inputs: • 2 Address Bits: A0 and A1 • 1 “Chip Select” (CS) Bit • 1 Read/Write Bit (1 = Read; 0 = Write) • 1 Clock Signal (CLK)

Implementing a Read/Write Memory Module Inputs: • 2 Address Bits: A0 and A1 • 1 “Chip Select” (CS) Bit • 1 Read/Write Bit (1 = Read; 0 = Write) • 1 Clock Signal (CLK)

Implementing A Read/Write Memory Module Inputs: • 2 Address bits: A0 and A1 • 1 “chip select” (CS) bit • 1 read/write bit (1 = read; 0 = write) • 1 clock signal (CLK) Input or Output: • Data bit (connected to the “data bus”) Andrew H. Fagg: Embedded 1 Real-Time Systems: Computer Arch Implementing A Read/Write Memory Module With 2 address bits, how many memory elements can we address? How could we implement each memory element? Andrew H. Fagg: Embedded 2 Real-Time Systems: Computer Arch Implementing A Read/Write Memory Module With 2 address bits, how many memory elements can we address? • 4 1-bit elements How could we implement each memory element? • With a D flip-flop Andrew H. Fagg: Embedded 3 Real-Time Systems: Computer Arch Memory Module Specification When chip select is low: • No memory elements change state • The memory does not drive the data bus Andrew H. Fagg: Embedded 4 Real-Time Systems: Computer Arch Memory Module Specification When chip select is high: • If R/W is high: – Drive the data bus with the value that is stored in the element specified by A1, A0 • If R/W is low: – Store the value that is on the data bus in the element specified by A1, A0 Andrew H. Fagg: Embedded 5 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 R/W CS CLK D Andrew H. Fagg: Embedded 6 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 R/W CS CLK Data bus not driven D Andrew H. Fagg: Embedded 7 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 Memory element 2 is initially in a high state R/W CS CLK D Andrew H. Fagg: Embedded 8 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 What happens next? R/W CS CLK D Andrew H. Fagg: Embedded 9 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 R/W Chip is selected CS CLK D Andrew H. Fagg: Embedded 10 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 Address memory element 2 R/W CS CLK D Andrew H. Fagg: Embedded 11 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 R/W Specify a write operation CS CLK Data bus is driven low D (by another device) Andrew H. Fagg: Embedded 12 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 A0 R/W CS CLK Clock goes low D Andrew H. Fagg: Embedded 13 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 Memory element 2 A1 changes state to low A0 R/W CS CLK D Andrew H. Fagg: Embedded 14 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 Setup time: all A0 inputs must be valid R/W during this time CS CLK D Andrew H. Fagg: Embedded 15 Real-Time Systems: Computer Arch Memory Timing Diagram Q2 A1 Hold time: all inputs A0 must continue to be R/W valid CS CLK D Andrew H. Fagg: Embedded 16 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 A1 A0 R/W CS CLK D Andrew H. Fagg: Embedded 17 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 A1 A0 R/W CS CLK D Data bus is not driven Andrew H. Fagg: Embedded 18 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 A1 A0 R/W What happens next? CS CLK D Andrew H. Fagg: Embedded 19 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 A1 A0 On chip select – drive data bus from R/W Q2 CS CLK D Andrew H. Fagg: Embedded 20 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 What happens A1 now? A0 R/W CS CLK D Andrew H. Fagg: Embedded 21 Real-Time Systems: Computer Arch Memory Timing Diagram II Q2 A1 A0 Data bus returns to a R/W non-driven CS state CLK D Andrew H. Fagg: Embedded 22 Real-Time Systems: Computer Arch Next Time • Memory implementation • Microprocessor architecture – Processor components – Timing and control • The Atmel microprocessor • Reading: make sure you have read 3.1- 3.2 Andrew H. Fagg: Embedded 23 Real-Time Systems: Computer Arch Last Time • Arithmetic – Inversion – Addition – Subtraction – Multiplication • Memory chip specification Andrew H. Fagg: Embedded 24 Real-Time Systems: Computer Arch Today • Sequential counter design • Memory design • Processor components Andrew H. Fagg: Embedded 25 Real-Time Systems: Computer Arch Administrivia • Homework 1: – All but question 7 due today at 5:00 – Question 7 is due Friday at 5:00 • Homework 2: – Available on the website by the end of the day Andrew H. Fagg: Embedded 26 Real-Time Systems: Computer Arch Counter Design What is the fundamental problem with our ripple counter? Andrew H. Fagg: Embedded 27 Real-Time Systems: Computer Arch Counter Design What is the fundamental problem with our ripple counter? • The state of the different output lines does not change at the same time – There is a small delay as the carry moves from one flip-flop to the next Andrew H. Fagg: Embedded 28 Real-Time Systems: Computer Arch Synchronous Counter Design We would like to change things such that all of the outputs change on the downward edge of the clock • What is the fundamental insight in our fix? Andrew H. Fagg: Embedded 29 Real-Time Systems: Computer Arch Synchronous Counter Design What is the fundamental insight in our fix? • We want the clock to be delivered to all of the flip-flops (not just the first flip-flop) Key: we will gate the clock signal arriving to each of the flip-flops Andrew H. Fagg: Embedded 30 Real-Time Systems: Computer Arch Gating the Clock Under what conditions do we want X1 to change state? – (X1 is the 2nd bit) Andrew H. Fagg: Embedded 31 Real-Time Systems: Computer Arch Gating the Clock Under what conditions do we want X1 to change state? • When X0 is high • (and when the clock transitions from high to low) Andrew H. Fagg: Embedded 32 Real-Time Systems: Computer Arch Gating the Clock Under what conditions do we want X2 to change state? Andrew H. Fagg: Embedded 33 Real-Time Systems: Computer Arch Gating the Clock Under what conditions do we want X2 to change state? • When both X0 and X1 are high • (and when the clock transitions from high to low) Andrew H. Fagg: Embedded 34 Real-Time Systems: Computer Arch Gating the Clock What do these observations say about our design? Andrew H. Fagg: Embedded 35 Real-Time Systems: Computer Arch Last Time(s) • Memory specification • Synchronous counter design Andrew H. Fagg: Embedded 36 Real-Time Systems: Computer Arch Today • Memory module design • Microprocessor design Andrew H. Fagg: Embedded 37 Real-Time Systems: Computer Arch Administrivia • Project 1 due Tuesday – Demo must be done by class time – Group report: due @5:00. Only one copy required. Will accept hardcopy, M$Word, etc – Personal report: due @5:00. Hand-in using blackboard. Raw text only! • Homework 1: solutions • Homework 2: is available from the web site Andrew H. Fagg: Embedded 38 Real-Time Systems: Computer Arch Synchronous Counter Design CLK0 always follows CLK Andrew H. Fagg: Embedded 39 Real-Time Systems: Computer Arch Synchronous Counter Design CLK1 follows CLK when X0 is high Andrew H. Fagg: Embedded 40 Real-Time Systems: Computer Arch Synchronous Counter Design CLK2 follows CLK when X0 and X1 are high Andrew H. Fagg: Embedded 41 Real-Time Systems: Computer Arch Synchronous Counter Design AND gate introduces a delay that is equivalent to the other delays Andrew H. Fagg: Embedded 42 Real-Time Systems: Computer Arch Recall: A Read/Write Memory Module Inputs: • 2 Address bits: A0 and A1 • 1 “chip select” (CS) bit • 1 read/write bit (1 = read; 0 = write) • 1 clock signal (CLK) Input or Output: • Data bit (connected to the “data bus”) Andrew H. Fagg: Embedded 43 Real-Time Systems: Computer Arch Recall: Memory Module Specification When chip select is low: • No memory elements change state • The memory does not drive the data bus Andrew H. Fagg: Embedded 44 Real-Time Systems: Computer Arch Recall: Memory Module Specification When chip select is high: • If R/W is high: – Drive the data bus with the value that is stored in the element specified by A1, A0 • If R/W is low: – Store the value that is on the data bus in the element specified by A1, A0 Andrew H. Fagg: Embedded 45 Real-Time Systems: Computer Arch Memory Implementation How do we build one? Andrew H. Fagg: Embedded 46 Real-Time Systems: Computer Arch Memory Implementation How do we build one? 1. Focus on the behavior of a single bit of memory 2. Replicate this bit and add control/selection logic Andrew H. Fagg: Embedded 47 Real-Time Systems: Computer Arch Memory Implementation Behavior of a single bit of memory • Input specifies whether the memory should stay the same or copy the value from the data bus • Copy happens on downward clock edge What does this circuit look like? Andrew H. Fagg: Embedded 48 Real-Time Systems: Computer Arch Memory Cell “cell control line” Andrew H. Fagg: Embedded 49 Real-Time Systems: Computer Arch Memory Cell Nothing happens until the downward side of the clock Andrew H. Fagg: Embedded 50 Real-Time Systems: Computer Arch Memory Cell What happens? 0 1->0 Andrew H. Fagg: Embedded 51 Real-Time Systems: Computer Arch Memory Cell D receives the 0 input from Q: so no change 1->0 Andrew H. Fagg: Embedded 52 Real-Time Systems: Computer Arch Memory Cell How about now? 1 1->0 Andrew H.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    131 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us