Skip to content

anhducdinh/AMBA_APB_Protocol

 
 

Repository files navigation

AMBA_APB_Protocol

This repositary contains Verilog code for AMBA 3 APB Protocol.

The Advanced Peripheral Bus (APB) is part of the Advanced Microcontroller Bus Architecture (AMBA) protocol family. It defines a low-cost interface that is optimized for minimal power consumption and reduced interface complexity.The APB protocol is not pipelined, use it to connect to low-bandwidth peripherals that do not require the high performance of the AXI protocol.

The APB protocol relates a signal transition to the rising edge of the clock, to simplify the integration of APB peripherals into any design flow. Every transfer takes at least two cycles.

You can use it to access the programmable control registers of peripheral devices.

State Diagram

FSM

RTL Schematic

Schematic

Waveform

Wave

To Execute the code

Use any EDA/Simulation tool to run the codes or visit https://www.edaplayground.com/x/dMmT to run this code.

If you have iverilog installed locally, run the below commands

i.) To compile -> iverilog -o APB APB_top.v APB_tb.v
ii.) To view the simulation result -> vvp APB
iii.) To view waveform -> gtkwave "APB_wave.vcd"

For more info, visit arm website https://developer.arm.com/documentation/ihi0024/c/Introduction/About-the-APB-protocol

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Verilog 100.0%