AIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement

Similar documents
E3 Mapper MegaCore Function (E3MAP)

SONET/SDH STS-12c/STM-4 Framer MegaCore Function (STS12CFRM)

T3 Framer MegaCore Function (T3FRM)

Nios Soft Core Embedded Processor

Simulating the Reed-Solomon Model

Using MAX II & MAX 3000A Devices as a Microcontroller I/O Expander

POS-PHY Level 4 POS-PHY Level 3 Bridge Reference Design

ZBT SRAM Controller Reference Design

Simultaneous Multi-Mastering with the Avalon Bus

Using MAX 3000A Devices as a Microcontroller I/O Expander

White Paper AHB to Avalon & Avalon to AHB Bridges

Simulating the PCI MegaCore Function Behavioral Models

Toolflow for ARM-Based Embedded Processor PLDs

Nios Embedded Processor UART Peripheral

White Paper Using the MAX II altufm Megafunction I 2 C Interface

Benefits of Embedded RAM in FLEX 10K Devices

Using the Nios Development Board Configuration Controller Reference Designs

POS-PHY Level 4 MegaCore Function

DDR & DDR2 SDRAM Controller Compiler

SONET/SDH Compiler. Introduction. SONET/SDH Compiler v2.3.0 Issues

Nios Soft Core. Nios Timer Peripheral. Altera Corporation 101 Innovation Drive San Jose, CA (408)

Excalibur Solutions DPRAM Reference Design

RapidIO MegaCore Function

RapidIO MegaCore Function

Estimating Nios Resource Usage & Performance

Cyclone II FPGA Family

FPGA Design Security Solution Using MAX II Devices

DDR & DDR2 SDRAM Controller Compiler

Active Serial Memory Interface

Excalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics

Matrices in MAX II & MAX 3000A Devices

DSP Builder. DSP Builder v6.1 Issues. Error When Directory Pathname is a Network UNC Path

PCI Express Multi-Channel DMA Interface

Legacy SDRAM Controller with Avalon Interface

Video and Image Processing Suite

UTOPIA Level 2 Slave MegaCore Function

Nios DMA. General Description. Functional Description

Implementing LED Drivers in MAX Devices

DDR & DDR2 SDRAM Controller Compiler

DSP Development Kit, Stratix II Edition

MAX 10 User Flash Memory User Guide

POS-PHY Level 4 MegaCore Function (POSPHY4)

Nios II Embedded Design Suite 6.1 Release Notes

December 2002, ver. 1.3 Application Note 191. Six individual interrupts Six-bit priority scheme Five-bit priority scheme plus one individual interrupt

FFT/IFFT Block Floating Point Scaling

Table 1 shows the issues that affect the FIR Compiler, v6.1. Table 1. FIR Compiler, v6.1 Issues.

Simulating the PCI MegaCore Function Behavioral Models

Table 1 shows the issues that affect the FIR Compiler v7.1.

DDR & DDR2 SDRAM Controller

RapidIO Physical Layer MegaCore Function

Introduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow

Designing with ESBs in APEX II Devices

Using the Serial FlashLoader With the Quartus II Software

Simple Excalibur System

RapidIO MegaCore Function

AN 547: Putting the MAX II CPLD in Hibernation Mode to Achieve Zero Standby Current

Using Flexible-LVDS I/O Pins in

Implementing LED Drivers in MAX and MAX II Devices. Introduction. Commercial LED Driver Chips

FPGAs Provide Reconfigurable DSP Solutions

DDR & DDR2 SDRAM Controller

Introduction. Synchronous vs. Asynchronous Memory. Converting Memory from Asynchronous to Synchronous for Stratix & Stratix GX Designs

Implementing 9.8G CPRI in Arria V GT and ST FPGAs

RLDRAM II Controller MegaCore Function

FFT MegaCore Function

Nios II Embedded Design Suite 7.1 Release Notes

Using DCFIFO for Data Transfer between Asynchronous Clock Domains

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

Avalon Streaming Interface Specification

CORDIC Reference Design. Introduction. Background

PCI Express Compiler. System Requirements. New Features & Enhancements

Stratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2)

24K FFT for 3GPP LTE RACH Detection

On-Chip Memory Implementations

DDR and DDR2 SDRAM Controller Compiler User Guide

White Paper Configuring the MicroBlaster Passive Serial Software Driver

Logic Optimization Techniques for Multiplexers

ByteBlaster II Parallel Port Download Cable

Recommended Protocol Configurations for Stratix IV GX FPGAs

Implementing LVDS in Cyclone Devices

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.

Simulating Nios II Embedded Processor Designs

Intel MAX 10 User Flash Memory User Guide

Nios PIO. General Description. Functional Description

AN 610: Implementing Deterministic Latency for CPRI and OBSAI Protocols in Altera Devices

Using TriMatrix Embedded Memory Blocks

