Uploaded by Shiva Suryam

project report

advertisement
Project
RISC-V
Physical Design
Submitted by:
Gowtham Yechuri
(PD - 04)
Under the esteemed guidance of
Mr.MaheeshaNB
Technical Trainer
1|P ag e
TABLE OF CONTENTS
S.No
Title
Page No.
1
RISC-V
3
2
Design Compiler
7
3
ICC-II Compile Flow
14
2|P ag e
CHAPTER 1
RISC-V
Objectives:
 To understand how to come up with various file like .tcl,
.sdc, .vew, .def, .tech, .v, .vcs, and various reference libraries
required for the physical design process and how to source those
files.
 To understand how to do the process of synthesis, dft, floorplan,
powerplan, placement, clock tree synthesis, routing and signoff.
 To understand how to correlate all the above process and how to
handle the errors occuring during the physical design.
What is RISC-V?
RISC-V stands for reduced instruction set computer (RISC) five.
The number five refers to the number of generations of RISC
architecture that were developed at the University of California,
Berkeley since 1981.
RISC-V is an open-source instruction set architecture (ISA) used
for the development of custom processors targeting a variety of end
applications.
Unlike proprietary processor architectures, RISC-V is an open-source
instruction set architecture (ISA) used for the development of custom
processors targeting a variety of end applications. Originally developed
at the University of California, Berkeley, the RISC-V ISA is considered
the fifth generation of processors built on the concept of the reduced
instruction set computer (RISC). Due to its openness and its technical
merits, it has become very popular in recent years. The standard is now
managed by RISC-V International, which has more than 3,000
3|P ag e
members and which reported that more than 10 billion chips containing
RISC-V cores had shipped by the end of 2022. Many implementations
of RISC-V are available, both as open-source cores and as commercial
IP products.
How does RISC-V work?
As an open-standard architecture, RISC-V is defined by member
companies of RISC-V International, the global nonprofit organization
behind the ISA. The intent is that through collaboration, the member
companies can contribute new avenues of processor innovation while
promoting new degrees of design freedom.
The royalty-free RISC-V ISA features a small core set of instructions
upon which all the design’s software runs. Its optional extensions allow
designers to tailor the architecture for a variety of different end markets.
Essentially, the RISC-V architecture allows designers to customize and
build their processor in a way that’s tailored to their target end
applications, so they can optimize the power, performance, and area
(PPA) for those applications. The RISC-V ISA also provides the
flexibility to pick and choose from available features, rather thanhaving
to use the full feature set.
While the initial market adoption of RISC-V has been with embedded
applications and microcontrollers, the open-source architecture also
holds promise for high-performance computing and data centers.
The history of RISC-V
RISC-V began as a project at UC Berkeley to create an open-source
computer system based on RISC principles. It was initially designed
for academic use. The standard has evolved and is now managed by
RISC-V International.
The RISC-V International organization has moved its headquarters to
Switzerland to maintain neutrality for designers worldwide without any
government regulations.
4|P ag e
The ecosystem is emerging and growing to support the standard. As the
adoption rate accelerates, industry collaboration continues, further
evolving the architecture.
What are the benefits of RISC-V?
RISC-V has gained popularity because the architecture provides
simplified instructions to the processor to accomplish various tasks. It
also enables designers to create thousands of potential custom
processors, facilitating faster time to market. The commonality of the
processor IP also saves on software development time. Other benefits
of RISC-V include:
Its open-standard nature, which allows collaboration and
innovation across the industry
 Common ISA, which helps make software development easier
since all processors could potentially use the same architecture.
Designers can use the same base ISA, from simple embedded
devices to the largest supercomputers, tailoring their device to the
needs of the market. Compared to previous ISAs, RISC-V ISAs
have unique features and can be customized based on their
requirements.
 Availability of smaller, energy-efficient, and modular options
 Security features, which are available through open-source
reference designs, software composition analysis tools, and
security extensions. In addition, its open-source nature means that the
entire RISC-V architecture can be scrutinized closely in the
public domain, eliminating back doors and hidden channels.

