EE382V: System-on-a-Chip (SoC) Design

Similar documents
OpenComRTOS: Formally developed RTOS for Heterogeneous Systems

Scalable Runtime Support for Data-Intensive Applications on the Single-Chip Cloud Computer

Multi/many core in Avionics Systems

Applicability / Compatibility of STPA with FAA Regulations & Guidance. First STAMP/STPA Workshop. Federal Aviation Administration

Bringing hardware affinity information into MPI communication strategies

Wrapper Instruction Register (WIR) Specifications

EE382N.23: Embedded System Design and Modeling

EE382V: Embedded System Design and Modeling

EE382N: Embedded System Design and Modeling

Punt Policing and Monitoring

Airline Schedule Development Overview Dr. Peter Belobaba

A Survey of Time and Space Partitioning for Space Avionics

Integrated Modular Avionics. The way ahead for aircraft computing platforms?

Dark Ride Application IO Control

Abstract. Introduction

Cyber-hijacking Airplanes:

EE382M.20: System-on-Chip (SoC) Design

Efficiency and Automation

An Analysis of Dynamic Actions on the Big Long River

UC Berkeley Working Papers

Airport IT Are you ready for the future

Schedule Compression by Fair Allocation Methods

FOR INDUSTRIAL ROBOTIC APPLICATIONS

ATTEND Analytical Tools To Evaluate Negotiation Difficulty

1224 Splitter and CTO combo, setup instructions using the Panelview HMI

American Airlines Next Top Model

PSS Integrating 3 rd Party Intelligent Terminal. Application Note. Date December 15, 2009 Document number PSS5000/APNO/804680/00

Driving STM32 to success STM32 services for sophisticated embedded applications

EE382V: Embedded System Design and Modeling

Hiway Gateway Specification and Technical Data

Verizon Select Services Inc. Massachusetts D.P.U. Tariff No. 2 Original Page 105 SECTION 7 - GOVERNMENT AGENCY SERVICE

Transportation Timetabling

Progressive Technology Facilitates Ground-To-Flight-Deck Connectivity

Aircraft Arrival Sequencing: Creating order from disorder

TWELFTH AIR NAVIGATION CONFERENCE

Special edition paper Development of a Crew Schedule Data Transfer System

Price-Setting Auctions for Airport Slot Allocation: a Multi-Airport Case Study

EE382V: Embedded System Design and Modeling

# 1 in ease-of-use. Guest Service Interconnectivity. Made by hoteliers, for hoteliers.

A New Way to Work in the ERCOT Market

Autonomic Thread Scaling Library for QoS Management

International Conference on Integrated Modular Avionics Moscow

ICFP programming contest 2017 Lambda punter (1.3)

SPADE-2 - Supporting Platform for Airport Decision-making and Efficiency Analysis Phase 2

Monitoring & Control Tim Stevenson Yogesh Wadadekar

Evaluation of Alternative Aircraft Types Dr. Peter Belobaba

Multicore Processing in the Avionics Industry Needs and Concerns April 21, 2017 Greg Arundale Rockwell Collins

HOTEL ROOM MANAGEMENT SYSTEM OVERVIEW

Introduction Runways delay analysis Runways scheduling integration Results Conclusion. Raphaël Deau, Jean-Baptiste Gotteland, Nicolas Durand

Table of Content. Table of Contents Mobile Experts LLC. All Rights Reserved. 1

Discrete-Event Simulation of Air Traffic Flow

FACILITATION (FAL) DIVISION TWELFTH SESSION. Cairo, Egypt, 22 March to 2 April 2004

Airport Departure Flow Management System (ADFMS) Architecture. SYST 798 / OR 680 April 22, Project Sponsor: Dr. Lance Sherry, CATSR

SATELLITE CAPACITY DIMENSIONING FOR IN-FLIGHT INTERNET SERVICES IN THE NORTH ATLANTIC REGION

Enter here your Presentation Title 1

Use-Case Power Management Optimization Identifying & Tracking Key Power Indicators

Evaluation of Strategic and Tactical Runway Balancing*

INTERNATIONAL CIVIL AVIATION ORGANIZATION AFI REGION AIM IMPLEMENTATION TASK FORCE. (Dakar, Senegal, 20 22nd July 2011)

