pg287 Amm Axi Bridge
pg287 Amm Axi Bridge
v1.0
Chapter 1: Overview
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Unsupported Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Licensing and Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
from LSB support for last data beat in a Synthesis Vivado Synthesis
burst. Support
Provided by Xilinx at the Xilinx Support web page
• Optional read only or write only support
Notes:
• Optional pipelining support for read 1. For a complete list of supported devices, see the Vivado IP
transactions. catalog.
2. For the supported versions of the tools, see the
• Supports up to eight Avalon masters. Xilinx Design Tools: Release Notes Guide.
Overview
The top-level block diagram for the Xilinx ® LogiCORE™ IP AMM Master Bridge with four
Avalon masters support is shown in Figure 1-1. The Avalon traffic is arbitrated inside the
bridge and generates one AXI4 master command at a time. The bridge functions as an
Avalon slave on the Avalon interface and as an AXI4 master on the AXI4 interface. Figure 1-1
has for four Avalon masters and the bridge supports up to eight Avalon masters.
X-Ref Target - Figure 1-1
%111EWXIV&VMHKIƁ1YPXM1EWXIV'SRJMKYVEXMSR
%ZEPSR1EWXIV EZQ
6IEH%VFMXIV
'SQQERH+IRIVEXSV
711
(EXE1SZIV
[VMXIHEXE
%ZEPSR1EWXIV EZQ ;VMXI%VFMXIV (EXE7XVIEQ
(EXE1SZIV QCE\M
VIEHHEXE 117
6IEH1EWXIV 7XVIEQ(EXE
%ZEPSR1EWXIV EZQ
(EXE1SZIV
-(*-*3
%ZEPSR1EWXIV EZQ
6IEH
(IQY\
<
Feature Summary
• Supports 32, 64, 128, 256, 512, or 1,024-bits data width on both AXI and Avalon sides.
• Supports up to 1,024 burst count on Avalon side.
• AXI4 compliant.
• Optional linear incremental of byte-enables from LSB support for last data beat in a
burst.
• Optional read only or write only support
• Optional pipelining support for read transactions.
• Supports up to eight Avalon masters.
• Round-robin arbitration for master requests.
• Up to 64-bit address support.
• Error response indication separate for read and write transactions along the
corresponding master ID.
Applications
With no additional difficulty to you, the AMM Master Bridge helps connect available Avalon
masters to the AXI4 slave peripherals in the Vivado ® Design Suite.
Unsupported Features
• Fixed wait states and fixed latencies are not supported.
• No data width conversion that is, data width on AXI and Avalon side are the same.
• No support for unaligned addresses.
• No word addressing.
• No partial/sparse byte-enables except for last beat.
• No support for lock feature of Avalon.
• No support for optional Response channel of the Avalon interface.
• Only supports data width aligned address.
Information about other Xilinx LogiCORE IP modules is available at the Xilinx Intellectual
Property page. For information about pricing and availability of other Xilinx LogiCORE IP
modules and tools, contact your local Xilinx sales representative.
Product Specification
Standards
• Processor Interface, AXI4: see the Vivado Design Suite: AXI Reference Guide (UG1037)
[Ref 6]
• Avalon Interface Specifications [Ref 2]
Performance
For full details about performance and resource utilization, visit the Performance and
Resource Utilization web page.
The performance characterization of this core was compiled using the margin system
methodology. The details of the margin system characterization methodology are described
in the Vivado Design Suite User Guide: Designing With IP (UG896) [Ref 11].
Latency
Table 2-1 shows the read and write latency.
avs_write to axi_awvalid 9
Write
avs_write to axi_wvalid 11
Throughput
Table 2-2 shows the throughput with data width 32-bit at 200 MHz (theoretical bandwidth
= 6.4 Gb/s).
Resource Utilization
For full details about performance and resource utilization, visit the Performance and
Resource Utilization web page.
The approximate estimation of resources to use for this IP is the sum of the resources of the
AXI DataMover IP and ~200 LUTs when configured for four Avalon masters.
Parameter Descriptions
Table 2-3 shows the AMM Master Bridge parameters.
Port Descriptions
Table 2-4 shows the AMM Master Bridge signals.
Notes:
1. [# is from 0 to {C_NUM_MASTERS - 1)];
2. O in the “Presence” column of table indicates Optional signal and M indicates mandatory signals.
Clocking
The IP has a single clock domain, clk and the AXI4 and Avalon interfaces are clocked with
the same clock.
Resets
The system has an active-Low reset, aresetn. The reset has to be synchronous with clk.
The same reset signal must be used by the Avalon masters as well as the AXI4 slave for the
system to function properly. Separate resets to these systems can result in unexpected
behavior.
Arbitration
Read and write requests from multiple Avalon masters are granted access in a round-robin
mode. An Avalon master never issues a read and write request simultaneously. The
arbitration is done separately for read and write channels and are independent of each
other. The behavior of the arbitration logic is explained as follows:
Idle Idle
Write_Requests[3:0] Read_Requests[3:0]
Arbitrate Arbitrate
Yes
Command Pipelined
Command Completion
Pipeline
Support
No
wait_request_read_b
wait_request_b
wait_request_write_b
X19466-063017
A round-robin arbitration logic is used between the masters which requested a read or write
transaction. The process of arbitration is as explained here:
• A Request is a vector created based on the Masters that have issued a request. A
separate vector is created for reads and writes.
• Assume that Master2, Master3, and Master7 have issued a read/write request at the
same time. The Request Vector has a value of 01000110.
In the first cycle of arbitration, Master2 is used, followed by Master3 and Master7.
Read Arbitration
When the Bridge is configured to enable Pipeline, each read request is accepted and saved
in a FIFO. A new read request is accepted even before the previous read data is produced.
Assume that Master2, Master3, and Master7 have issued a read requests at the same time.
The Request Vector has a value of 01000110.
• Read address and burst count from Masters 2, 3, and 7 are queued into a FIFO in three
consecutive cycles.
• The requests are processed from a FIFO in the same order. First, the read request for
Master2 followed by Master3 and Master7.
• Meanwhile, the FIFO keeps accepting the read commands from master until the depth
is full.
• The AXI4 read data is available in the same order.
If the bridge is configured without Pipelining, then a new read request is accepted only
after the complete read data is provided for the precious read request.
Assume that Master2, Master3, and Master7 have issued a read requests at the same time.
MM2S
read address, burstcount m0 DataMover
Read
Command
m1 Command m_axi_rdata
Generator
MUX
m2
X19467-063017
Write Arbitration
As Avalon does not support pipelining of writes, the Bridge waits for each write to be
completed before accepting the next write command from the same or other Masters.
Assume that Master2, Master3, and Master5 have issued a write requests at the same time.
Write request_m0
Write
Write request_m1
Arbitration Logic
Write request_m2
address, burstcount m0
Write
Command
m1 Command
Generator
MUX
m2 m_axi_(write)
m_axi_wdata
Write Data
m1
DeMUX
m2 Counter TLAST
Comparator
X19468-063017
Bridge Operation
The AMM Master Bridge uses the Xilinx ® AXI DataMover LogiCORE IP Product Guide (PG022)
[Ref 4] to convert the Avalon transaction to AXI4. The Bridge extracts the necessary
information from the Avalon transaction and forms a command for the AXI DataMover. The
data transfer on the AXI4 is handled by AXI DataMover.
Command Generator
The AXI DataMover accepts a command in a specific format containing the address and
number of bytes to transfer. Separate commands are generated for read and write. When
the Bridge is enabled with Pipelining, multiple read commands are posted to the AXI
DataMover.
Address
The AMM Master Bridge supports Avalon Address width from 1 to 64. If the Avalon address
width is < 32, then the AXI4 address width is fixed to 32 by padding the required MSB with
zeros. The Bridge supports only data width aligned address. Issuing Avalon transaction with
unaligned address results in undefined behavior.
Bytes to Transfer
The bytes to transfer is calculated using the burst_count and Data_width.
When the Bridge is configured with C_BYTE_ENABLES = 0, the ByteEnable bits on the Avalon
interface are ignored.
When the Bridge is configured with C_BYTE_ENABLES = 1, the only ByteEnable bits on the
last data beat of the Avalon interface are not ignored. Further, a sparse byteenable is only
allowed on the last data beat in a specific pattern. Any other combination results in
undefined behavior.
For example for a data width of 32-bits, the last byte-enables can only take values of 0001,
0011, 0111, or 1111. All the other patterns cause undefined behavior.
Error Logic
This IP has an error generation logic to indicate a SLVERROR, DECERROR, or INTERROR on
the AXI response. The IP generates one error response per command which lasts for one
clock only generating a valid indication and also the master ID from which the error causing
command is issued. The master IDs are from 0 to 7 indicating the eight masters, s0 to s7
respectively.
Write and read commands have separate error indications. Both are self-clearing in a clock
cycle. Error = 0 indicates no error and Error = 1 implies an error on the AXI response.
The error responses from two read or two write commands issued by a master are in order.
While the error response for a read and write can come out of order.
• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 10]
• Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 11]
• Vivado Design Suite User Guide: Getting Started (UG910) [Ref 12]
• Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 13]
If you are customizing and generating the core in the Vivado IP integrator, see the Vivado
Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994) [Ref 10] for
detailed information. IP integrator might auto-compute certain configuration values when
validating or generating the design. To check whether the values do change, see the
description of the parameter in this chapter. To view the parameter value, run the
validate_bd_design command in the Tcl console.
You can customize the IP for use in your design by specifying values for the various
parameters associated with the IP core using the following steps:
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 11] and
the Vivado Design Suite User Guide: Getting Started (UG910) [Ref 12].
Note: Figures in this chapter are an illustration of the Vivado Integrated Design Environment (IDE).
The layout depicted here might vary from the current version.
Figure 4-1 shows the AMM Master Bridge Vivado IDE main configuration screen.
X-Ref Target - Figure 4-1
• Component Name – The component name is used as the base name of output files
generated for the module. Names must begin with a letter and must be composed
from characters: a to z, 0 to 9 and "_".
• Avalon Address Width – This parameter specifies the address width of avs_address
ports. Select a value to match the Avalon master address width. The width of the AXI
address ports is derived from this parameter. AXI_Address_Width is 32 when the
Avalon address width is < 32 and equals the Avalon address width when it is > 32.
Table 4-1 shows an example of the Avalon and AXI address widths.
Table 4-1: Avalon and AXI Address Width Information:
Avalon Address AXI Address
0x4 0x00000004
0x40000004 0x40000004
0x2440000008 0x2440000008
• Data Width – Specifies the width of data buses of AXI and Avalon interfaces. Same
data width for AXI and Avalon interface.
• ByteEnable Support – Avalon write transactions support byteenables for last data beat
of a transfer when this parameter is enabled. When disabled, optional byteenable port
of the Avalon is removed.
• Pipelining – Avalon read commands are accepted and saved in a FIFO when pipelining
is enabled. The pipeline depth is 16.
• Number of Avalon Masters – Specifies the number of Avalon slave interfaces for the
bridge.
• Mode of Operation – Bridge can also support only read or only write transactions.
All the parameters specified in the customization are applicable to all the Avalon slave
interfaces of the bridge. Different parameters cannot be specified for different slave
interfaces.
User Parameters
Table 4-2 shows the relationship between the fields in the Vivado IDE and the User
Parameters (which can be viewed in the Tcl Console).
Output Generation
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 11].
Required Constraints
This section is not applicable for this IP core.
Clock Frequencies
This section is not applicable for this IP core.
Clock Management
This section is not applicable for this IP core.
Clock Placement
This section is not applicable for this IP core.
Banking
This section is not applicable for this IP core.
Transceiver Placement
This section is not applicable for this IP core.
Simulation
For comprehensive information about Vivado simulation components, as well as
information about using supported third-party tools, see the Vivado Design Suite User
Guide: Logic Simulation (UG900) [Ref 13].
IMPORTANT: For cores targeting 7 series FPGAs or Zynq-7000 devices, UNIFAST libraries are not
supported. Xilinx IP is tested and qualified with UNISIM libraries only.
To package the Avalon slave IP, follow the steps mentioned in the Vivado Design Suite
Tutorial: Creating and Packaging Custom IP (UG1119) [Ref 9].
X-Ref Target - Figure 4-2
Figure 4-3 shows the bus interface with one Avalon slave interface.
X-Ref Target - Figure 4-3
Figure 4-3: AMM Master Bridge with One Avalon Slave interface
Figure 4-4 shows the bus interface with eight Avalon slave interface.
X-Ref Target - Figure 4-4
Figure 4-4: AMM Master Bridge with Eight Avalon Slave interface
Example Design
This chapter contains information about the example design provided in the Vivado®
Design Suite.
Overview
The example design demonstrates the functioning of the AMM Master Bridge. An Avalon
Master is modeled to generate the write and read transactions from a specified address
location. The read data is then compared with the write data. Each master writes and reads
from the different address location of the memory. If the read and write data for each
master matches, the test is said to be completed successfully.
Reset Generator
status
Checker
test result
X19718-081817
1. Right-click the core in the Hierarchy window, and select Open IP Example Design.
2. A new window pops up, asking you to specify a directory for the example design. Select
a new directory or keep the default directory.
3. A new project is automatically created in the selected directory and it is opened in a new
Vivado IDE window.
4. In the Flow Navigator (left pane), click Run Implementation and follow the directions.
The example design directory is created in imports/. It contains the following generated
example design top files:
The example design supports functional (behavioral) and post-synthesis simulations. For
information how to run simulation, see the Vivado Design Suite User Guide: Logic Simulation
(UG900) [Ref 13].
Simulation Results
The simulation script compiles the Avalon Master Bridge example design and supporting
simulation files. It then runs the simulation and checks that it completed successfully.
Test Failed
Debugging
This appendix includes details about resources available on the Xilinx Support website and
debugging tools.
Documentation
This product guide is the main document associated with the AMM Master Bridge. This
guide, along with documentation related to all products that aid in the design process, can
be found on the Xilinx Support web page or by using the Xilinx Documentation Navigator.
Download the Xilinx Documentation Navigator from the Downloads page. For more
information about this tool and the features available, open the online help after
installation.
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
Answer Records for this core can be located by using the Search Support box on the main
Xilinx support web page. To maximize your search results, use proper keywords such as
• Product name
• Tool message(s)
• Summary of the issue encountered
A filter search is available after results are returned to further target the results.
For the AMM Master Bridge Master Answer Record see Xilinx Answer 69656
Technical Support
Xilinx provides technical support at the Xilinx Support web page for this LogiCORE™ IP
product when used as described in the product documentation. Xilinx cannot guarantee
timing, functionality, or support if you do any of the following:
• Implement the solution in devices that are not defined in the documentation.
• Customize the solution beyond that allowed in the product documentation.
• Change any section of the design labeled DO NOT MODIFY.
To contact Xilinx Technical Support, navigate to the Xilinx Support web page.
Debug Tools
There are many tools available to address AMM Master Bridge design issues. It is important
to know which tools are useful for debugging various situations.
The Vivado logic analyzer is used with the logic debug IP cores, including:
See the Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 15].
Xilinx Resources
For support resources such as Answers, Documentation, Downloads, and Forums, see
Xilinx Support.
• From the Vivado® IDE, select Help > Documentation and Tutorials.
• On Windows, select Start > All Programs > Xilinx Design Tools > DocNav.
• At the Linux command prompt, enter docnav.
Xilinx Design Hubs provide links to documentation organized by design tasks and other
topics, which you can use to learn key concepts and address frequently asked questions. To
access the Design Hubs:
• In the Xilinx Documentation Navigator, click the Design Hubs View tab.
• On the Xilinx website, see the Design Hubs page.
Note: For more information on Documentation Navigator, see the Documentation Navigator page
on the Xilinx website.
References
These documents provide supplemental material useful with this product guide:
1. Instructions on how to download the ARM® AMBA ® AXI specifications are at ARM
AMBA Specifications. See the:
Revision History
The following table shows the revision history for this document.