Giter VIP home page Giter VIP logo

apb-protocol's Introduction

APB-Protocol

Intro

APB is low bandwidth and low performance bus. So, the components requiring lower bandwidth like the peripheral devices such as UART, Keypad, Timer and PIO (Peripheral Input Output) devices are connected to the APB. The bridge connects the high performance AHB or ASB bus to the APB bus. So, for APB the bridge acts as the master and all the devices connected on the APB bus acts as the slave.

APB Specification

  1. Parallel bus operation. All the data will be captured at rising edge clock.
  2. Two slave design.
  3. Signal priority: 1.PRESET (active low) 2. PSEL (active high) 3. PENABLE (active high) 4. PREADY (active high) 5. PWRITE
  4. Data width 8 bit and address width 9 bit.
  5. PWRITE=1 indicates write PWDATA to slave. PWRITE=0 indicates read PRDATA from slave.
  6. Start of data transmission is indicated when PENABLE changes from low to high. End of transmission is indicated by PREADY changes from high to low.

Top Module Name: apb_protocol.v Testbench Name: test.v

APB Interface Block Diagram:

image

Operation Of APB

image

APB PIN Description:

<style> </style>
SIGNAL SOURCE Description WIDTH(Bit)
Transfer System Bus APB enable signal. If high APB is activated else APB is disabled 1
PCLK Clock Source All APB functionality occurs at a rising edge. 1
PRESETn System Bus An active low signal. 1
PADDR APB bridge The APB address bus can be up to 32 bits. 8
PSEL1 APB bridge There is a PSEL for each slave. It’s an active high signal. 1
PENABLE APB bridge It indicates the 2nd cycle of a data transfer. It’s an active high signal. 1
PWRITE APB bridge Indicates the data transfer direction. PWRITE=1 indicates APB write access(Master to slave) PWRITE=0 indicates APB read access(Slave to master) 1
PREADY Slave Interface This is an input from Slave. It is used to enter the access state. 1
PSLVERR Slave Interface This indicates a transfer failure by the slave. 1
PRDATA Slave Interface Read Data. The selected slave drives this bus during reading operation 8
PWDATA Slave Interface Write data. This bus is driven by the peripheral bus bridge unit during write cycles when PWRITE is high. 8

Master Write Operation image

Master Read Operation image

APB Interface Block Diagram With Slaves: image

APB Simulation Result with Slaves:

Slave 1 READ-WRITE Operation image

Slave 2 READ-WRITE Operation image

apb-protocol's People

Contributors

bwbear0412 avatar shubhi704 avatar

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.