Professional Documents
Culture Documents
ISaac
Intelligent Systems and Advanced Computing
W A T Mahesh Dananjaya
dananjayamahesh@gmail.com
ISAAC – Intelligent Systems and Advanced Computing
DIGITAL INTEGRATED
CIRCUIT (IC) DESIGN
ISAAC
W A T Mahesh Dananjaya
University of Moratuwa
Sri Lanka
(dananjayamahesh@gmail.com)
ISAAC – Intelligent Systems and Advanced Computing
Contents
1 Integrated Circuit Design ................................................................................................................ 3
USER DESIGNER
Integrated Circuits
Analog IC Digital IC
And also modern IC design compromise to several common stages in both digital and analog
format. But processes carried out by different stages could be varying due to their nature.
General Integrated Circuit Design Steps are as follows whether it is a digital or an analog one.
ISAAC – Intelligent Systems and Advanced Computing
o Logical correctness
o Maximizing circuit density
o Placing circuits in a way so that clock and timing signals can be routed efficiently.
Digital Integrated circuit design flow can be categorized into three main sub domains,
o System Design
o RTL Design
o Physical Design
Then we have a fabrication process that is common for both digital and analog circuits design.
And also this design flow can be classified as three separated design perceptions
Digital Design
3 Physical Design
3.1 VLSI Physical Design
VLSI physical designs process is lying between synthesis process and fabrication
process. The design come out from the physical design layer can be directly used to fabrication
process. Although physical design is organized as a single component, it consist of several
different and significant design steps. Physical design steps belong to back-end design stage
and it is totally depends on the results given by synthesis process. And also tech library support
is paramount important for the physical design stage to reserve area, power and lesser cross
talks. Clustering, floor planning, placing, routing, clock tree synthesis (CTS) are the major
ISAAC – Intelligent Systems and Advanced Computing
physical design steps. Following diagram illustrate the position of physical design in the
common ASIC design flow.
Design Specification
Architectural Design
RTL Modeling
Synthesis
Physical Design
Fabrication
Floor Planning
Placement
Signal Routing
Timing Closure
o Full Custom
o Semi-Custom
o Precast
o Fabricated
o Fables
ARM cores are fabless cores and some cores are fabricated and sometimes they are used for
the SOC (System on Chip) design.
layout. Most of the time reconfigurable technologies such as FPGAs are categorizing into this
specific group. This technologies are based on the trial and error approach and used for research
and academic purposes. But in the recent history they have been deployed for some commercial
level applications.
Initial Process of the physical design is to convert synthesized logic cells into structures of
actual physical dimensions in the way that they suit to place to achieve best functionality. Floor
planning is the process of identifying physical structures and allocate area and other resources
to optimize the performance and chip size and also to decide the I/O structure and the aspect
ratio. Based on the area and the physical hierarchy floor plan will be designed and optimized.
This is the phase of identifying hard macros to the design used in design, memory and other IP
cores and placement requirements and routing possibilities. Therefore we need some input and
constraints to plan the floor.
This phase of better floor planning need to avoid the unnecessary wastages in chip/die
area and also to avoid routing congestions. Actual main concern when doing floor plan is the
tradeoff between area and the speed. This because due to placement potential and routing
resources available for routing. Best floor planed design may lead to less connection lengths,
reduction in area, shorter interconnect distances, modules/structures of the design to be much
closer, faster end-to-end signal flow paths and less routing resources to be used. This well
planned floor will cause to consistent and compromised placing and routing time. Especially
in routing when data path designing it causes to less interventions and congestions.
and routing also becomes sub system problem and we only need to optimize those things within
the cluster/partitions. Therefore it is easier to placement and routing. Then we can integrate
them into build the complete physical layout or top level module.
3.5.3 Placement
Placement is the process of placing each and every physical cell inside the physical
layout according to the floor plan specifications. In this phase standard cells of each
frame/platform are placed using partitioned Design Exchange Format (DEF). In this step all
cells placed within rows of the chip area/die and also route channels between rows to
interconnect them.
Those are the few steps in this stage. And also there are some optimizations carrying out at
this stage.
o Static Time Analysis (STA) with ideal clock and estimated wire parasites based on
placement
o Fix timing issues
Placement process is based on the hierarchical view and dependencies between cells according
to their functions and layout. Placement process is optimized according to the physical
resources. Placement stage consist of four major phases.
o Pre-Placement Optimization
o In Placement Optimization
o Post- Placement Optimization (PPO) before clock tree synthesis (CTS)
o PPO after CTS
Pre-Placement Optimization: Optimize the netlist before placement. HFN are collapsed. It can
also downsize the cells.
In-Placement Optimization: Re-optimize the logic based on virtual route VR.in this stage
various functions are carrying out.
o Cell sizing
ISAAC – Intelligent Systems and Advanced Computing
o Cell moving
o Cell Bypassing
o Net Splitting
o Gate Duplication
o Buffer Insertion
o Area Recovery
Optimization performs iteration of set up fixing, increment timing and congestion driven
placement.
Post Placement Optimization: This is done before CTS performs netlist optimization with ideal
clock. It can fix setup, hold, max trans/cap violation. This process include optimization based
on global routing.
Post Placement Optimization: This is carrying out after CTS optimizations timing with
propagated clock. It tries to preserve clock skew.
CLK
ISAAC – Intelligent Systems and Advanced Computing
Importance and goal of having CTS is to minimize skew and insertion delay.
After CTS hold slack should improve. Clock tree begins at defined clock source and
ends at stop pins of flops. There are 2 types of stop pins.
o Ignore pins
o Sync Pins
If clock is divided then separate skew analysis is required. Another important parameter is that
area overhead by clock shielding so that the noise is not coupled to other signals. Therefore we
can optimized the CTS by shielding the clock which is known as Clock Tree Optimization
(CTO). This also can be achieved by optimizing,
o Buffer sizing
o Gate sizing
o Buffer relocation
o Level adjustments
o HFN synthesis
We try to improve setup slack in pre-placement, in placement and post placement optimization
before CTS stages while neglecting hold slack. In post placement optimization after CTS hold
slack is improved
3.5.5 Routing
Routing is the process of establishing connection between placed components on the
physical layer via top metal layers. There are lots ways to do the routing in the design. Better
routing prevent the congestions and interventions from other signal. There are two major
routing scenarios.
o Global Routing
o Detailed Routing
Global routing allocates routing resources that are used for connections. Detailed routing assigns
routes to specific metal layers and routing tracks within the global routing resources.