1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory and Peripheral Busses October 22nd, 2013 Slides.

Slides:



Advertisements
Similar presentations
1 IP-Based System-on-Chip Design 2002 IP Reuse Hardening via Embedded Sugar Assertions Erich Marschner 1, Bernard Deadman 2, Grant Martin 1 1 Cadence Design.
Advertisements

1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
ARM Based microcontrollers Asst. Prof. Dr. Alper ŞİŞMAN.
Computer Science & Engineering
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Guest Lecturer Pat Pannuto Lecture 10: Serial buses Oct 6, 2011.
S&IP Consortium Course Material On-Chip Bus Speaker: Tian-Sheuan Chang July, 2004.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 21, 2010.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 6: AHB-Lite, Interrupts (1) September 18, 2014 Slides developed.
The ARM7TDMI Hardware Architecture
Lecture 8 Lecture 8: CoreConnect and The PLB Bus ECE 412: Microcomputer Laboratory.
Performance Analysis of Different Arbitration Algorithms of the AMBA AHB Bus Massimo Conti, Marco Caldari, Giovanni B. Vece, Simone Orcioni, Claudio Turchetti.
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
An Automatic AMBA Wrapper Generation Tool for Embedded Cores Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 4: Memory-Mapped I/O, Bus Architectures January 20, 2015.
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
CPU Chips The logical pinout of a generic CPU. The arrows indicate input signals and output signals. The short diagonal lines indicate that multiple pins.
COMP3221 lec31-mem-bus-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 32: Memory and Bus Organisation - II
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 10: Serial buses Oct 6, 2011.
ARM Processor Architecture
SOC Design Lecture 4 Bus and AMBA Introduction.
Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 11/06/20141Input/Output.
OCP: Open Core Protocol Marta Posada ESA/ESTEC June 2006.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 20, 2011.
ECE 456 Computer Architecture
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 13.
On Chip Bus National Taiwan University
Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 6: Interrupts January 30 th Slides developed in part by Prof.
Chapter 6 FPGA Modules and Hardware Interface Design Professor Tzyy-Kuen Tien
Unit-III Pipelined Architecture. Basic instruction cycle 6/4/2016MDS_SCOE_UNIT32.
EEE440 Computer Architecture
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 4: Bit of ssembly, Memory-mapped I/O, APB January 21, 2014.
SOC Consortium Course Material On Chip Bus National Taiwan University Adopted from National Taiwan University SOC Course Material.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
EECS 373 Design of Microprocessor-Based Systems Prabal Dutta
EECS 373 Design of Microprocessor-Based Systems Mark Brehob
EECS 373 Design of Microprocessor-Based Systems Prabal Dutta
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Bus Protocols and Interfacing Bus basics I/O transactions MPC555 bus Reference:
MACHINE CYCLE AND T-STATE
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7,
ECE 699: Lecture 6 AXI Interfacing Using DMA & AXI4-Stream.
SOC Design Lecture 5 AMBA Signals. Youpyo DGU AMBA Bus Types.
Networked Embedded Systems Sachin Katti & Pengyu Zhang EE107 Spring 2016 Lecture 9 Serial Buses – SPI, I2C.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
Presented By Aditya Dayal ITM University, Gwalior.
System on a Programmable Chip (System on a Reprogrammable Chip)
AMBA® 3 AHB-Lite Protocol
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory accesses in C Memory and Peripheral Busses PCB.
Slides developed in part by Mark Brehob & Prabal Dutta
16.317: Microprocessor System Design I
CPU Sequencing 6/30/2018.
ME2100 EMBEDDED SYSTEM DESIGN (ARM9™) [Slide 8] ARM AMBA Bus BY DREAMCATCHER
Formally capturing the structure of bus specifications
EECS 373 Design of Microprocessor-Based Systems Mark Brehob
Slides developed in part by Prof. Dutta & Dreslinski
Burst read Valid high until ready high
EECS 373 Design of Microprocessor-Based Systems Mark Brehob
SOC Design Lecture 4 Bus and AMBA Introduction.
CPU Sequencing 7/20/2019.
EECS 373 Design of Microprocessor-Based Systems Prabal Dutta
Presentation transcript:

1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory and Peripheral Busses October 22nd, 2013 Slides developed in part by Prof. Dutta

2 Announcements Extra credit for Hub classes –It’s a small amount –Classes are worthwhile! sent to class about 373 practice talks –Please have your group scheduled or let me know you can’t by the end of the week Exams returned at end of class –Need to quit 10 minutes early

Outline AHB bus Serial communication and digital logic design problem (time allowing, on board) 3

Modern embedded systems have multiple busses 4 Atmel SAM3U Historical 373 focus Expanded 373 focus

5 Why have so many busses? Many designs considerations –Master vs Slave –Internal vs External –Bridged vs Flat –Memory vs Peripheral –Synchronous vs Asynchronous –High-speed vs low-speed –Serial vs Parallel –Single master vs multi master –Single layer vs multi layer –Multiplexed A/D vs demultiplexed A/D Discussion: what are some of the tradeoffs?