Using Flexible-LVDS Circuitry in Mercury Devices

Design Verification Using the SignalTap II Embedded

Implementing FIR Filters

AN 549: Managing Designs with Multiple FPGAs

Nios Timer. General Description. Functional Description

April 2002, Version 1.1. Component. PTF File. Component. Component GUI Wizards. Generation. System PTF file Files and Libraries.

Design Guidelines for Using DSP Blocks

OTU2 I.9 FEC IP Core (IP-OTU2EFECI9) Data Sheet

Using Verplex Conformal LEC for Formal Verification of Design Functionality

Enhanced Configuration Devices

Figure 1. Device Package Ordering Information for Stratix, Stratix GX, Cyclone, APEX 20KC, APEX II, Mercury & Excalibur Devices EP1S 25 F 780 C 5 N

Simulating the ASMI Block in Your Design

White Paper Performing Equivalent Timing Analysis Between Altera Classic Timing Analyzer and Xilinx Trace

White Paper The Need for a High-Bandwidth Memory Architecture in Programmable Logic Devices

White Paper. Floating-Point FFT Processor (IEEE 754 Single Precision) Radix 2 Core. Introduction. Parameters & Ports

Transcription:

AIRbus Interface December 22, 2000; ver. 1.00 Functional Specification 9 Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width of the data bus) Read and write access Four-way handshaking Arbitrary transaction latency Single-synchronous operation for higher performance and lower gate count Multi-synchronous operation for multiple clock domains Allows multiple slaves with differing bus widths Functional Description General Arrangement The Access to Internal Registers Interface (AIRbus) is a simple and robust memory-style bus to allow a CPU to read and write registers in various functional cores within a Complex Programmable Logic Device (CPLD). In a typical CPLD, the Processor Interface (PIF) block connects to an external CPU using an industry standard bus such as PCI, PowerPC bus, 68000 bus, 8051 bus. The PIF manages the external bus s protocol and converts the latter s transactions to AIRbus transactions.the PIF is, in general, the master of the AIRbus. Figure 1 shows a general arrangement of the AIRbus interface. Figure 1. General Arrangements External CPU CPLD PIF (AIRbus master) AIRbus Core (AIRbus slave) Core (AIRbus slave) Core (AIRbus slave) Altera Corporation 1 A-FS-09-01

Topology The AIRbus uses a broadcast topology for signals driven by the master typically the PIF. An address decoder, which is separate from the PIF, uses the most significant bits of the address to demultiplex the sel signal, producing individual sel outputs for each slave. The least significant bits of addr, pluswdata and read are broadcast directly to the slaves. Each slave has its own rdata and dtack output. The module which instantiates the slaves ORs the dtacks together and feeds the result into the master s dtack input. Similarly, it bitwise ORs the rdata of each slave together. The result is connected to the master s rdata input. Figure 2. Example Implementation External CPU PIF (AIRbus master) sel Address decode high order bits addr Slave 0 Slave 1 Slave 2 dtack0 rdata0 sel0 sel1 sel2 low order bits read wdata rdata dtack1 rdata1 dtack2 rdata2 dtack Note: (1) This OR-busing requires the slaves to set their rdata and dtack outputs to 0 when they are not selected. Each slave may have an irq output (not shown for clarity). These irqs are ORed together to form the master s irq input in the same fashion as dtack. 2 Altera Corporation

Bus Signals The clock (clk) is input to all blocks on the AIRbus In multi-synchronous mode there are multiple clocks The data bus is either 8, 16 or 32 bits wide. All lines are used on all cycles. Byte and halfword writes are not possible in the 16- and 32-bit AIRbuses. The least significant bit of addr is: 0ifrdata and wdata are 8 bits 1iftheyare16bits.addr [0]isconsideredtobe0andisnot connected 2 if they are 32 bits. addr [1:0] are considered to be 0 and are not connected The most significant bit of addr depends on the number of bytes of address space required. Thus, 8 registers on the 32-bit AIRbus require 32 bytes of address space. addr would then use bits 5:2. Table 1. Bus Signals Signal name Description Width Direction (master) clk Clock 1 Input Input sel Indicates cycle is in progress 1 Output Input addr byte to address of target application Output Input specific read set high during read cycles, low 1 Output Input during write wdata write data 32/16/8 Output Input rdata data from read 32/16/8 Input Output dtack data transfer acknowledge 1 Input Output irq interrupt request 1 Input Output Direction (slave) Bus Protocol Four-Way Handshake The bus cycles proceed as follows: 1. Master sets wdata (if the cycle is a write), read, andaddr appropriately and asserts sel. The address decoder generates the appropriate slave select. 2. Slave observes sel asserted and performs its internal read or write operation. 3. Upon completing the read or write, the slave drives rdata if the cycleisaread,andassertsitsdtack. Altera Corporation 3

