Avalon Switch Fabric. 2 Proprietary interconnect specification used with Nios II Principal design goals – Low resource utilization for bus logic – Simplicity.

Slides:



Advertisements
Similar presentations
1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Chapter 7: System Buses Dr Mohamed Menacer Taibah University
Computer Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
8086.  The 8086 is Intel’s first 16-bit microprocessor  The 8086 can run at different clock speeds  Standard 8086 – 5 MHz  –10 MHz 
Microprocessor 8085/8086 Lecturer M A Rahim Khan Computer Engineering and Networks Deptt.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Nios implementation in CCD Camera for "Pi of the Sky" experiment Photonics and Web Engineering Research Group Institute of Electronics Systems Warsaw University.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Read Chapter 3 (David E. Simon, An Embedded Software Primer)
TECH CH03 System Buses Computer Components Computer Function
Chapter 10 Hardware Details on the 8088 Objectives: The general specification on the 8088 microprocessors The processor’s control signal names and specifications.
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
JTAG UART port in NIOS.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
CS-334: Computer Architecture
Interconnection Structures
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
Spring EE 437 Lillevik 437s06-l2 University of Portland School of Engineering Advanced Computer Architecture Lecture 2 NSD with MUX and ROM Class.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
NS Training Hardware.
Computer Architecture Lecture 8 by Engineer A. Lecturer Aymen Hasan AlAwady 30/12/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
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,
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
8086/8088 Hardware Specifications Power supply:  +5V with tolerance of ±10%;  360mA. Input characteristics:  Logic 0 – 0.8V maximum, ±10μA maximum;
Top Level View of Computer Function and Interconnection.
© 2005 Altera Corporation SOPC Builder: a Design Tool for Rapid System Prototyping on FPGAs Kerry Veenstra Workshop on Architecture Research using FPGA.
NIOS II Ethernet Communication Final Presentation
1 Introduction CEG 4131 Computer Architecture III Miodrag Bolic.
EEE440 Computer Architecture
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
Network On Chip Platform
AT91 Memory Interface. 2 Features –Up to 8 programmable chip select lines –Remap Command allows dynamic exception vectors –Glue-less for both 8-bit and.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Module 11 Adapted By and Prepared James Tan © 2001.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Computer operation is of how the different parts of a computer system work together to perform a task.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Embedded Systems Design with Qsys and Altera Monitor Program
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
System on a Programmable Chip (System on a Reprogrammable Chip)
Lab 4 HW/SW Compression and Decompression of Captured Image
Nios II Processor: Memory Organization and Access
Chapter 6 Input/Output Organization
Lab 1: Using NIOS II processor for code execution on FPGA
CS703 - Advanced Operating Systems
Avalon Switch Fabric.
System Interconnect Fabric
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
FPro Bus Protocol and MMIO Slot Specification
MICROPROCESSOR MEMORY ORGANIZATION
Figure 17.2 It is important that the Advanced Import Options be set as shown here.
Øyvind Hagen Senior Hardware Developer
Presentation transcript:

Avalon Switch Fabric

2 Proprietary interconnect specification used with Nios II Principal design goals – Low resource utilization for bus logic – Simplicity – Synchronous operation Transfer Types – Slave Transfers – Master Transfers – Streaming Transfers – Latency-Aware Transfers – Burst Transfers 32-Bit Nios II Processor Switch PIO LED PIO 7-Segment LED PIO PIO-32 User- Defined Interface ROM (with Monitor) UARTTimer Address (32) Read Write Data In (32) Data Out (32) IRQ IRQ #(6) Avalon Switch Fabric Nios II Processor

3 Custom-Generated for Peripherals – Contingencies are on a Per-Peripheral Basis – System is Not Burdened by Bus Complexity SOPC Builder Automatically Generates – Arbitration – Address Decoding – Data Path Multiplexing – Bus Sizing – Wait-State Generation – Interrupts Avalon Switch Fabric

4 Avalon Master Ports Initiate Transfers with Avalon Switch Fabric Transfer Types – Fundamental Read – Fundamental Write All Avalon Masters Must Honor a waitrequest signal Transfer Properties – Latency – Streaming – Burst

5 Avalon Slave Ports Respond to Transfer Requests from Avalon Switch Fabric Transfer Types – Fundamental Read – Fundamental Write Transfer Properties – Wait States – Latency – Streaming – Burst

6 Slave Read Transfer 0 Setup Cycles 0 Wait Cycles

7 Slave Read Transfer with Wait States 1 Setup Cycle 1 Wait Cycle

8 Slave Write Transfer 0 Setup Cycles 0 Wait Cycles 0 Hold Cycles