Advanced Microcontroller Bus Architecture (AMBA) - Advanced High-performance Bus (AHB) - Advanced Peripheral Bus (APB) AHB High performance Pipelined operation Burst transfers Multiple bus masters Split transactions APB Low power Latched address/control Simple interface Suitable of many peripherals 6

7 Actel SmartFusion system/bus architecture

8 AHB-Lite supports single bus master and provides high-bandwidth operation Burst transfers Single clock-edge operation Non-tri-state implementation Configurable bus width Most figures in this section from AMBA 3 AHB-Lite Protocol v1.0 You have to register with ARM (trivial) for this, we can’t post it.

9 AHB-Lite bus master/slave interface Global signals –HCLK –HRESETn Master out/slave in –HADDR (address) –HWDATA (write data) –Control HWRITE HSIZE HBURST HPROT HTRANS HMASTLOCK Slave out/master in –HRDATA (read data) –HREADY –HRESP

10 AHB-Lite signal definitions Global signals –HCLK: the bus clock source (rising-edge triggered) –HRESETn: the bus (and system) reset signal (active low) Master out/slave in –HADDR[31:0]: the 32-bit system address bus –HWDATA[31:0]: the system write data bus –Control HWRITE: indicates transfer direction (Write=1, Read=0) HSIZE[2:0]: indicates size of transfer (byte, halfword, or word) HBURST[2:0]: burst transfer size/order (1, 4, 8, 16 beats or undefined) HPROT[3:0]: provides protection information (e.g. I or D; user or handler) HTRANS: indicates current transfer type (e.g. idle, busy, nonseq, seq) HMASTLOCK: indicates a locked (atomic) transfer sequence Slave out/master in –HRDATA[31:0]: the slave read data bus –HREADY: indicates previous transfer is complete –HRESP: the transfer response (OKAY=0, ERROR=1)

11 Key to timing diagram conventions Timing diagrams –Clock –Stable values –Transitions –High-impedance Signal conventions –Lower case ‘n’ denote active low (e.g. RESETn) –Prefix ‘H’ denotes AHB –Prefix ‘P’ denotes APB

12 Basic read and write transfers with no wait states Pipelined Address & Data Transfer

13 Read transfer with two wait states Two wait states added by slave by asserting HREADY low Valid data produced

14 Write transfer with one wait state One wait state added by slave by asserting HREADY low Valid data held stable

15 Wait states extend the address phase of next transfer One wait state added by slave by asserting HREADY low Address stage of the next transfer is also extended

16 Transfers can be of four types (HTRANS[1:0]) IDLE (b00) –No data transfer is required –Slave must OKAY w/o waiting –Slave must ignore IDLE BUSY (b01) –Master inserts idle cycles in a burst (wait states) –Burst will continue afterward –Address/control reflects next transfer in burst –Slave must OKAY w/o waiting –Slave must ignore BUSY NONSEQ (b10) –Indicates single transfer or first transfer of a burst –Address/control unrelated to prior transfers SEQ (b11) –Remaining transfers in a burst –Addr = prior addr + transfer size

HTRANS 17

18 A four beat burst with master busy and slave wait One wait state added by slave by asserting HREADY low Master busy indicated by HTRANS[1:0]

19 Controlling the size (width) of a transfer HSIZE[2:0] encodes the size The cannot exceed the data bus width (e.g. 32-bits) HSIZE + HBURST is determines wrapping boundary for wrapping bursts HSIZE must remain constant throughout a burst transfer

20 Controlling the burst beats (length) of a transfer Burst of 1, 4, 8, 16, and undef number of beats HBURST[2:0] encodes the type Incremental burst Wrapping bursts –4 beats x 4-byte words wrapping –Wraps at 16 byte boundary –E.g. 0x34, 0x38, 0x3c, 0x30,… Bursts must not cross 1KB address boundaries

21 A four beat wrapping burst (WRAP4)

22 A four beat incrementing burst (INCR4)

23 An eight beat wrapping burst (WRAP8)

24 An eight beat incrementing burst (INCR8) using half-word transfers

25 An undefined length incrementing burst (INCR)

26 Multi-master AHB-Lite requires a multi-layer interconnect AHB-Lite is single-master Multi-master operation –Must isolate masters –Each master assigned to layer –Interconnect arbitrates slave accesses Full crossbar switch often unneeded –Slaves 1, 2, 3 are shared –Slaves 4, 5 are local to Master 1

27 Questions? Comments? Discussion?

Exam Median: 76.5, Stdev: 12.0, Max 92.5, Min 46. –9 200 – – – –5 985 –4 776 Approximate grades (if this were the sole basis for your grade) –82+ A- to A+ –67-81B- to B+ –54-67C to C+ –<54C- or lower 28