What are key RISC-V applications?
The application options are endless for the RISC-V ISA:
5|P ag e
 Wearables,
Industrial, IoT, and Home Appliances. RISC-V
processors are ideal for meeting the power requirements of spaceconstrained and battery-operated designs.
 Smartphones. RISC-V cores can be customized to handle the
performance needed to power smartphones, or can be used as part
of a larger SoC to handle specific tasks for phone operation.
 Automotive, High-Performance Computing (HPC), and Data
Centers. RISC-V cores can handle complex computational tasks
with customized ISAs, while RISC-V extensions enable
development of simple, secure, and flexible cores for greater
energy efficiency.
 Aerospace and Government. RISC-V offers high reliability and
security for these use applications.
Who's using RISC-V?
The industry is seeing a large amount of interest in this processor IP.
RISC-V IP is expected to grow at a compounded annual growth rate of
35% projected through 2027. There are three main market segments
interested in the RISC-V architecture:
 IP providers who can offer their own designs
 SoC teams using commercial IP
 Designers building custom, RISC-V processor-based SoCs
RISC-V Design and Verification Challenges
RISC-V presents special challenges because its specification is
designed to provide a configurable and customizable solution for
general-purpose processors. There are many options and variations
defined in the ISA specification, and users are permitted to extend the
ISA even further by adding custom instructions. Therefore, any RISCV verification solution must be flexible enough to accommodate
customizations.
6|P ag e
CHAPTER 2
DESIGN COMPILER
Basically, Design Compiler optimizes a design to provide
miniaturized and fastest representation of logical function. It also
provides topographical technology, which allows us to predict
accurate post- layout, timing, area and power during RTL. synthesis.
We know that Design compiler is a Graphical tool which helps us in
finding a multicore-multimode designs and allows us to create and
modify floorplan I came across that it also reduces routing congestion
and it improves area similarities. Usually we came across logic
synthesis which is the process of converting Verilog to gate-level
netlist which is mapped to a specific logic library and we check
whether the synthesized design meets required functionality timing,
power, and area requirements.
Design Flow
Basically, design flow consists of three steps i.e.
 Synthesis
 Optimization
 Compile
