VERIFICATION OF AMBA AXI BUS PROTOCOL IMPLEMENTING INCR AND WRAP BURST USING SYSTEM VERILOG

Similar documents
VERIFICATION OF DRIVER LOGIC USING AMBA- AXI UVM

UVM BASED TEST BENCH TO VERIFY AMBA AXI4 SLAVE PROTOCOL

Design and Coverage Driven Verification of AXI2OCP Bridge for Industrial SoC Designs

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS

SOC Design Technique for AMBA AXI4 Using Verilog HDL

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!

Design of an Efficient FSM for an Implementation of AMBA AHB in SD Host Controller

Verification of AXI Bus Protocol using SystemVerilog

Verification of AMBA AXI4 Protocol Using UVM

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction.

VERIFICATION ANALYSIS OF AHB-LITE PROTOCOL WITH COVERAGE

IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL

Design and Verification of AMBA AHB- Lite protocol using Verilog HDL

Assertion Based Verification of AMBA-AHB Using System Verilog

Buses. Maurizio Palesi. Maurizio Palesi 1

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

Design and Implementation of AMBA AXI to AHB Bridge K. Lakshmi Shirisha 1 A.Ramkumar 2

VERIFICATION OF AXIPROTOCOL SYSTEM VERILOG

Architecture of An AHB Compliant SDRAM Memory Controller

AMBA Protocol for ALU

Design of AMBA Based AHB2APB Bridge

AMBA AHB Bus Protocol Checker

Design and Verification of Serial Peripheral Interface 1 Ananthula Srinivas, 2 M.Kiran Kumar, 3 Jugal Kishore Bhandari

AMBA 3 AXI. Protocol Checker. User Guide. r0p1. Copyright 2005, 2006, 2009 ARM. All rights reserved. ARM DUI 0305C (ID071309)

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

An Efficient AXI Read and Write Channel for Memory Interface in System-on-Chip

AXI and OCP protocol Interface for Sytem on Chip

BUILDING AN AMBA COMPLIANT MEMORY CONTROLLER

Tackling Verification Challenges with Interconnect Validation Tool

Network Interconnect NIC-301. CoreLink. Technical Reference Manual. Revision: r2p3

Design And Implementation of Efficient FSM For AHB Master And Arbiter

Design and Implementation of AXI to AHB Bridge Based on AMBA 4.0

NIC-400 Network Interconnect. CoreLink. Technical Reference Manual. Revision: r0p0. Copyright 2012 ARM. All rights reserved. ARM DDI 0475A (ID081712)

Pooja Kawale* et al ISSN: [IJESAT] [International Journal of Engineering Science & Advanced Technology] Volume-6, Issue-3,

Title: Using Test-IP Based Verification Techniques in a UVM Environment

White Paper AHB to Avalon & Avalon to AHB Bridges

ISSN Vol.03, Issue.08, October-2015, Pages:

SYNTHESIZABLE AXI4 PROTOCOL CHECKER

Verification of AHB Protocol using UVM

High Level Synthesis Re-usable model of AMBA AXI4 communication protocol for HLS based design flow developed using SystemC Synthesis subset

Ref: AMBA Specification Rev. 2.0

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE

NoC Generic Scoreboard VIP by François Cerisier and Mathieu Maisonneuve, Test and Verification Solutions

SoC Design Lecture 11: SoC Bus Architectures. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

The CoreConnect Bus Architecture

ARM. CoreLink. NIC-400 Network Interconnect. Technical Reference Manual. Revision: r1p0

Graph-Based Verification in a UVM Environment

TLM based AMBA AXI4 protocol implementation using verilog with UVM environment

Bus AMBA. Advanced Microcontroller Bus Architecture (AMBA)

Verification of Advanced High Speed Bus in UVM Methodology

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

Improving Memory Access time by Building an AMBA AHB compliant Memory Controller

Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc.

Verification of I2C module for Multiprotocol Serial Controller

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

iimplementation of AMBA AHB protocol for high capacity memory management using VHDL

AXI Protocol AMBA. Specification. v1.0. Copyright 2003, 2004 ARM Limited. All rights reserved. ARM IHI 0022B

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus

Design and Verification of Network Router

AXI4-Stream Verification IP v1.0

Design of High Speed AMBA Advanced Peripheral Bus Master Data Transfer for Microcontroller

Analyzing and Debugging Performance Issues with Advanced ARM CoreLink System IP Components

World Journal of Engineering Research and Technology WJERT

Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture

COVERAGE DRIVEN VERIFICATION OF I2C PROTOCOL USING SYSTEM VERILOG

Design and Verification of Slave Block in Ethernet Management Interface using UVM

DESIGN AND VERIFICATION OF LOW SPEED PERIPHERAL SUBSYSTEM SUPPORTING PROTOCOLS LIKE SPI, I 2 C AND UART

Logic Built In Self-Test Verification Statergy For SerDes PHY

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA

AMBA 3 AHB Lite Bus Architecture

VLSI Design of Multichannel AMBA AHB

Serial Peripheral Interface Design for Advanced Microcontroller Bus Architecture Based System-on- Chip

Génération de tests basés sur les modèles pour des systèmes sur puce avec cohérence de caches

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 ISSN

Bringing Formal Property Verification Methodology to SoC Interconnects

of Soft Core Processor Clock Synchronization DDR Controller and SDRAM by Using RISC Architecture

Responding to TAT Improvement Challenge through Testbench Configurability and Re-use

DESIGN OF ON-CHIP BUS OCP PROTOCOL WITH BUS FUNCTIONALITIES

1. INTRODUCTION OF AMBA

Effective System Design with ARM System IP

UART IP CORE VERIFICATION BY USING UVM

EECS 373 Design of Microprocessor-Based Systems

Integrate Ethernet QVIP in a Few Hours: an A-to-Z Guide by Prashant Dixit, Questa VIP Product Team, Mentor Graphics

RM3 - Cortex-M4 / Cortex-M4F implementation

Performance of AHB Bus Tracer with Dynamic Multiresolution and Lossless Real Time Compression

System Verification of Hardware Optimization Based on Edge Detection

Design and Verification of Configurable Multichannel

6 Month Certificate Program in VLSI Design & Verification" with Industry Level Projects. Tevatron Technologies Prívate Limited

Achieving UFS Host Throughput For System Performance

Monitors, Monitors Everywhere Who Is Monitoring the Monitors

Design and Implementation of High-Performance Master/Slave Memory Controller with Microcontroller Bus Architecture

Development of UVM based Reusabe Verification Environment for SHA-3 Cryptographic Core

UNIVERSAL VERIFICATION METHODOLOGY BASED VERIFICATION ENVIRONMENT FOR PCIE DATA LINK LAYER

PrimeCell AHB SRAM/NOR Memory Controller (PL241)

Bus Deadlock Avoidance Using Reconfigurable Arbiter

VeriFlow Technologies India (P) Ltd

System-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP

AHB-Lite Multilayer Interconnect IP. AHB-Lite Multilayer Interconnect IP User Guide Roa Logic, All rights reserved

Transcription:

VERIFICATION OF AMBA AXI BUS PROTOCOL IMPLEMENTING INCR AND WRAP BURST USING SYSTEM VERILOG Harsha Garua 1, Keshav Sharma 2, Chusen Duari 3 1 Manipal University Jaipur 2 Manipal University Jaipur 3 Assistant Professor, Manipal University Jaipur Abstract This paper describes the development of verification environment for AMBA AXI (Advanced Extensible Interface) protocol using System Verilog. AXI supports high performance, high-frequency system designs. It is an On-Chip communication protocol. It is suitable for high-bandwidth and high frequency designs with minimal delays. It provides flexibility in the implementation of interconnect architectures and avoid use of complex bridges. It is backward-compatible with existing AHB and APB interfaces. The key features of the AXI protocol are that it consists of separate address, control and data phases. It support unaligned data transfers using byte strobes. It requires only start address to be issued in a burst-based transaction. It has separate read and write data channels that provide low-cost Direct Memory Access (DMA). This paper is aimed at the verification of various burst type transaction (INCR and WRAP) of the AXI bus protocol and the Verification Environment is built using System Verilog coding[1]. Keywords: AMBA AXI, INCR, Wrap Burst, System Verilog ---------------------------------------------------------------------***--------------------------------------------------------------------- I. INTRODUCTION AMBA stands for Advanced Microcontroller Bus Architecture (AMBA).It is an open-standard, on-chip interconnect specification for the connection and management of intellectual property (IP) blocks in systemon-a-chip (SoC) designs. It supports development of designs with large numbers of controllers and peripherals/ip blocks. Since its inception, the scope of AMBA has, despite its name, gone far beyond micro controller devices. Figure 1: AXI Topology The AXI protocol support burst-based transaction which signifies transfer of multiple data grouped in packets. It consists of independent transaction channels: Read Address Channel, Read Data Channel, Write Address Channel, Write Data Channel and the Write Response Channel. An address channel carries control information that describes the size of bursts, number of bursts and length of the data to be transferred. The data is transferred between master and slave using either: Write Data Channel: in write transaction data is transferred from the master to the slave using this channel. Read Data Channel: in read transaction data transferred from the slave to the master using this channel. Figure 2: AXI Architecture FIXED burst: In a fixed burst-type, single address is used for storing data that is frequently used by the slave similar to a FIFO for every transfer in the burst. This type of burst enables repeated accesses to the same location. INCR burst: In an incrementing burst, the address is incremented for each transfer in the burst from the previous address. The size of burst determines the increment value for the address. Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 201

Case I: Address ADDR AxBURST AxSIZE Data 0x9 0x9 INCR 8-bit 1 data transfer 0xA 0xA INCR 8-bit 1 data transfer 0xB 0xB INCR 8-bit 1 data transfer 0xC 0xC INCR 8-bit 1 data transfer Case II: Address ADDR AxBURST AxSIZE Data 0x0 0x00 INCR4 4-byte 1 data transfer 0x4 0x04 INCR4 4-byte 1 data transfer 0x8 0x08 INCR4 4-byte 1 data transfer 0xC 0x0C INCR4 4-byte 1 data transfer Wrapping burst: Similar to INCR a wrapping burst is also consists of incrementing the address for each transfer of the previous transfer address. In a wrapping burst when the boundary is reached the address wraps around to a lower address. The wrap boundary is determined by the size of each transfer in the burst multiplied by the total number of transfers in the burst. Two restrictions apply to wrapping bursts: WRAP can work only for the start address aligned to the size of the transfer. And the burst length must be (2,4,8,16). Case I: If we do 4 beat burst on 32 bit AXI with AWLEN=16 and starting address 0x00000004 address 3. DUT The verification environment is organized in a hierarchical layered structure which helps to verification. The following subsections explain the functionality of four primary components in the verification environment. 4. Virtual Interface Virtual interfaces provide a mechanism for separating abstract models and test programs from the actual signals that make up the design. It allows the same subprogram to operate on different portions of design, and to dynamically control the set of signals associated with the subprogram. Instead of referring to the actual set of signals directly, users are able to manipulate a set of virtual signals. 5. Scoreboard The scoreboard collects address and control information on Write Address Channel and the data on Write Data Channel at the output of AXI slave and compares it with the address, data and control information at the output of DUV. It collects address and control information on Read Address Channel at the AXI slave input side and compares it with the address and control information at the output of the DUV. It collects the read response and data at the DUV side and compares it with that on the input side[4]. Figure 3: System Verilog Components AXI stands for Advanced Extensible Interface. It is a part of the Advanced Microcontroller Bus Architecture (AMBA) developed by ARM (Advanced RISC Machines) company. It is an On-Chip communication protocol. The AMBA AXI protocol supports high-performance, high-frequency system designs. The key features of the AXI protocol are that it has separate address phase and data phases. It uses byte strobes to support unaligned data transfers. It utilizes burst-based transactions with only the start address issued. It has separate read and write data channels that provide support for Direct Memory Access (DMA) at a lower cost. It support for out-of-order transaction completion. It permits easy addition of register stages to provide timing closure. Objective of paper: To study AMBA AXI Specification To implement INCR and WRAP burst type transaction in AXI design, design coding in system verilog To prepare testcases for various burst size and burst length. To achieve code and functional coverage of the verification environment developed II. AXI PROTOCOL SPECIFICATION A typical system-on-chip design consists of a number of master and slave devices connected together using the interconnecting protocol [2]. The AXI protocol provides a single interface definition, for the interfaces: Between a master and the interconnect Between a slave and the interconnect Between a master and a slave. The key features of the AXI protocol are: Consists of separate address phase and data phase. support non-sequential data transfers using byte strobes data is transferred in form of packets i.e. bursts with only start address issued separate channels for read and write transactions to enable low-cost Direct Memory Access (DMA) Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 202