Appendix B Ultimate Airport Capacity and Delay Simulation Modeling Analysis

Table of Contents 2015 Mobile Experts LLC. All Rights Reserved. 1

A Piecewise Linear Approach to Overbooking

MIT ICAT. Robust Scheduling. Yana Ageeva John-Paul Clarke Massachusetts Institute of Technology International Center for Air Transportation

Measurement Based Analysis of the Handover in a WLAN MIPv6 Scenario

PRAJWAL KHADGI Department of Industrial and Systems Engineering Northern Illinois University DeKalb, Illinois, USA

A 3D simulation case study of airport air traffic handling

First Review Meeting of AFI VSAT Network Managers (AFI VSAT Review/1) (Dakar, Senegal, 3 to 5 October 2011) SUMMARY

CONSTELLATIONS' PERFORMANCE ANALYSIS AND SIMULATION FOR COCKPIT AND PASSENGERS AERONAUTICAL SERVICES

ANALYSIS OF THE CONTRIUBTION OF FLIGHTPLAN ROUTE SELECTION ON ENROUTE DELAYS USING RAMS

Amadeus Altéa Airport Link

Airfield Capacity Prof. Amedeo Odoni

2012 Performance Framework AFI

ONLINE DELAY MANAGEMENT IN RAILWAYS - SIMULATION OF A TRAIN TIMETABLE

ANDROID BUS TICKETING SYSTEM

Energy Networks Association

The organisation of the Airbus. A330/340 flight control system. Ian Sommerville 2001 Airbus flight control system Slide 1

UM1868. The BlueNRG and BlueNRG-MS information register (IFR) User manual. Introduction

Supplementary airfield projects assessment

Development of Flight Inefficiency Metrics for Environmental Performance Assessment of ATM

International Journal Of Electrical, Electronics And Data Communication, ISSN: ANDROID BUS TICKETING SYSTEM

ultimate traffic Live User Guide

BlueNRG Guideline From evaluation to production

MODAIR: Measure and development of intermodality at AIRport. INO WORKSHOP EEC, December 6 h 2005

Methodology and coverage of the survey. Background

Impact of Landing Fee Policy on Airlines Service Decisions, Financial Performance and Airport Congestion

C.A.R.S.: Cellular Automaton Rafting Simulation Subtitle

SERVICE NETWORK DESIGN: APPLICATIONS IN TRANSPORTATION AND LOGISTICS

Airline Boarding Schemes for Airbus A-380. Graduate Student Mathematical Modeling Camp RPI June 8, 2007

Kristina Ricks ISYS 520 VBA Project Write-up Around the World

Simulation of disturbances and modelling of expected train passenger delays

Route Planning and Profit Evaluation Dr. Peter Belobaba

Assignment of Arrival Slots

ECLIPSE USER MANUAL AMXMAN REV 2. AUTOMETRIX, INC. PH: FX:

A Statistical Method for Eliminating False Counts Due to Debris, Using Automated Visual Inspection for Probe Marks

Model Crosspoint Matrix

Ultramodern remote control technology for your patio comfort. Comfortable WeiTronic remote control.

Decentralized Path Planning For Air Traffic Management Wei Zhang

Mathematical modeling in the airline industry: optimizing aircraft assignment for on-demand air transport

CHAPTER 5 SIMULATION MODEL TO DETERMINE FREQUENCY OF A SINGLE BUS ROUTE WITH SINGLE AND MULTIPLE HEADWAYS

We make it fly. Digital Transformation in the Airspace industry powered by Internet of Things

Predicting flight routes with a Deep Neural Network in the operational Air Traffic Flow and Capacity Management system

Transcription:

EE382V: System-on-a-Chip (SoC) Design Lecture 12 SoC Communication Architectures Source: Sudeep Pasricha (Colorado State), Nikil Dutt (UC Irvine) On-Chip Communication Architectures, Morgan Kaufmann, 2008 Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 12: Outline Introduction Communication-centric design Bus-based architectures Topologies and structures Decoding, arbitration, transfer modes On-chip communication standards AMBA and AXI Networks-on-Chip (NoCs) Topologies, switching, routing EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 2 2014 A. Gerstlauer 1