Synthesis
As we know in this stage it generates a gate-level netlist from a RTL
and design is created. Synthesis is a process where different inputs are
required to carry out the design.
 Technology Files (tf)
 Reference libraries(ref.lib)(.DB'S)
 RTL(Verilog code)
 Design constraints(.sdc)
 Floorplan constraint
7|P ag e
 TLU-plus files(parasitic files)
 DFT inputs
Optimization
Followed by synthesis we have optimization in this step we implement
a combination of library cells and we have to check whether we
obtained required function, area and power
Compile
Compile is the Design Compiler process that executes the synthesis and
optimization steps. After you read in the design and perform other
necessary tasks, you run the "compile_ultra or compile" command to
generate a gate-level netlist for the design.
The following are the output which are generated after synthesis
 Area
 Power
 Timing
 Design details
 Netlist
 Design constraints file
 Parasitic extraction
 SDF file (Standard delay format)
8|P ag e
Command Flow:
9|P ag e
Power:
 Using Design compiler we can automatically minimizes power
consumption at the RTL and gate level, and enables concurrent
timing,area,power and test optimizations within the Design
Compiler
 The command used to get power report is report_power.
Timing:
 In Timing we can consider the following types of paths for timing
analysis: Clock path, a path from a clock input port or cell pin,
through one or more buffers or inverters, to the clock pin of a
sequential element; for data setup and hold checks. Clock-gating
path.
 The command used to get timing report is report_timing.
10 | P a g e
Congestion:
 If the number of required routing resources are more than the
number of available routing tracks, then the area becomes
congested. High congestion causes detours and leads to worse
results. Congestion makes the design non-routable that means
routing will not be converged if there are congestion in the design.
 The command used to get congestion report is report_congestion.
11 | P a g e
Report_qor:
 The command used to get quality of report summary
is report_qor.
12 | P a g e
Schematic View Generated by Design Compiler:
13 | P a g e
CHAPTER 3
ICC-II COMPILE FLOW
ICC II Compiler is a complete netlist-GDS implementation, which,
includes innovative for flat and hierarchical design planning, early
design exploration, Congestion aware placement and optimization,
clock tree synthesis, advanced node routing convergence,
manufacturing compliance and signoff closure.
We have some set of inputs which we have to provide for ICC II tool
such as
 Technology files(tf) & Netlist
 NDM library's
 TLU-plus files
 Design constraints file from DC
ICC II tool is basically a PNR (Power and Routing) tool which can
process some particular steps as follows.
 Floor Planning
 Placement
 Clock Tree Synthesis
 Routing
Step 1: First step in ICC II compiler is creating a library, we can create
a library by using the same library file and Technological files. To
create a library, Create_lib command is used where in which it is
supported with all the technology files and library name.
Step 2: In this step ICC II reads a library in the form of NDM's i.e.,
Reading RTL and the reading SDC which is generated from Design
compiler.
14 | P a g e
Step 3: This step involves floor planning which in turn involves
determining the locations, shape, size of modules in a chip and we can
get a rough estimation of the chip area, delay and the wiring congestion
thereby providing a ground work for layout.
Step 4: In this step a default parasitic model is created with targeting
of TLU +files and its related map files & all the related scenarios
targeting to different PVTs should be created.
Step 5: Placement Creation
Step 6: Clock Tree Synthesis
Clock Tree Synthesis is a technique for distributing the clock equally
among all sequential parts. The purpose of Clock tree Synthesis is
provided the placement data as well as the clock tree limitations as
input
A signal with constant rise and fall with ideally equal width (50% rise
and 50% fall of the signal width) helps to control data propagation
through the clock elements like Flip-Flop, Latches etc. The clock
source mostly present in top-level design and from there propagation.
PLL Oscillator like constant sources are being used normally in designs
to get the clock.
Inputs of CTS:
 Placement DB
 CTS Spec File
Placement DB:
Placement DB contains Placement completed Netlist, DEF, LIB, LEF,
SDC, UPF and other information which contain all the files from the
placement database. This can be a zipped file. This DB is also known
as PLACE EXIT db. Which means we are not going to do any standard
cell placement and related things here onward.
15 | P a g e
CTS Spec File:
CTS spec file contains the below information:
 Inverters or buffers to be defined which will be used to balance
the clock tree.
 CTS Exceptions (End points of clock tree).
 Skew group information.
 Contains target Skew, max target transition and other timing
constraints as per clock tree.
 Top layer and bottom layer route info. VIA's information which
will be used during clock route.
 Clock related info (Generated clocks (Eg. Clock divider, Clock
multiplier etc)).
 NDR Rule definition.
Step 7: Routing
Routing is the process of path selection in any network. A computer
network is made of many machines, called nodes, and paths or links
that connect those nodes. Communication between two nodes in an
interconnected network can take place through many different paths.
There are three types of Routing:
 Static Routing.
 Default Routing.
 Dynamic Routing.
16 | P a g e
Command Flow:
17 | P a g e
Final Routed Design:
18 | P a g e
Timing:
 In Timing we can consider the following types of paths for timing
analysis: Clock path, a path from a clock input port or cell pin,
through one or more buffers or inverters, to the clock pin of a
sequential element; for data setup and hold checks. Clock-gating
path.
 The command used to get timing report is report_timing.
19 | P a g e
Power:
The command used to get power report is report_power.
Congestion:
 If the number of required routing resources are more than the
number of available routing tracks, then the area becomes congested.
High congestion causes detours and leads to worse results. Congestion
makes the design non-routable that means routing will not be converged
if there are congestion in the design.
 The command used to get congestion report is report_congestion.
Report_qor:
 The command used to get quality of report summary
is report_qor.
20 | P a g e
Check_LVS:
21 | P a g e
Check_routes:
Report_utilization:
22 | P a g e
Download