Design of AMBA APB Protocol Using Verilog
Design of AMBA APB Protocol Using Verilog
Abstract— The AMBA (advanced microcontroller bus architecture) family of protocols includes
the Advanced Peripheral Bus (APB) protocol. Tested design under test (DUT) creates a
communication channel between the slave (design) and the master (testbench). Its design is
predicated on a reusable system-on-a-chip (SOC) methodology, which is crucial to addressing the
current VLSI challenges. APB is used to link all the peripheral devices to the bus architecture at
a cheap cost, lower frequencies, and low power consumption.
The job entails creating and carrying out the APB protocol for read transactions with and
without wait states, as well as single and multiple writes.
I. INTRODUCTION
The AMBA protocol family includes APB. The AMBA specifications standards, which support technological
independence and modular system design, are used in the design of superior integrated microcontrollers. An
AMBA encourages the repurpose of peripheral devices to minimize the utility of infrastructure of silicon.
Numerous protocols fall under the AMBA protocol, such as AXI, AHB, and APB.
Due to its optimization for lower power usage and interface intricate, it is referred to as a less expensive interface.
The advanced peripheral bus, or APB for short, is a non-pipelined connection method for low frequency
peripherals that don't need to utilize the AXI protocol. APB peripheral integration is as simple as connecting a
signal transition to the clock's rising edge in a design flow. At least two cycles are required for each transfer (the
setup and access cycles).
B. APB Signals
As illustrated in Figure 1, slave portion of the APB will receive the signals as inputs: PSEL, PWRITE, PRESET,
PENABLE, and PCLK. It will output 32 bits of PRDATA. PWDATA and PADDR have 32-bit inputs as well. The
signals of APB are explained in Table 1 below.
3190
required the bus will go into the setup phase; otherwise, it will stay in the Idle phase. In this phase, PWRITE,
PADDR, and PWDATA are also delivered. After one clock cycle of setup, the bus will automatically transit to the
final state i.e., ACCESS state on the next positive clock.
3191
the first write transaction must require a minimum three clock cycles as a result of the figure 4 wait condition. The
subsequent write transfer should typically take two clock cycles once this requirement is satisfied.
3192
IV. RESULT
PRESETn signal is active low at T1 Clock cycle in order to reset the system.
PSEL signal will be asserted at T2 Clock cycle.
PENABLE will be asserted in the next Clock cycle of PSEL that is at T3 Clock cycle.
When PWRITE is asserted, Master is ready to write the data in to the slave Register that is at T4 Clock cycle
and also checks whether PSEL and PENABLE are asserted at the same T4 Clock cycle.
The Address of the slave Register PADDR is taken as 24’h (8bits) and PWDATA is 81’h (8 bits).
When the Slave is at T9 Clock cycle, it acknowledged to the Master that it is Ready to give the data by
asserting PREADY signal. Thus, at the same Clock cycle Master can read the data as 81’h from Slave Register
of Address 24’h.
V. CONCLUSION
The APB protocol and the AMBA bus design are described in detail in this work. The specification stated above
states that QUESTASIM is used for the design and verification of APB. The test case that we described here are
the multiple write transactions without wait, and the multiple read transactions without wait. As a result, the system
will be operated correctly. Additionally, QUESTASIM guarantees that design is functionally accurate.
REFERENCES
[1] ARM, “AMBA specification Overview”, http://www.arm.com
[2] G. Akhila, D. Ravali, J. Mallikarjuna Rao, B. Ramarao, “Design and Implementation of Amba APB Protocol Using System
VERILOG.” IJIRT, vol 9, Issue 1, June 2022, https://ijirt.org/master/publishedpaper/IJIRT155633_PAPER.pdf
[3] Santhi Priya Sarekokku, K. Rajashekar, “Design and Implementation of APB bridge based on AMBA AXI 4.0.” IJERT,
vol.1, Issue 9, Nov 2012.
[4] VERILOG Reference Manual http://www.accellera.com
[5] Samir Palnitkar, “Verilog HDL: A guide to Digital Design and Synthesis (2nd Edition), Pearson, 2008.
3193