Technology Scaling Trends (1) Total Interconnect Length on a Chip Highlights importance of interconnect design in future technologies EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 3 Technology Scaling Trends (2) Relative delay comparison of wires vs. process technology Increasing wire delay limits achievable performance 2014 A. Gerstlauer EE382V: SoC Design, Lecture 12 4 2014 A. Gerstlauer 2

Communication Trumps Computation µp µp Mem Bus Core 2 Core N Main Bus µp Core 1 Sub system I/O Bus SoCs Circa 2002 Critical Decision Was up Choice Exploding core counts requiring more advanced Interconnects EDA cannot solve this architectural problem easily Complexity too high to hand craft (and verify!) DRAMC SoCs Today Critical Decision Is Interconnect Choice Communication Architecture Design and Verification becoming Highest Priority in Contemporary SoC Design! Source: SONICS Inc. EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt 5 Communication-Centric Design Communication is THE most critical aspect affecting system performance Communication architecture consumes upto 50% of total on-chip power Ever increasing number of wires, repeaters, bus components (arbiters, bridges, decoders etc.) increases system cost Communication architecture design, customization, exploration, verification and implementation takes up the largest chunk of a design cycle Communication architectures significantly affect performance, power, cost and time-tomarket! EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 6 2014 A. Gerstlauer 3

On-Chip Communication Trends Evolution of on-chip communication architectures EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt 7 Bus-Based Architectures Buses are the simplest and most widely used SoC interconnection networks Bus: a collection of signals (wires) to which one or more IP components (which need to communicate data with each other) are connected Only one component can transfer data on the shared bus at any given time Microcontroller Digital Signal Processor Input/ Output Device Memory Bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 8 2014 A. Gerstlauer 4

Bus Terminology EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 9 Bus Terminology Master (or Initiator) IP component that initiates a read or write data transfer Slave (or Target) IP component that does not initiate transfers and only responds to incoming transfer requests Arbiter Controls access to the shared bus Uses arbitration scheme to select master to grant access to bus Decoder Determines which component a transfer is intended for Bridge Connects two busses Acts as slave on one side and master on the other EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 10 2014 A. Gerstlauer 5

Bus Signal Lines address lines data lines control lines A bus typically consists of three types of signal lines Address Carry address of destination for which transfer is initiated Can be shared or separate for read, write data Data Carry information between source and destination components Can be shared or separate for read, write data Choice of data width critical for application performance Control Requests and acknowledgements Specify more information about type of data transfer Byte enable, burst size, cacheable/bufferable, write-back/through, EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 11 Bus Physical Structure (1) Tri-state buffer based bidirectional signals Commonly used in off-chip/backplane buses + take up fewer wires, smaller area footprint - higher power consumption, higher delay, hard to debug EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 12 2014 A. Gerstlauer 6

Bus Physical Structure (2) AND-OR based signals 13 EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt Bus Physical Structure (3) MUX based signals Separate read, write channels EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 14 2014 A. Gerstlauer 7

Bus Clocking Synchronous Bus Includes a clock in control lines Fixed protocol for communication that is relative to clock Involves very little logic and can run very fast Require frequency converters across frequency domains EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 15 Bus Clocking Asynchronous Bus Not clocked Requires a handshaking protocol performance not as good as that of synchronous bus No need for frequency converters, but does need extra lines Does not suffer from clock skew like the synchronous bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 16 2014 A. Gerstlauer 8

Decoding and Arbitration Decoding Determines the target for any transfer initiated by a master Arbitration Decides which master can use the shared bus if more than one master request bus access simultaneously Decoding and Arbitration can either be Centralized Distributed EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 17 Centralized Decoding and Arbitration Minimal change is required if new components are added to the system EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 18 2014 A. Gerstlauer 9

Distributed Decoding and Arbitration + requires fewer signals compared to the centralized approach - more hardware duplication, more logic/area, less scalable 19 EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt Arbitration Schemes (1) Random Randomly select master to grant bus access to Static priority Masters assigned static priorities Higher priority master request always serviced first Can be pre-emptive (AMBA2) or non-preemptive (AMBA3) May lead to starvation of low priority masters Round-robin Masters allowed to access bus in a round-robin manner No starvation every master guaranteed bus access Inefficient if masters have vastly different data injection rates High latency for critical data streams EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 20 2014 A. Gerstlauer 10

