Design of Efficient AMBA AHB Arbiter
Design of Efficient AMBA AHB Arbiter
Abstract: Many separate IP cores are coupled together with a complicated on-chip bus
communication architecture in a typical System-on-Chip (SOC) design. In complicated
SOC design, the on-chip bus communication architecture is a major predictor of total
performance. AMBA, Wishbone, Core Connect, Avalon, and other connection buses are
often used in the industry. AMBA is the most popular of the three because it has a
hierarchy of buses, with AHB (Advanced High-Performance Bus) for high-performance
peripherals and APB (Advanced Peripheral Bus) for low-performance peripherals. When
dealing with several masters seeking to access a single data bus, resolution is a major
difficulty in SOC. At such point, an arbiter is crucial. The goal of this research is to
develop RTL code for AMBA AHB arbiter and perform STA to improve the timing
aspects. The RTL is developed for a generic number of masters, allowing us to add and
remove them as needed. For Synthesis and STA (Static timing analysis) of the design, I
have considered mylib.db as TL (Technology library). And finally, I generated the netlist.
The design architecture is written using Verilog HDL code and STA is done using DC
(Design compiler from Synopsys) tools. The architecture is modelled and synthesized
using RTL (Register Transfer Level) abstraction.
Keywords: AMBA, AHB, Arbiter, SOC, IP, RTL, STA, Synthesis, TL, Verilog HDL.
1. Introduction
The manner in which the functional units exchange and synchronise their data is
determined by the on-chip bus communication architecture, which has a significant
impact on the system's performance. As more IP cores are introduced into the design
platform, the bandwidth of communication between them grows, and thus becomes a
source of performance bottlenecks. One of the most important components of a SOC
platform is the on-chip bus communication architecture. The interface behaviour of
each IP block integrated into the complicated SOC must be satisfied by an efficient on-
chip communication system. There are a variety of commercially defined
communication architectures available on the market, each with its own bus protocol.
For example, OMI's PI-Bus, ARM's AMBA bus, Mentor Graphics' FISP bus, IBM's
Core-Connect, Sonics' Silicon backplane, and Silicore's Wishbone, among others.
The Advanced Microcontroller Bus Architecture (AMBA) is an open standard on-
chip interconnect architecture for connecting and managing functional blocks in a
system-on-chip (SoC) AMBA aids in the construction of multiprocessor designs with a
large number of controllers and peripherals that are done perfectly the. The Advanced
Microcontroller Bus Architecture (AMBA) has the capability of reusing designs, which
means it can reuse IP. In today's technology, IP re-use is a critical aspect in lowering
development costs and timelines for System-on-Chip (SoC). AMBA is a standard
interface specification that ensures that IP components from different design teams or
manufacturers are compatible.
This research focuses on AMBA AHB, specifically AHB arbiter. With the growing
number of system components in SOC architecture, an efficient arbiter becomes one of
the most crucial variables in ensuring the system's high performance. Bus with
Advanced High-Performance Technology (AHB) The AMBA AHB is a high-
performance system module with a high clock frequency [1].
2. Overview of AMBA Buses
The Advanced High-Performance Bus (AHB), Advanced System Bus (ASB), and
Advance Peripheral Bus (APB) are the three buses defined in the AMBA 2.0
specification (APB) [1].
The AHB serves as the system's high-performance backbone bus. Processors, on-chip
memories, and off-chip external memory interfaces may all be connected efficiently
with AHB's low-power peripheral macro cell features. AHB is also designed to be
simple to utilise in a design flow that includes synthesis and automated testing. ASM
(Advanced System Management) (ASB). The AMBA ASB is a system module for
high-performance systems. AMBA ASB is a system bus that can be used in situations
where the high-performance capabilities of AHB aren't required. ASB also enables
low-power peripheral macro cell functionalities to connect CPUs, on-chip memories,
and off-chip external memory interfaces. APB (Advanced Peripheral Bus) is a type of
peripheral bus (APB) Low-power peripherals are the focus of the AMBA APB. To
support peripheral functions, AMBA APB has been tuned for low power consumption
and decreased interface complexity. The APB protocol can be used with either version
of the system bus [4].
3. Design Flow
ASIC design flow is now a highly developed and sophisticated process. Until date,
the overall ASIC design flow, as well as the many processes inside it, have shown to be
both practical and robust in multi-million dollar ASIC designs. Let's have a look at
these processes in the design process in general. Figure 2.1 shows the VLSI design
flow [5].
Figure 6.4 Wrap cycle with wait state and idle state
6. Static timing analysis (STA) Reports
Design Compiler (DC) tool from Synopsys was used for carrying out the STA. Netlist
and the timing reports are generated.
Setup Report
Setup slack is the margin by which a timing path meets setup check requirement. If
setup slack is positive, it means the timing path meets setup requirement. On the other
hand, a negative setup slack means setup violating timing path. If, by chance, a
fabricated design is found to have a setup violation, you can still run the design at less
frequency than specified. From Figure 6.5 we can see that this design don’t have
negative setup slack.
Figure 6.5 Setup report
Hold Report
Similar to setup slack, the presence and magnitude of hold violation is governed by a
parameter called as hold slack. If hold slack is positive, it means there is still some
margin available before it will start violating for hold. A negative hold slack means the
path is violating hold timing check by the amount represented by hold slack. From
Figure 6.6 we can see that this design don’t have negative hold slack.