Design and Verification of AHB Protocol Using SystemVerilog and UVM
Design and Verification of AHB Protocol Using SystemVerilog and UVM
Design and Verification of AHB Protocol Using SystemVerilog and UVM
ABSTRACT :
Recently, VLSI technology has improved significantly and more transistors can be incorporated in a chip. A
System on-Chip (SOC) Configuration have number of blocks are integrated on a single chip. Numerous blocks
are integrated in single IC, but to access their function, they requires a powerful communication architecture.
This can only be achieved by using on-chip bus architecture to meet their requirements. Different Companies
has various on-Chip Bus architectures but one of the most suitable architecture is AMBA by ARM. AMBA
consist of three buses, namely, Advanced System Bus (ASB), Advanced Peripheral Bus (APB) and Advanced
High Performance Bus (AHB).when compared to other two buses AHB is high performance, high bandwidth
and for high clock frequency system modules the System designers select AHB as their primary choice. The
AHB (Advanced High-performance Bus) is a superior bus in AMBA (Advanced Microcontroller Bus
Architecture) family. It is a norm for intercommunication of modules in a framework. The AHB (Advance High
performance) bus Standards are characterized by ARM which supports for the communication of on-chip
memories, processors and interfaces of external off-chip memory. Here the basic blocks such as master, slave,
decoder, and arbiter are used to design and verify an AHB that supports multiples master and multiples slave.
The conventional way of verification is simulation based. As the Technology improves the complexity of IC’s
has been increased. Thus, time spent on verification has also been increased. The main focus is to design of
AHB protocol in Verilog and verify using Hardware verification language such as System Verilog and standard
Methodology such as Universal Verification Methodology (UVM). QuestaSim (Advanced verification tool from
Mentor Graphics) is an EDA tool used to simulate and verify the design and obtain Coverage report.
Keywords – AMBA, AHB, APB, ASB, OCB, SOC, UVM
---------------------------------------------------------------------------------------------------------------------------------------
Date of Submission: 10-07-2021 Date of Acceptance: 26-07-2021
---------------------------------------------------------------------------------------------------------------------------------------
used for optimizing power consumption. AMBA is
I. INTRODUCTION the Standard bus-based microcontroller typical
1.1 About AMBA bus feature a high-performance system hub bus (AHB or
The AMBA is an Advanced ASB) that supports for external memory bandwidth,
Microcontroller Bus Architecture defined by ARM, including CPUs, on-chip memories, and other direct
it is an open standard widely used for an on-chip bus data access (DMA) devices. For most of the
system. The standard is intends to simplify the transmission between various units, such as CPUs,
component design by allowing the use of on-chip memories, and DMA, the bus serves as a
interchangeable parts the within the SoC style. It high bandwidth interface.
promotes the use of holding parts, so that a
minimum of a neighborhood of the SoC can be
reconstructed, instead of having to rewrite it entirely
each time. AHB (Advanced High-performance Bus),
ASB (Advanced System Bus), and APB (Advanced
Peripheral Bus) are the bus groups defined in the
AMBA AHB. The AHB is employed for high-
performance, high frequency architecture. These
applications includes are ARM cores and high-speed
RAM inside the system, Nand Flash, DMA and
Bridge links. [1] The APB is used for connecting
external devices such as UART, keypad and timer,
and has low performance requirements, while it is
HTRANS [1:0]: Indicates the type of HSIZE HSIZE HSIZE Size Description
transfer such as idle, busy, sequential and non- [3] [2] [0] (bytes)
Sequential. 0 0 0 1 Byte
0 0 1 2 Half word
0 1 0 4 word
Type Description Table.2: HSIZE type
HTRANS
Master uses the idle HBRUST [3:0]: Indicates Type of burst
transfer when it does operation such as fixed type, increment type and 4-
not wish to perform beat wrap and 4-beat increment type [6]
Idle the data transfer the .
00 slave must ignore HBURST[2:0] Type Description
the data by sending b000 Fixed/Single Fixed burst
the OKAY response b001 Single INCR Increment
to the master type
The busy transfer b010 WRAP4 4-beat
type used to insert wrapping
the idle cycle in burst
between the burst b011 INCR 4-beat
01 Busy and the master Increment
address and control burst
reflect in the next Table.3: BURST type
burst transfer the
slave must provide HWDATA [31:0]: The write data bus
the zero OKAY which is used to transfer the data from master to the
state response to the slave during write operation.
master
The address and 3.1.2 AHB Slave
11 Non control signal is not The AHB slave response to the transfer
sequential related to previous given by the master and the decoder is used to select
transfer and it of the slave based on the HSELx signal it is the slave
single burst type or signal used to select the slaves and the response is
fixed type burst send to the master based on HRESP. There are two
The remaining types of response given to the master if the data is
transfer of burst is successfully read by the slave it give OKAY
related to sequential response for the slave if it unsuccessful it provide
10 sequential the address and ERROR response.
control signal is
related to previous
and based on the
HSIZE[2:0] and
burst operation such
as wrap and
increment
Table.1: HTRANS Types
when it reached maximum. Initial transfer of burst as 5.4 System Verilog top module waveform
transfer type non sequential (11) is given for stating
single burst later for next transfer sequential (10) is
related to the previous address and next burst
operation continuous sequentially when it each
address boundary again the address get wrapped to
initial boundary.
report it is basically a functional coverage report. The AHB bus is designed which supports for
The bins are created based on the constraints. And multiple masters and slaves. Which consist of basic
applied the test cases if they met then that blocks such as master, slave, decoder and arbiter.
functionality is said to be hit or covered. Here the The AHB design Block is designed using Verilog
overall coverage report obtained is 100%. HDL and verified using the system Verilog and
Universal verification methodology. The Tool used
5.6 UVM top module waveform is Questa sim is an EDA tool used to simulate and
verify the design and obtained the coverage report.
Which says that the functionality is correct. The
UVM report summary also ensure that functional
Correctness of the design. In the present work we
have designed AHB which support for 3 master and
3 slaves. Developing the design which can support
for 16 master and 16 slaves could be the future work
of this project design.
REFERENCES
[1]. Dr. Priyanka Choudhury, Perrumalla Giridhar
“Design and Verification of AMBA AHB”,
1st International Conference on the Advanced
Technology in Intelligent Control,
Environment, Computing & Communication
Engineering (ICATIECE) in IEEE 2019.
Fig.17: UVM testbench environment [2]. P.Harishankar, Mr. Chosen Duari Mr.Ajay
Sharma, “Design and Synthesis of Efficient
Figure 17 shows the UVM testbech Waveform for FSM for Master and Slave Interface in
multiple master and slaves. AMBA AHB”, International Journal of
Engineering Development and Research”,
5.7 UVM report summary IJEDR, Volume 2, Issue 3, ISSN: 2321-9939,
2014.
[3]. Shivakumar B.R Deeksha L, “Efficient
Design and Implementation of AMBA AHB
Bus Protocol using Verilog”, International
Conference on Intelligent Sustainable System,
(ICISS) in IEEE, 2019.
[4]. Mr. M. Naresh Kumar, K.Manikanta Sai
Kishore “Design and Implementation of
Efficient FSM for AHB Master and Arbiter”,
International Journal and magazines of
Engineering Technology, Management and
Research ISSN No. 2348-4845, 2015.
[5]. Shraddha divekar, Archana Tiwari
Fig.18: UVM report summary “Multichannel AMBA AHB with Multiple
Arbitration Technique”, International
UVM report dives information about the Conference on Signal Processing and
result obtained after Simulation of UVM test bench. Communication, Apr 3-5, 2014.
Figure 18 shown below the UVM report generated [6]. Jayapraveen and T.G. Priya “Design of
after passing all the UVM phases. UVM_INFO in Memory Controller based on AMBA AHB
the report conclude that there are 252 information protocol”, “Elixir International Journal 51A,
messages. The UVM report Summary explain the Vol.2, pp. 11115-11119, 2012.
design as no errors and it does not have fatal error. [7]. Chrisspear, System Verilog for Verification,
Because UVM_ERROR, UVM_WARNING and New York: Springer, Rath A.W, Esen. V and
UVM_FATAL is equal to 0. Ecker.W, A transaction Oriented UVM-based
Library for Verification of analog behavior
VI. CONCLUSION AND FUTURE SCOPE Publication year: 2014 pages(s):806-811.
The paper gives an Overview of AMBA
bus Architecture and discussed the AHB protocol.
Dilip K, et. al. “Design and Verification of AHB Protocol Using System Verilog and Universal
Verification Methodology (UVM).” International Journal of Engineering Research and
Applications (IJERA), vol.11 (7), 2021, pp 32-41.