Arbitration Schemes (2) TDMA Time division multiple access Assign slots to masters based on BW requirements If a master does not have anything to read/write during its time slots, leads to low performance Choice of time slot length and number critical Real-time worst-case latency guarantees (CAN bus) TDMA/RR Two-level scheme If master does not need to utilize its time slot, second level RR scheme grants access to another waiting master Better bus utilization Higher implementation cost for scheme (more logic, area) EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 21 Arbitration Schemes (3) Dynamic priority Dynamically vary priority of master during application execution Gives masters with higher injection rates a higher priority Requires additional logic to analyze traffic at runtime Adapts to changing data traffic profiles High implementation cost (several registers to track priorities and traffic profiles) Programmable priority Simpler variant of dynamic priority scheme Programmable register in arbiter allows software to change priority EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 22 2014 A. Gerstlauer 11

Bus Data Transfer Modes (1) Single non-pipelined transfer Simplest transfer mode first request for access to bus from arbiter on being granted access, set address and control signals Send/receive data in subsequent cycles EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 23 Bus Data Transfer Modes (2) Pipelined transfer Overlap address and data phases Only works if separate address and data busses are present EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 24 2014 A. Gerstlauer 12

Bus Data Transfer Modes (3) Non-pipelined burst transfer Send multiple data items, with only a single arbitration for entire transaction master must indicate to arbiter it intends to perform burst transfer Saves time spent requesting for arbitration EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 25 Bus Data Transfer Modes (4) Pipelined burst transfer Useful when separate address and data buses available Reduces data transfer latency EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 26 2014 A. Gerstlauer 13

Bus Data Transfer Modes (5) Split transfer If slaves take a long time to read/write data, it can prevent other masters from using the bus Split transfers improve performance by splitting a transaction Master sends read request to slave Slave relinquishes control of bus as it prepares data» Arbiter can grant bus access to another waiting master» Allows utilizing otherwise idle cycles on the bus When slave is ready, it requests bus access from arbiter On being granted access, it sends data to master Explicit support for split transfers required from slaves and arbiters (additional signals, logic) EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 27 Bus Data Transfer Modes (6) Out-of-Order transfer Allows multiple transfers from different masters, or even from the same master, to be SPLIT by a slave and be in progress simultaneously on a single bus Masters can initiate data transfers without waiting for earlier data transfers to complete Allows better parallelism, performance in buses Additional signals are needed to transmit IDs for every data transfer in the system Master interfaces need to be extended to handle data transfer IDs and be able to reorder received data Slave interfaces have out-of-order buffers for reads, writes, to keep track of pending transactions, plus logic for processing IDs Any application typically has a limited buffer size beyond which performance doesn t increase EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 28 2014 A. Gerstlauer 14

Bus Data Transfer Modes (7) Broadcast Transfer Every time a data item is transmitted over a bus, it is physically broadcast to every component on the bus Useful for snooping and cache coherence protocols Example: when several components on bus have a private cache fed from a single memory, a problem arises when the memory is updated when a cache line is written to memory by a component It is essential that private caches of the components on the bus invalidate (or update) their cache entries to prevent reading incorrect values Broadcasting allows address of the memory location (or cache line) being updated to be transmitted to all the components on the bus, so they can invalidate (or update) their local copies EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 29 Bus Topologies (1) Shared bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 30 2014 A. Gerstlauer 15

Bus Topologies (2) Hierarchical shared bus Improves system throughput Multiple ongoing transfers on different buses EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 31 Bus Topologies (3) Full crossbar/matrix bus (point to point) EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 32 2014 A. Gerstlauer 16

Bus Topologies (4) Partial crossbar/matrix bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 33 Bus Topologies (5) Ring bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 34 2014 A. Gerstlauer 17

Lecture 12: Outline Introduction Communication-centric design Bus-based architectures Topologies and structures Decoding, arbitration, transfer modes On-chip communication standards AMBA and AXI Networks-on-Chip (NoCs) Topologies, switching, routing EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 35 Standard Bus Architectures AMBA 2.0, 3.0 (ARM) CoreConnect (IBM) Sonics Smart Interconnect (Sonics) STBus (STMicroelectronics) Wishbone (Opencores) Avalon (Altera) PI Bus (OMI) MARBLE (Univ. of Manchester) CoreFrame (PalmChip) widely used EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 36 2014 A. Gerstlauer 18

