Giter Club home page Giter Club logo

muhammadtalhasami / axi4_lite_interface Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 106 KB

This repo contains an implementation of Axi4 lite interface on system verilog. Verilator and Vivado tools are used .

Home Page: https://github.com/muhammadtalhasami/Axi4_lite_interface

Makefile 1.22% SystemVerilog 47.91% C++ 2.92% Pascal 0.72% Tcl 10.47% Batchfile 6.52% Verilog 3.65% C 18.45% HTML 8.13%
axi4 axi4-lite axi4-lite-interface axi4-protocol system-verilog verilator vivado axi4-lite-system-verilog

axi4_lite_interface's Introduction

AXI4_LITE_INTERFACE

INTRO

Advanced eXtensible Interface 4 (AXI4) is a family of buses defined as part of the fourth generation of the ARM Advanced Microcontroler Bus Architectrue (AMBA) standard. AXI was first introduced with the third generation of AMBA, as AXI3, in 1996.

The AMBA specification defines 3 AXI4 protocols:

AXI4: A high performance memory mapped data and address interface. Capable of Burst access to memory mapped devices.
AXI4-Lite: A subset of AXI, lacking burst access capability. Has a simpler interface than the full AXI4 interface.
AXI4-Stream: A fast unidirectional protocol for transfering data from master to slave.

Use in Xilinx-Based designs

Xilinx Vivado helps in the creation of custom IP with AXI4 interfaces. These can be connected to the Zynq’s Proccessing System or to other devices. This Document will cover the operation of the AXI4-Lite interface, which is convenient for implementing memory mapped registers.

TRANSACTION AND CHANNELS

THere are two transactions Read and Wirte transaction

The AXI4-Lite interface consists of five channels: Read Address, Read Data, Write Address, Write Data, and Write Response.

AXI4 read transaction

1): Read Address channel

2): Read Data channel

AXI4 write transaction

1): Write Address channel

2): wite Data channel

3): write Response channel

axi4

HAND SHAKE PROCESS

All five transaction channels use the same VALID/READY handshake process to transfer address, data, and control information. This two-way flow control machanism means both the master and slave can control the rate at which the information moves between master and slave. The information source generates the VALID signal to indicate when the address, data or control information is available. The information destination generates the READY signal to indicate that it can accept the information. The handshake completes if both VALID and READY signals in a channel are asserted during a rising clock edge.

VIVADO_WAVEFORM

Axi4_lite_interface

VERILATOR_WAVEFORM

WhatsApp Image 2024-05-02 at 8 40 30 PM

SCHEMATIC VIEW

axi4 schematic

HOW TO USE

1): clone my repo

git clone https://github.com/muhammadtalhasami/Axi4_lite_interface

2): Follow this

For Vivado

https://github.com/muhammadtalhasami/Axi4_lite_interface/tree/main/AXI4_LITE_VIVADO/AXI4_LITE_INTERFACE.srcs

Here you will get the test bench and source code 

For verilator

Run make to compile the code and then run make waves to generate a wave form:

make

make waves

INSTRUCTORS

. Zeeshan Rafique

. Sajjad Ahmed

. Zain Ali

. Ammar Bin Amir

RESOURCE

For more information on AXI4 Lite Protocol

click here👉RealDigital

CONTRIBUTOR

. Hajra Kamran

Contributions are welcome! Feel free to fork this repository, make improvements, and submit pull requests.

axi4_lite_interface's People

Contributors

hajrakamran avatar muhammadtalhasami avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

hajrakamran

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.