9 Slave Write Transfer with Wait States 1 Setup Cycle 0 Wait Cycles 1 Hold Cycle

10 Multiple Clock Domains Supported CDX = Clock Domain Crossing Logic (inserted automatically by SOPC Builder) Master Clock Domain 1 Slave Clock Domain 2 Slave Clock Domain 2 CDX Avalon Switch Fabric CDX Avalon Switch Fabric Arbiter Master Clock Domain 1 Master Clock Domain 2 Slave Clock Domain 2 Slave Clock Domain 2 Slave Clock Domain 2 Slave Clock Domain 2 Slave Clock Domain 2 Slave Clock Domain 2

11 Multi-Clock Domain Support CDX = Clock Domain Crossing Logic Master Clock Domain 1 Slave Clock Domain 3 Slave Clock Domain 3 Master Clock Domain 2 CDX Avalon Switch Fabric Arbiter CDX Master Clock Domain 1 Slave Clock Domain 2 Slave Clock Domain 2 Master Clock Domain 1 Avalon Switch Fabric CDX Arbiter

12 User-Defined Custom Peripherals What if I need to add a peripheral not included with the Nios II system? – user wants to add own peripheral to perform some kind of proprietary function or perhaps a standard function that is not yet included as part of the Nios kit – Expand or accelerate system capabilities We are now going learn how to connect our own design directly to the Nios II system via Avalon – As many peripherals contain registers we could also have chosen to connect to a PIO rather than directly to the bus

13 No Need to Worry about Bus Interface Implement Only Signals Needed Peripherals Adapted to by Avalon Switch Fabric Timing Handled Automatically Fabric Created for You Arbiters Generated for You Creating Avalon Slave Concentrate Effort on Peripheral Functionality! User Logic Avalon Switch Fabric Register File

14 New Component Editor

15 Creates Interface Connect to Existing HDL or board component Map into Nios II Memory Space Can be “Inside” or “Outside” Nios II System Nios II CPU Avalon Interface to User Logic Nios II System Module External User Peripheral I/O Nios II CPU Avalon Internal User Peripheral Nios II System Module I/O

16 Create External Component Interface To communicate with off-chip peripherals Base interface type on data sheet AMD29LV065AD CFI Flash Chip

17 Or Add HDL Files For peripheral that has been encoded for FPGA

18 Tri-State Peripherals Require Tri-State Bridge – Available as an SOPC Builder component Tri-State peripheral is defined by the presence of a bi-direction data port Off-chip peripherals do not have to be tri-state Nios II Processor AvalonTri-StateBridge Interface toUser Logic Off Chip Peripheral FPGA

19 Define Component Signals Automatically populates port table from design files Enter port type here Can also define ports manually

20 Define Interface for Each Signal Type Choose interface type Register Slave uses native alignment, Memory Slave uses dynamic alignment Control Read and Write Timing Add wait and hold states View waveforms

21 Address Alignment – Narrow Slave Dynamic Address Alignment (set as Memory Slave) – LD from Base + 0x0:dd cc bb aa – LD from Base + 0x4:uu uu uu ee Native Address Alignment (set as Avalon Register Slave) – LD from Base + 0x0:uu uu uu aa – LD from Base + 0x4:uu uu uu bb – LD from Base + 0x8:uu uu uu cc 32-Bit Nios II Processor 8 Bit Peripheral Avalon 32 8 Peripheral Registers Base Base + 0x1 Base + 0x2 Base + 0x3 Base + 0x4 aa bb cc dd ee

22 Address Alignment – Narrow Master Dynamic Address Alignment – LD from Base + 0x0: – LD from Base + 0x4: – LD from Base + 0x8:bb aa Native Address Alignment – LD from Base + 0x0: – LD from Base + 0x4:bb aa – LD from Base + 0x8:?? ?? ?? ?? – High bytes are unobtainable – warning issued 64 Bit Memory Avalon Memory Contents Base Base + 0x8 Base + 0x ffeeddccbbaa99 88 ?? ?? ?? ?? ?? ?? ?? ?? 32-Bit Nios II Processor

23 Add Software Files ie. Header files and drivers

24 Add Software Files Header file and drivers can also be added directly to Application Project

25 Fill in fields Add component to SOPC Builder portfolio Can add parameterizing capability to component Create Component Wizard Publish and create a wizard for your component

26 Add Component to SOPC System Default location is the User Logic folder

27 Intel PXA255 Example

28 VLIO as an Avalon Master Port VLIO Intel PXA255 Variable Latency I/O (VLIO) Uses a Bi-Directional Data Path, RDY Signal to Add Wait States Interface Separates DATA into Read Data & Write Data Paths

29 Relevant Verilog Code to Relevant Verilog Code to Implement