AMBA 2.0 EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 37 Basic Transfer (1) Split ownership of Address and Data bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 38 2014 A. Gerstlauer 19

Basic Transfer (2) Data transfer with slave wait states EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 39 Pipelining Transaction pipelining increases bus bandwidth EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 40 2014 A. Gerstlauer 20

Mux-Based Architecture centralized arbitration / decode 1 unidirectional address bus (HADDR) 2 unidirectional data buses (HWDATA, HRDATA) At any time only 1 active data bus EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 41 Arbitration Arbiter HBREQ_M1 HBREQ_M2 HBREQ_M3 Arbitration protocol is specified, but not the policy EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 42 2014 A. Gerstlauer 21

Arbitration Timing Time for arbitration Time for handshaking EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 43 Pipelined Burst Transfers Bursts cut down on arbitration, handshaking time Improving performance EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 44 2014 A. Gerstlauer 22

Burst Types Fixed length bursts Incremental bursts access sequential locations e.g. 0x64, 0x68, 0x6C, 0x70 for INCR4, transferring 4 byte data Wrapping bursts wrap around address if starting address is not aligned to total no. of bytes in transfer e.g. 0x64, 0x68, 0x6C, 0x60 for WRAP4, transferring 4 byte data EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 45 Control Signals (1) Transfer direction HWRITE write transfer when high, read transfer when low Transfer size HSIZE[2:0] indicates the size of the transfer EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 46 2014 A. Gerstlauer 23

Control Signals (2) Protection control HPROT[3:0] - additional information about a bus access EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 47 Split Transfers Improves bus utilization May cause deadlocks if not carefully implemented EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 48 2014 A. Gerstlauer 24

Bus Matrix Topology In addition to shared bus and hierarchical bus, can be implemented as a bus matrix EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 49 - Bridge signals High performance Low power (and performance) EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 50 2014 A. Gerstlauer 25

State Diagram When wants to drive a transfer One cycle penalty for peripheral address decoding Transfer occurs here No (multi-cycle) bursts, pipelined transfers EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 51 AMBA 3.0 Introduces AXI high performance protocol Support for separate read address, write address, read data, write data, write response channels Out of order (OO) transaction completion Fixed mode burst support Useful for I/O peripherals Advanced system cache support Specify if transaction is cacheable/bufferable Specify attributes such as write-back/write-through Enhanced protection support Secure/non-secure transaction specification Exclusive access (for semaphore operations) Register slice support for high frequency operation EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 52 2014 A. Gerstlauer 26

vs. AXI Burst (1) Burst Address and Data are locked together (single pipeline stage) HREADY controls intervals of address and data AXI Burst One Address for entire burst EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 53 vs. AXI Burst (2) AXI Burst Simultaneous read, write transactions Better bus utilization EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 54 2014 A. Gerstlauer 27

AXI Out of Order Completion With If one slave is very slow, all data is held up SPLIT transactions provide very limited improvement With AXI Burst Multiple outstanding addresses Out of order (OO) completion allowed Fast slaves may return data ahead of slow slaves EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 55 Summary: vs. AXI EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 56 2014 A. Gerstlauer 28

JPEG Decoder Case Study Single layer AMBA bus ARM926EJ-S Core XB External Memory ARM Core Instruction Data RAM Static Memory Interface RAM0 IRQ FIQ SMI RAM1 Dual Master Port DMA Controller Display Controller DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset AMBA bus Input JPEG Interrupt Controller Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 57 Operation: JPEG Application on ARM XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 58 2014 A. Gerstlauer 29

Operation: ARM Boot XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 59 Operation: DMA and IC Initialization XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 60 2014 A. Gerstlauer 30

Operation: DMA Image Transfer XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 61 Operation: Huffman Decoding XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 62 2014 A. Gerstlauer 31

Operation: IDCT XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 63 Operation: Display XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 64 2014 A. Gerstlauer 32

Bus Contention? XB External Memory ARM Core Instruction Data RAM RAM0 Hint: Notice the number of masters accessing the bus DMA IRQ FIQ Slave Master1 SMI 2 _cfg RAM1 Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 65 Architecture 1 Contention and utilization problems due to ARM core and dual DMA activity XB External Memory ARM Core Instruction Data RAM RAM0 IRQ FIQ SMI RAM1 DMA Slave Master1 2 _cfg Display Master2 DMA_Int Interrupt Input Device Clock Gen. Reset Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 66 2014 A. Gerstlauer 33

