Documente Academic
Documente Profesional
Documente Cultură
SoC Architectures
Pranay Samanta#1, Deepak Chauhan*2, Sujay Deb#3, Piyush Kumar Gupta*4
#
Electronics and Communication Engineering, Indraprastha Institute of Information Technology
New Delhi, India
1 3
pranay1299@iiitd.ac.in, sdeb@iiitd.ac.in
*
ST Microelectronics
Greater Noida, India
2 4
deepaks.chauhan@st.com, piyush-kumar.gupta@st.com
Abstract— In this paper, we propose the design and
development of verification IP (VIP) of STBUS, a widely used III. STBUS VIP AND VERIFICATION ENVIRONMENT
bus protocol from STMicroelectronics [1]. VIP is a standalone, STBUS is an on-chip bus protocol developed by ST
pre-verified and built-in verification infrastructure, which can be Microelectronics. We have verified Type 1 and Type 3
easily plugged in the simulation-based tests. We have followed protocols and made VIP of both type. Discussion has been
Universal Verification Methodology (UVM) for the modelling of
done about the components of the VIP in below. Fig. 1 shows
the STBUS VIP. Firstly we have verified the important
properties of the STBUS protocol and made the VIP. Then we the architecture of the STBUS VIP.
have shown how to use the VIP in a SoC to verify IPs. Agent: Agents are the environment integrator which integrates
driver, sequencer and monitor together. STBUS VIP has two
Keywords— VIP, UVM, STBUS, functional verification, DUT. active agents to implement initiator and target respectively.
Init Agent (Agent of initiator block) initiates transaction to the
I. INTRODUCTION Device under test (DUT). Targ Agent (Agent of target block)
In general to verify a SoC the first step is to verify the reacts to the transaction and responses.
standard bus interconnecting IP Cores in the system [2]. The Driver: Drivers are the active entity of the design. Driver
full verification process of SoC consumes on average 70% of emulates logic that drives to DUT. It repeatedly receives data
the total design time. In this work, we concentrate on items from the sequencer and sends it to the DUT. After
following problems: sending the transaction to the DUT, it sends item_done signal
1. Verify a bus protocol which is an essential part of SoC to the sequencer to inform that the request has been sent. The
verification. driver of initiator agent sends a request transaction to the
2. Make VIP of that bus protocol. interface. The driver of target agent sends the response of the
3. Using that VIP, a SoC is verified and coverage is checked. requests to the interface.
To illustrate our methodology, we have verified the STBUS Sequencer: Sequencers use the defined sequence_item (In our
protocol, and then made a VIP of the STBUS protocol. Then VIP, it is the packet corresponding different signals of STBUS
we have used that VIP in register write/read operation and protocol), randomizes it, and sends it to the driver when
basic data flow in a SoC. requested. The users can constraint the values of the data
items also. As we are verifying a bus protocol, the function of
VIP is a reusable verification environment and so it can be the initiator sequences is more important as we drive different
used to verify different SoCs designed using STBUS. The in- stimuli via the initiator driver to the interface to verify
built tests employed in the STBUS VIP can give a jumpstart different properties of the bus protocol. The sequencer of the
to achieve the required coverage goal which results in target is used to make the target driver working.
decrease of the verification time. Monitor: We have implemented a common monitor for both
the agents, so it works as bus monitor. It monitors and collects
II. LITERATURE SURVEY
transactions from the interface sent by both initiator and
Before introduction of UVM, the industry has used several target. The transactions then are sent to the coverage checker
methodologies for hardware verification and making VIPs. In and scoreboard for checking purposes via analysis port.
[3] eRM, Advanced Verification Methodology (AVM), Scoreboard: We have implemented a scoreboard to check
Universal Reuse Methodology (URM), Open Verification whether DUT is working correctly. This includes ensuring the
Methodology (OVM) have been used to create the verification accurate functioning of DUT and proper handling of all
testbench. UVM is the latest methodology created by stimuli that DUT receives.
Accellera [4]. Bus protocol such as PCI local bus has been Coverage Collector: STBUS VIP has a coverage collector to
done widely in various works [5]. More advanced bus monitor the functional coverage. The covergroup, coverpoint,
protocol verification like AMBA has been done in [2] which and coverbin has been used to record the functional coverage.
supports burst transfer. Environment: The env is used to connect all the components