issue multiple outstanding addresses support out-of-order transactions supports addition of new register stages to provide timing closure. allows address information to be issued before the actual data transfer. III. Burst Operation in AXI The AXI protocol support is burst-based transaction. Every transaction consists of address and control information issued on the address channel which describes various parameters of the data to be transferred. A write data channel is used to transfer data between master and slave. The AXI protocol consists of an additional write response channel in which slave sends response to the master as an acknowledgement for the write transaction [5]. The AXI protocol enables: address information to be issued ahead of the actual data transfer. support for multiple outstanding transactions. support for out-of-order completion of transactions. The AXI protocol defines three transaction bursts types described in: Fixed burst Incrementing burst Wrapping burst Data Address First: 0x00000004 0x00000004 Second: 0x00000008 0x00000008 Third: 0x0000000C 0x0000000C Fourth 0x00000010 0x00000000 (Wrapped) The WRAP operation address is wrapped to transfer size. Case II: If we do 4 beat burst on 16 bit AXI with AWLEN=4 and starting address 0x00000004 address Data Address First: 0x00000002 0x00000004 Second: 0x00000004 0x00000006 Third: 0x00000006 0x00000008 Fourth 0x00000008 0x00000002 (Wrapped) The WRAP operation address is wrapped to transfer size. 2. Test Cases Test cases are written for different scenarios, which cover the functionality and corner cases. Basic read-write transactions and various burst types are verified. Parameterization will be randomized for different test cases and are written to check all the possible scenarios. These test cases are run in regression with multiple seeds. I. AXI Master The AXI master mainly consists of two classes, axi_m_driver and axi_m_env. The AXI master is implemented by the axi_m_driver class and the axi_m_env consists of the tasks from master transaction and generator class. The axi_m_driver class consists of a main task named run_m_driver() which drives packets from Interface to the DUV. II. AXI Slave The AXI slave consists of axi_s_driver class and axi_s_env class. The AXI slave is implemented by the axi_s_driver class and the axi_s_env runs the tasks of slave transaction and generator class. The axi_s_driver class has a run_s_driver() task which drives the generated signals from interface to the DUV in loops using mailbox element. III. AXI Assertion System Verilog assertion (SVA) has been used here to check the various properties of AXI interconnection for an expected behavior. In this paper, assertions are applied to detect a successful communication between master and slave. IV. AXI Scoreboard The AXI scoreboard comprises of the comparison between the address and data send by an AXI master in a write/read transaction in a burst and the address and data in the slave. The scoreboard consists of the output values from the Golden Model and the DUV and sends it to the Checker block for analysis. Every transaction in AXI consists of a unique AWID or ARID that is issued according to the AXI protocol and the transactions can arrive in any order with different IDs. IV. SYSTEM VERILOG BASED VERIFICATION The basic components of the verification environment are described below[3]: 1. Testbench Testbench mimics the environment in which the design resides. It checks whether the real time logic implementation meets the design specification or not. This environment creates invalid and unexpected as well as valid and expected conditions to test the design under verification. Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 203

V. WAVEFORM Figure 4: AXI Basic Transaction Figure 5: FIXED Burst-type Transaction Figure 6: INCR Burst-type Transaction Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 204