Architecture 2 Multi-layer architecture Multiple busses Bus Matrix XB External Memory ARM Core Instruction Data RAM in0 I O out0 RAM0 IRQ FIQ in1 I O out2 SMI RAM1 4 DMA Slave Master1 Master2 in2 I O out1 3 2 _cfg Display DMA_Int 2 Interrupt Input Device Clock Gen. Reset Input and Output Stages Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 67 Architecture 3 Dual multi-layer architecture Single bus Bus Matrix XB External Memory ARM Core Instruction Data IRQ FIQ 2 RAM in0 in1 I I O out0 SMI RAM0 RAM1 Bus Matrix DMA Slave Master1 Master2 DMA_Int in2 in3 in4 I I I O O out1 out2 Interrupt _cfg Display Input Device Clock Gen. Reset Input and Output Stages Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 68 2014 A. Gerstlauer 34

Minimal Bus Contention? Configuration 2 Configuration 1 Configuration 3 Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 69 TLM Simulation Results DMA Contention CPU to Memory Contention Configuration 1 Single Configuration 2 3 with 1 Multi-layer Less DMA Contention No CPU to Memory Contention Configuration 3 Single with 2 Multilayers No Bus Contention Source: CoWare, Inc. EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 70 2014 A. Gerstlauer 35

Lecture 12: Outline Introduction Communication-centric design Bus-based architectures Topologies and structures Decoding, arbitration, transfer modes On-chip communication standards AMBA and AXI Networks-on-Chip (NoCs) Topologies, switching, routing EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 71 Networks-on-Chip (NoCs) A Network-on-chip (NoC) is a packet switched on-chip communication network designed using a layered methodology routes packets, not wires NoCs use packets to route data from the source to the destination PE via a network fabric that consists of switches (routers) interconnection links (wires) EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 72 2014 A. Gerstlauer 36

Networks-on-Chip (NoCs) NoCs are an attempt to scale down the concepts of largescale networks, and apply them to the embedded system-on-chip (SoC) domain NoC Properties Regular geometry that is scalable Flexible QoS guarantees Higher bandwidth Reusable components Buffers, arbiters, routers, protocol stack No long global wires (or global clock tree) No problematic global synchronization GALS: Globally asynchronous, locally synchronous design Reliable and predictable electrical and physical properties EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 73 NoC Topology (1) Direct Topologies Each node has direct point-to-point link to a subset of other nodes in the system called neighboring nodes E.g. Nostrum, SOCBUS, Proteo, Octagon Nodes consist of computational blocks and/or memories, as well as a NI block that acts as a router As the number of nodes in the system increases, the total available communication bandwidth also increases Fundamental trade-off is between connectivity and cost EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 74 2014 A. Gerstlauer 37

NoC Topology (2) Most direct network topologies have an orthogonal implementation, where nodes can be arranged in an n- dimensional orthogonal space Routing for such networks is fairly simple E.g. n-dimensional mesh, torus, folded torus, hypercube, and octagon 2D mesh is most popular topology All links have the same length Eases physical design Area grows linearly with the number of nodes Must be designed in such a way as to avoid traffic accumulating in the center of the mesh 75 EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt NoC Topology (3) Torus topology, also called a k-ary n-cube, is an n- dimensional grid with k nodes in each dimension k-ary 1-cube (1-D torus) is essentially a ring network with k nodes Limited scalability as performance decreases when more nodes k-ary 2-cube (i.e., 2-D torus) topology is similar to a regular mesh Except that nodes at the edges are connected to switches at the opposite edge via wrap-around channels Long end-around connections can, however, lead to excessive delays EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 76 2014 A. Gerstlauer 38

NoC Topology (4) Folding torus topology overcomes the long link limitation of a 2-D torus Links have the same size Meshes and tori can be extended by adding bypass links to increase performance at the cost of higher area 77 EE382V: SoC Design, Lecture 12 2008 Sudeep 2014 Pasricha A. Gerstlauer & Nikil Dutt Other NoC Topologies Tree (indirect) Butterfly (indirect) Octagon (direct) Irregular, EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 78 2014 A. Gerstlauer 39