4. Master observes dtack asserted and records rdata if the cycle is a read. Itthennegates(driveslow)sel. addr and wdata are now undefined. 5. The slave observes sel negated. It sets rdata to 0 and negates dtack. 6. The master observes dtack negated and may now start a new bus cycle. All signals are sampled, asserted, and negated synchronously to the master sandslaves clock(s). Note that each step may take multiple clock cycles, e.g. to complete an internal operation or to meet setup time on data or address lines. The time required is implementation-dependant. Figure 3 illustrates AIRbus read and write cycle. The clock is omitted for clarity. Figure 3. AIRbus Read & Write Cycle clk sel read addr write address X read address X wdata write data X rdata dtack 0 read data 1 2 3 4 5 6,1 2 3 4 5 Single-Synchronous Mode This has the highest performance (4 clock cycles for a fast slave) but requires the master and all slaves to be on the same clock domain. Figure 3 shows transactions on a single-synchronous bus. 4 Altera Corporation

Multi-Synchronous Mode This mode incurs a penalty of several clock cycles depending on the relative frequencies and phases of the master and slaves clocks but allows the master and the slaves to be on different clock domains. This mode requires a metastability hardening block (two flip-flops clocked by the slave s clock)totransferthesel signal to the slave, and a metastability hardening block (two flip-flops clocked by the master s clock)totransfer the dtack and irq signals to the master. sel is asserted simultaneously with wdata/read/addr, anddtack is asserted simultaneously with rdata. The delay inherent in the metastability hardening process, plus the four-way handshaking, ensures that addr, read, wdata,andrdata are stable when they are sampled: no metastability hardening is necessary on these signals. Note that a bus becomes multi-synchronous mode by including metastability hardening blocks. Figure 4 shows the structure of a multi-synchronous bus. Figure 4. Multi-Synchronous Mode clkm PIF (AIRbus master) Metastability hardener sel Address decode sel0 sel1 dtackh addr read wdata rdata dtack Metastability hardener sel0h Metastability hardener sel1h clk1 clk0 Slave 0 Slave 1 Altera Corporation 5

Figure 5 illustrates transactions on a multi-synchronous bus (See Bus Protocol on page 3). Figure 5. Multi-Synchronous Read/Write clkm clk0 sel selh read addr address X wdata write data X rdata dtack dtackh 0 read data 1 2 3 4 5 6, 1 Internal Width Conversion In general, the internal AIRbus is as wide as the widest slave. In this case, all registers are aligned to the natural boundaries of the bus and are padded in the most significant bits with zeros. On a 32-bit bus: 8 bit slaves appear as 32-bit slaves with the data carried on bits [7:0]. rdata bits [31:8]are set to 0. wdata bits [31:8]are ignored. Slave addr[0] connects to master addr[2]. 16 bit slaves appear as 32-bit slaves with the data carried on bits [15:0]. rdata bits [31:16]are set to 0. wdata bits [31:16]are ignored. Slave addr[0] connects to master addr[1]. On a 16-bit bus, 8 bit slaves appear as 16-bit slaves with the data carried on bits [7:0]. rdata bits [15:8]are set to 0. wdata bits [15:8]are ignored. Slave addr[0] connects to master addr[1]. 6 Altera Corporation

Tables 2 and 3 show how the slave address ports map onto the master s address bits. Table 2. Data Bus Mapping Slave data bus width (bits) Master bus width (bits) 8 16 32 slave wdata/rdata [7:0] connects to: slave wdata/rdata [15:0] connects to: slave wdata/rdata [31:0] connects to: 8 Master wdata/rdata[7:0] Illegal Illegal 16 Master wdata/rdata[7:0] Master wdata/rdata[15:0] Illegal 32 Master wdata/rdata[7:0] Master wdata/rdata[15:0] Master wdata/rdata[31:0] Table 3. Address Bus Mapping Slave data bus width (bits) Master bus width (bits) 8 16 32 slave addr[n-1:0] connects to: slave addr [N-1:1] connects to: slave addr [N-1:2] connects to: 8 Master addr [N-1:0] Illegal Illegal 16 Master addr [N:1] Master addr [N-1:1] Illegal 32 Master addr [N+1:2] Master addr [N:2] Master addr [N-1:2] Unsupported Bus Operations Dynamic bus sizing or access to partial words Bus width conversion to external bus Direct Memory Access (DMA) Alternate bus masters Burst transactions Split transactions Read-modify-write cycles Altera Corporation 7

101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Applications Hotline: (800) 800-EPLD Customer Marketing: (408) 544-7104 Literature Services: lit_req@altera.com Altera, APEX, APEX 20K, MegaCore, MegaWizard, OpenCore, and Quartus are trademarks and/or service marks of Altera Corporation in the United States and other countries. Altera acknowledges the trademarks of other organizations for their respective products or services mentioned in this document. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Copyright 2000 Altera Corporation. All rights reserved. 8 Altera Corporation Printed on Recycled Paper.