RTL To GDS Implementation and Verification of UART Using UVM and OpenROAD1
RTL To GDS Implementation and Verification of UART Using UVM and OpenROAD1
net/publication/378193036
CITATIONS READS
0 229
3 authors, including:
Shrikant Jadhav
San Jose State University
32 PUBLICATIONS 63 CITATIONS
SEE PROFILE
All content following this page was uploaded by Shrikant Jadhav on 06 April 2024.
Abstract—The paper outlines a thorough Application Spe- and simulation are employed to verify compliance with the
cific Integrated Circuit (ASIC) design flow for Universal Asyn- requirements. The gate-level representation is transformed into
chronous Receiver and Transmitter (UART) utilizing RTL to a physically feasible layout in the physical design stage. Tasks
GDS implementation and verification. Hardware verification
employs the Universal Verification Methodology (UVM), while like floorplanning, placement, clock tree synthesis, routing,
the OpenROAD tool is integrated for physical designs spanning and optimization are performed to meet time, power, and
synthesis to Graphic Data System (GDS). The paper states the rel- space constraints. Once the final layout database is created,
evance of UART in real-time systems, particularly in the context containing all the necessary design data, it is ready for manu-
of the increasing prevalence of IoT and Big Data applications. It facturing after thoroughly reviewing it and satisfies all relevant
delves into the encountered challenges during the research project
and offers recommendations for future advancements. Through requirements. The manufacturing process involves sending this
our experimentations with the OpenROAD, we demonstrated the database to a semiconductor foundry for fabrication.
design and verification process of the sophisticated digital circuit. The verification process plays a critical role in developing
The results of the verification are shown via waveforms for test Very Large Scale Integration (VLSI) chips. It involves running
cases. The results of the backend implementation include layouts numerous test cases to ensure the design functions as intended.
and a QoR (Quality of Results) report table. The paper concludes
by stating the significance of each stage in the ASIC design Verification and performance measurement of integrated cir-
cycle with future scope in optimizing the design for heightened cuits are demanding tasks that require significant time and
frequencies and enhanced performance. effort. As the complexity of the device design increases, verifi-
Index Terms—UART, OpenROAD, Verilog, UVM, ASIC, Phys- cation becomes even more challenging. Traditional verification
ical design, approaches often lack reusability, and their time to market is
typically lengthy. The UVM library addresses these limitations
I. I NTRODUCTION by providing reusable components and testing environments
With the increase of IoT applications, HPC, and Big Data using System Verilog. UVM is a widely adopted methodology
solutions, it has become crucial to have a communication for verifying integrated circuit designs, offering advantages
protocol to match those demands. A reliable, reusable, and such as reusability, scalability, and interoperability. Employing
plug-and-play solution can help with the sharp rise in data UVM enables the realization of these qualities and brings
communication. In real-time systems, a communication proto- multiple benefits to the verification process. The physical de-
col is center stage for peripherals to interact with the processor, sign of the UART is facilitated using the OpenROAD toolsets
so the propagation delay would be as low as possible. If the [1]. OpenROAD is a leading open-source application for
communication is not reliable, the real-time system would semiconductor digital design. It aims to promote open access,
essentially be a failure. UART is often used as an Integrated expertise, rapid innovation, and accelerated design turnaround
Circuit (IC) for serial communication through a computer or by eliminating hardware design barriers related to cost, risk,
a peripheral device. and uncertainty. It offers flexible flow control by providing an
The first step of the ASIC Design flow is the register API with TCL and Python bindings. It is an integral part of
transfer level (RTL) design, where the high-level architectural open-source digital design flows, exemplified by OpenROAD-
description is transformed into a digital representation using flow-scripts. In this paper, the physical design using Open-
hardware description languages (HDLs) like Verilog or VHDL. ROAD is presented. Physical design plays a vital role in
This involves designing and implementing the behavior and creating a wide range of products, systems, and structures,
connections of individual digital components. After RTL im- encompassing architecture, industrial design, integrated circuit
plementation of a digital component, it undergoes rigorous layouts, and urban planning. It transforms intangible require-
functional verification to ensure it executes as expected. ments, ideas, and concepts into tangible and practical forms.
Techniques such as hardware emulation, formal verification, Physical design aims to optimize the placement of elements
and physical features to achieve effectiveness, efficiency, and
979-8-3503-6013-4/24/$31.00 ⃝2024
c IEEE user satisfaction. Partitioning is a crucial step in physical
0713
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
design, where a complex circuit is divided into manageable
subsystems or sub-blocks with minimal interconnections. Dur-
ing this phase, each block’s shape and approximate location
on the silicon chip are determined. The placement of pins for
each block is also decided, ensuring easy routing of connec-
tions between these blocks in the future. Placement involves
precisely positioning the sub-blocks to allow sufficient space
between them for routing Vdd and Ground supply lines and
connector wires. Static timing analysis is performed on the
final routed netlist, representing or simulating the chip’s layout
to validate its timing performance. To ensure the design’s
functionality remains unchanged, Layout vs. schematic (LVS)
equivalency verification and physical design implementation
Layout is conducted. These steps confirm that the design’s
intended functionality is preserved throughout the physical
design process. Fig. 1. UART Design
0714
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
Fig. 2. Transmitter block Diagram Fig. 4. Receiver Block Diagram
0715
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
machine switches to PARITY-CHECK-STATE after receiving
all the data bits and the parity bit, which checks the parity bit
for parity mistakes.
IV. P HYSICAL D ESIGN I MPLEMENTATION
We used an open-source tool for RTL to GDS flow,
OpenROAD, for the backend implementation. The flow starts
with the design synthesis. It takes inputs such as HDL files
(.v, .sv, .vhd), libraries, and constraints (.sdc), generating a
netlist for the area and timing reports. We have used 7nm
FINFET process technology. The output of the synthesis stage
is provided as input to the partitioning along with physical
libraries (.lef file) to get the design portion. The output of the
partitioning is fed to the floorplan that generates a .def file.
The placement stage places the cells in their unique position
on the floorplan. The clock tree is generated using RC delay
models.
The timing tool performs a timing analysis of the design and
generates a timing report. OpenROAD has a separate tool for
every stage. The synthesis uses Yosys and ABC, the floorplan
uses Placer PDN, and the placement uses RePLace, Resizer,
and OpenDP. The clock tree synthesis uses TritionCTS, and Fig. 6. Test Plan Flowchart
routing uses FastRoute. Tools like Magic and Klayout are used
for checks and GDSII generation. The flow also generates logs
and reports, which are used to analyze the performance of
the design. For example, the timing reports present the slack
value. The placement report mentions the utilization of macros
and standard cells. The routing stage provides the congestion
report, which implies the amount of congestion between two
metal layers. These metrics are used to analyze the design
performance.
V. UVM BASED V ERIFICATION
The flow chart in Figure 6 depicts the verification method-
ology used to verify UART hardware. We divided UVM
verification of UART into several steps. The first step is to
build a UVM test bench with a scoreboard, a monitor, and a
test sequence generator. In this instance, the test sequence gen- Fig. 7. UVM Environment
erator generates a stimulus that activates the UART module,
which is the Design Under Test (DUT). The monitor gathers
data from the signals sent and received at the DUT’s interface to the scoreboard. The scoreboard analyzes any discrepancies
produces transactions sent to the scoreboard. The scoreboard between the transactions produced by the monitor and the
analyzes any discrepancies between the transactions produced expected transactions and reports them. If there are any dis-
by the monitor and the expected transactions and reports them. crepancies, the testbench can be troubleshot to determine the
The driver uses the virtual interface to communicate the trans- root of the issue. UVM can be used to automate, standardize,
actions produced by the test sequence generator with the DUT. and streamline the verification of UART, producing designs
The sequencer manages the transaction flow to ensure that the with higher quality and faster time to market.
transactions are sent in the right order. In addition to isolating To drive the UART DUT with the test stimulus and record
the testbench from the DUT’s implementation specifics, the the response, the UVM environment is essential to the ver-
virtual interface offers a transaction-level interface between ification process. The UVM environment is built using the
the two. We have used an open-source simulation platform, libraries, a standardized methodology for developing reusable
EDA Playground [17], to run our simulations and waveforms. verification environments. Several UVM elements, such as the
The test sequence generator generates a stimulus sent to the agent, monitor, scoreboard, and driver, make up the UVM
DUT through the driver and the virtual interface during the environment. The agent is responsible for applying the test
simulation. The monitor gathers data from the signals sent and stimulus to the UART DUT and recording the response. It
received at the DUT’s interface and produces transactions sent includes a sequence generator that uses the earlier test plan
0716
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
Fig. 9. Receiver Simulation
0717
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
Fig. 10. Floorplan layout
Fig. 12. Route layout
behavior, and the operation of the UVM components. The Fig. 13. GDS generation
tests must be run to ensure that the changes have introduced
no new problems after the problems have been located and
fixed. The coverage report should be updated to reflect any layout of the placement stage. Figure 8 presents the layout of
additional coverage the modified tests may have produced. the placement stage. The standard cells are not placed inside
This iterative process is continued until the desired coverage the spaces created by the floorplan stage. Figure 12 shows the
and functionality objectives are met, and the UART DUT is output of the routing stage. The lines connecting two standard
prepared for integration into the larger system. cells are the metal layers. There are six metal layers, each
Figure 10 shows the output layout of the floorplan stage. The connected to a nearby layer with vias. Just like two floors of
arrows on the outside of the die are the inputs and outputs. a building are connected via pillars, similarly, all the layers
Inward arrows are inputs, and outward arrows are outputs. The are connected through vias. Figure 13 shows the final GDS
red lines are the Vdd and Vss, i.e., the power and ground pins. picture of the design. It contains the shape, size, and location
Starting from the top, the first red line is the power line, and the of every cell, along with the routing. The green lines are the
next is the ground line. The bold blue lines in the middle are metal layers, and the square shapes are the interconnections
the metal layers. The spacing between the red lines is where between them. Figure 13 shows the zoomed picture of the
the standard cells will be placed. Figure 11 shows the output GDS with the metal interconnections between two layers. The
0718
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
verification tools and the foundries use this file, for example,
Intel Foundry Services or TSMC, for chip fabrication.
Table 2 Key Parameters
No. Parameter Value
1 Technology Process node 7 nm
2 Clock frequency 25MHz
3 Setup slack -3.14 ns
4 Hold slack -155.97 ns
5 Utilization 0.56
6 Total Power 12.8 milli-watts
7 Average IR drop 74.9 milli-volts
8 number of nets 528
TABLE I
T EST C ASE C OVERAGE
C ONCLUSION R EFERENCES
This paper used a thorough and methodical methodology
[1] https://github.com/The-OpenROAD-Project/OpenROAD
across all stages of the design process, RTL design,
[2] Xi Jianbo, Xia Jijin, Luo Chuanhui, Deng Qingyong, and Zhu Peng,
verification, synthesis, and physical implementation, to “Verification method of FPGA universal configurable UART protocol
guarantee a solid and dependable design. The RTL design based on UVM”, Date published: 06/29/2016.
stage had the translation of the specifications into Verilog [3] Bidisha Kashyap and V Ravi, “Universal Verification Methodology
Based Verification of UART Protocol”, Date published: 05/12/2020.
code. The verification stage was essential to validate the [4] M Srinath and Sujatha Hiremath, “Verification of Universal Asyn-
functionality of the design. The physical design stage was chronous Receiver and Transmitter (UART) using System Verilog”, Date
important to visualize and look for the metrics to optimize published: 07/07/2022.
[5] Vivekananda T and Mahesh Kumar N, “Design and Verification of the
the current design. The current design has a considerable UART and SPI protocol using UVM”, Date published: 09/2022.
decent setup slack as well as the total power from Table 2. In [6] B. Priyanka, M. Gokul, A. Nigitha and J.T Poomica, “Design of UART
conclusion, an implemented ASIC design cycle demonstrates Using Verilog And Verifying Using UVM”, Date published: 03/19/2021.
[7] Yamini R and Ramya M V, “Design and Verification of UART using
the importance of every cycle step, right from RTL to GDS System Verilog”, Date published: 06/05/2020.
generation. The future work includes optimizing the design [8] Kumari Amrita and Avantika Kumari, “DESIGN AND VERIFICATION
at the RTL level, including pipelining. This can make the OF UART USING VERILOG HDL”, Date published: 01/2018.
[9] W.Elmenrwicb, M.Delvai, Time Triggered Communication with UARTs.
design work at greater frequencies. Finally, optimizing the In Proceedings of the 4th IEEE International Workshop Communication
design at the backend level to reach a more optimal value of Systems, Aug.2002.
performance, power, and area.. [10] Nithin Patel, Naresh Patel, VHDL Implementation of UART with BIST
Capability, Fourth International Conference on Computing, Communi-
cations, and Networking Technologies, pp 1-5, July 2013.
[11] Kashyap B, Ravi V. Universal Verification Methodology Based Verifica-
tion of UART Protocol. In Journal of Physics: Conference series 2020.
Dec 1 (Vol.1716, No. 1, p. 012040).
[12] Lingxi Kong, Qirui Niu and Pai Yang, ”Design and Implementation of
UART Based on Verilog HDL”, In ”Highlights in Science Engineering
and Technology” March 2023 (Vol.38, 949-955)
0719
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.
[13] S Harutyunyan, T Kaplanyan, A Kirakosyan and H. Khachatryan,
”Configurable Verification IP for UART”, 2020 IEEE 40th International
Conference on Electronics and Nanotechnology (ELNANO), pp. 234-
237, 2020 Apr 22
[14] S Kamshette, SA Gama and B. Patil, VERIFICATION OF UART IP
CORE USING UVM.(ICCCA2015).
[15] Irfansyah S. Design And Implementation of UART With FIFO Buffer
Using VHDL On FPGA. ICTACT J. Microelectron. 2019;5(01):7
[16] Ni W, Wang X. Functional coverage-driven UVM-based UART IP verifi-
cation. In2015 IEEE 11th International Conference on ASIC (ASICON)
2015 Nov 3 (pp. 1-4). IEEE.
[17] https://edaplayground.com/
0720
Authorized licensed use limited to: San Jose State University. Downloaded on April 06,2024 at 03:56:02 UTC from IEEE Xplore. Restrictions apply.