Switching & Routing Determine how data flows through routers in the network Define granularity of data transfer and applied switching technique Phit (physical control digit) is a unit of data that is transferred on a link in a single cycle Flit (flow control digit) is unit of switching Typically, phit size = flit size EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 79 Switching Strategies (1) Two main modes of transporting flits in a NoC are circuit switching and packet switching Circuit switching Physical path between the source and the destination is reserved prior to the transmission of data Message header flit traverses the network from the source to the destination, reserving links along the way Advantage: low latency transfers, once path is reserved Disadvantage: pure circuit switching does not scale well with NoC size Several links are occupied for the duration of the transmitted data, even when no data is being transmitted» For instance in the setup and tear down phases EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 80 2014 A. Gerstlauer 40

Switching Strategies (2) Virtual circuit switching Creates virtual circuits that are multiplexed on links Number of virtual links (or virtual channels (VCs)) that can be supported by a physical link depends on buffers allocated to link Allocating one buffer per virtual link Depends on how virtual circuits are spatially distributed in the NoC, routers can have a different number of buffers Can be expensive due to the large number of shared buffers Multiplexing virtual circuits on a single link also requires scheduling at each router and link (end-to-end schedule) Conflicts between different schedules can make it difficult to achieve bandwidth and latency guarantees Allocating one buffer per physical link Virtual circuits are time multiplexed with a single buffer per link Uses time division multiplexing (TDM) to statically schedule the usage of links among virtual circuits Flits are typically buffered at the NIs and sent into the NoC according to the TDM schedule Global scheduling with TDM makes it easier to achieve end-to-end bandwidth and latency guarantees Less expensive router implementation, with fewer buffers EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 81 Switching Strategies (3) Packet Switching Packets are transmitted from source and make their way independently to receiver Possibly along different routes and with different delays Zero start up time, followed by a variable delay due to contention in routers along packet path QoS guarantees are harder to make in packet switching than in circuit switching Three main packet switching scheme variants 1. Store-and-forward (SAF) packet switching Packet is sent from one router to the next only if the receiving router has buffer space for entire packet Buffer size in the router is at least equal to the size of a packet Disadvantage: excessive buffer requirements EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 82 2014 A. Gerstlauer 41

Switching Strategies (4) 2. Virtual cut through (VCT) packet switching Reduces router latency over SAF switching by forwarding first flit of a packet as soon as space for the entire packet is available in the next router If no space is available in receiving buffer, no flits are sent, and the entire packet is buffered Same buffering requirements as SAF switching 3. Wormhole (WH) packet switching Flit from a packet is forwarded to receiving router if space exists for that flit Parts of the packet can be distributed among two or more routers Buffer requirements are reduced to one flit, instead of an entire packet More susceptible to deadlocks due to usage dependencies between links EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 83 Routing Static vs. dynamic routing Fixed vs. adaptive source-destination paths Distributed vs. source routing Packets carry destination only or complete route Minimal vs. non-minimal routing Always shortest path or deviations allowed Deadlocks? Cyclic resource dependency Livelocks? Hot potato Starvation? Low-priority traffic fairness EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 84 2014 A. Gerstlauer 42

Flow Control Goal of flow control is to allocate network resources for packets traversing a NoC Can also be viewed as a problem of resolving contention during packet traversal At the data link-layer level, when transmission errors occur, recovery from the error depends on the support provided by the flow control mechanism E.g. if a corrupted packet needs to be retransmitted, flow of packets from the sender must be stopped, and request signaling must be performed to reallocate buffer and bandwidth resources Most flow control techniques can manage link congestion But not all schemes can (by themselves) reallocate all the resources required for retransmission when errors occur Either error correction or a scheme to handle reliable transfers must be implemented at a higher layer EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 85 Summary SoC complexity is increasing rapidly, due to Digital convergence Process technology shrinking into DSM era On-chip communication architectures are critical components in SoC designs To meet power, performance, cost, reliability constraints Also rapidly increasing in complexity with increasing no. of cores Reviewed basic concepts of (widely used) bus-based communication architectures Plus advanced networks-on-chip Open problems Automatically optimizing communication architectures to satisfy given application constraints Predicting and estimating DSM issues early in a design flow EE382V: SoC Design, Lecture 12 2014 A. Gerstlauer 86 2014 A. Gerstlauer 43