Figure 8: WRAP-4 Burst-type Transaction VI. SYSTEM VERILOG VERIFICATION REPORT Verilog. Test has been passed for various burst size and burst length has been used for:- INCR: single address followed by data in sequence has been passed unlike FIXED where address and data was transferred in pipeline. WRAP: when boundary was reached data was wrapped to one lower address unlike INCR and FIXED. Figure 9: Burst-Size and Burst Length implemented VII. RESULTS The results of verification components such as Interface, Driver, Generator, Transaction, Scoreboard, Assertions and Monitor are developed using System Verilog. According to the designed verification environment, the test cases are verified for various burst types implementing AXI Protocol interconnection between a master and a slave. The Test Cases are written in the Generator block by assigning test- packets to the case number. The Driver drives the generated DUV. Various burst-type transactions have been performed in DUV. The DUV output values are compared with the output values from the Golden Model in the checker block.. If the DUV output value matches the Golden Model output value then we conclude that the verification of the design is completed successfully. By using the simulator tool Questa various test cases are generated and simulated which resulted in generation of waveforms shown in Figures 4 to 8. Verilog, International Journal & Magazine of Engineering, Technology, Management and Research, Volume No: 2 (2015), Issue No: 7 (July), Page 612, ISSN No: 2348-4845 [5] Mahesh Pai N, H Sudha and Lakshmikantha HN, Design and Implementationn of AMBA based AXI 4 Slave Interface, International Journal of Innovative Research in Science, Engineering and Technology, Vol. 4, Issue 6, June 2015, ISSN(Online): 2319-8753, Page 4253 VIII. CONCLUSION Verification of AXI Bus Protocol for Single Master-Single Slave implementing FIXED, INCR and WRAP has been achieved by developing the Verification IP using System Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 205

[2] ARM, "AMBA Specification (Rev 2.0)", http://www.arm.com [3] ARM, "AMBA AXI Protocol Specification", http://www.arm.com [4] System Verilog and UVM, System Verilog & UVM, https://www.doulos.com Burst- Type Burst- Length Burst- Size Start Address End Address FIXED 4 1-Byte 0x00 - INCR 4 1-Byte 0x02 0x05 WRAP 4 1-byte 0x02 0x01 An analysis of the verification plan has been made according to the working of AXI protocol for single master and single slave for various burst-type transactions. The study of a successful verification environment resulted in a high coverage verification. IX. BIOGRAPHIES Harsha Garua, M.Tech Digital Electronics and Communication, School of Electrical, Electronics & Communication Engineering, Manipal University Jaipur. Keshav Sharma, M.Tech Microelectronics, School of Electrical, Electronics & Communication Engineering, Manipal University Jaipur. Mr. Chusen Duari, Assistant Professor, Department of Electronics & Communication Engineering, Manipal University Jaipur Appendix AMBA - Advanced Microcontroller Based Architecture. AXI- Advanced Extensible Interface AHB Advanced High performance Bus. APB Advanced Peripheral Bus. SOC - System On Chip. IP - Intellectual Property DUV- Design Under Verification INCR- Increment burst WRAP- Wrapping burst FIFO- First-In-First-Out IX. ACKNOWLEDGEMENT We the authors of this paper would like to acknowledge with thanks to Mr. Chusen Duari, Assistant Professor, Department of Electronics and Communication Engineering, Manipal University Jaipur for constant encouragement and support for enabling us to submit this paper. X. REFERENCES Journal / Conference Papers [1] Xu Chen, Zheng Xie, and Xin-An Wang, Development of Verification Environment for AXI Bus Using SystemVerilog (IEEE) International Journal of Electronics and Electrical Engineering Vol. 1, No. 2, June 2013 [2] Xiongfei Liao, Jun Zhou, Liu, X. Exploring AMBA AXI on-chip interconnection for SoCs, 3D Systems Integration Conference (3DIC), January 2011 IEEE International, Pages 1 4 [3] K. Han, Z. Deng, and Q. Shu, "Verification of AMBA bus model using systemverilog," in Proc. 8th International Conference on Electronic Measurement and Instruments, 2007, pp. 1-776-1-780. [4] Sundararajan PH and S.Balaji, Verification of AXI Bus Protocol using System Web: [1] ARM, AMBA Specification Overview, http://www.arm.com. Volume: 05 Issue: 03 Mar-2016, Available @ http://www.ijret.org 206