Professional Documents
Culture Documents
ASIC Design Flow: © 2009 Nokia 1
ASIC Design Flow: © 2009 Nokia 1
2009 Nokia
Agenda
ASIC definition and History Typical ASIC Design steps ASIC specification phase ASIC Frontend phase ASIC Backend phase
2009 Nokia
ASIC definition
What is an ASIC
ASIC is a combination of digital and analog circuits packed into an IC to achieve the desired control/computation function ASIC typically contains
CPU cores for computation and control Peripherals to control timing critical functions Memories to store data and program Analog circuits to provide clocks and interface to the real world which is analog in nature I/Os to connect to external components like LEDs, memories, monitors etc.
2009 Nokia
ASIC history(1/2)
Initial target of an IC is to have programmable devices to adapt to various functions (e.g.. Microprocessor systems like 8051, 8086 etc.) As the technology grew in different areas, performance and requirements grew differently for different areas
This led to the advent of application specific ICs to achieve performance in required areas with reasonable cost
2009 Nokia
ASIC history(2/2)
As application technology improves (eg.2G to 3G, High definition TVs etc.), ASIC has become more and more complex over the years To keep up the speed, various tools and methods were introduced in ASIC design to automate the flow and produce quicker and better results IC design moved from putting transistors by hand through designing the logic using standard gates with schematic entry to describing the logic at a higher level of abstraction
5 2009 Nokia
Design Verification Physical design IC Fabrication IC Testing and characterization Production and Monitoring
6 2009 Nokia
Phase
This step is primarily driven by the markets with technical inputs from technology experts The seed for the ASIC development is sown here
2009 Nokia
Memory1
Memory
External interfaces
Define the SW interface for HWSW interaction to achieve the HWSW partition targets Define the contents of the ASIC and if it can be done with a single ASIC taking into account manufacturing technology
For e.g.., the process to manufacture RF chip and digital chip can be very different.
CPU Cores
Peripheral 1 Peripheral n Clocks and reset
Clock generators
Reset generators
Power Pins
2009 Nokia
Model the HW/SW system at higher level and run simulations to see if the performance requirements are met. Define the SW interface for HW-SW interaction to achieve the HWSW partition targets Define the contents of the ASIC and if it can be done with a single ASIC taking into account manufacturing technology
For e.g.., the process to manufacture RF chip and digital chip can be very different.
Define the interfaces needed to communicate with external components Model the HW/SW system at higher level and run simulations to see if the performance requirements are met.
9 2009 Nokia
The implementation specific details are defined in this phase Typically it includes
Module partitioning Reset strategy
Bus Interface
Register Block
10
2009 Nokia
Design Flow
ASIC design categories
Frontend Design
Technology independent design entry Design verification In most cases, the effort can be re-used over various technology nodes or fabs
Backend design
Technology related implementation Requires additional effort for implementation in different technology node or fab => limited re-usability
11
2009 Nokia
FE Design flow
Design Entry
Semantic checks
Verification
12
2009 Nokia
Design Entry
S1 S4 S3 S2
Design entry is a stage where the micro architecture is implemented in a Hardware Description language like VHDL, Verilog, System Verilog etc.
In early days , a schematic editor was used for design entry where designers instantiated gates. Increased complexity in the current designs require the use of HDLs to gain productivity Another advantage is that HDLs are independent of process technology and hence can be re-used over time
p_fsm : process(ck,ResetX) begin If (ResetX = 0) then Cur_state <= S1; Elsif (ckevent and ck = 1) then Case Cur_state is when S1 => when S2 => .. end case; End if; End process p_fsm;
Tools
Text Editors (Vi, emacs, nedit etc.) Visual design entry tools like Visual HDL
13
2009 Nokia
Semantic checks
Design entry need to checked for language correctness This phase can also be used to check the synthesizability of code
Synthesizability is important to check as the RTL should be mapped to standard cells using synthesis tools later in the flow
Tools
Modelsim, NCsim, VCS Spyglass for structural checks
14
2009 Nokia
Static methods use the Boolean equations to match the design with specifications
Specification is converted into properties
Example : A rising transition on input pin A will make the output pin X fall within 5 clock cycles
Static verification tools like IFV are capable to read properties described in PSL (Property Specification Language) and the design in VHDL/Verilog The tool is then able to explore the design by converting it to complex Boolean equations and compare the equations written in PSL
15 2009 Nokia
Tools used
Languages : PSL ,Verilog, VHDL, C, System Verilog EDA tools : Incisive IFV ,Questa (Mentor Graphics), VCS (Synopsys), NCSim (Cadence)
16 2009 Nokia
ASIC BE Steps
Synthesis/Scan Insertion Floorplan
Placement
CTS
Routing
Glossary :
STA
CTS : Clock Tree Synthesis STA : Static timing analysis DRC : Design Rule Check LVS : Layout versus schematic
Formal Equivalence
DRC/LVS
17 2009 Nokia
Floor plan
Floor plan consists of defining the following :
Aspect ratio of the chip
Logic Area
Partitioning digital and analog cells placement Power ring for core logic I/O Pad Placement Power ring for I/O Pad
18
2009 Nokia
Logic Area
Memories
19
2009 Nokia
20
2009 Nokia
p_fsm : process(ck,ResetX)
Synthesis
The HDL will be mapped to standard cells at this stage The mapping will be done as per the following constraints given by the designer
Technology library to be used (45nm/32nm etc., Max capacitance, Max Transition) Performance constraints ( Clock frequency, I/O timings) Operating conditions (Voltage/temperature range) Area constraints Placement information from floor plan
begin If (ResetX = 0) then Cur_state <= S1; Elsif (ckevent and ck = 1) then Case Cur_state is when S1 => when S2 => .. end case; End if; End process p_fsm;
Constraints
Synthesis Tool
Tools Used
Synopsys Design compiler Magma Talus
21 2009 Nokia
Verilog Netlist
Scan Insertion
Comb Logic Comb Logic
The synchronous circuits are tested using Scan based method The objective is to test for manufacturing defects rather than functional defects Fault Models used
Stuck-at At-speed
Scan based method uses each flipflop in the design as control/Observe point
All flipflops are connected in a shift register fashion so that they can be initialized Once initialized, the functional logic is restored by selecting the other input of the multiplexor On the next clock edge, the data is captured into the flop which can then be shifted out
22 2009 Nokia
Placement
The hard macros (like Memories, I/O Pads) are placed during the Floorplan phase
Verilog Netlist
Floor Plan
User constraints
The Logic is placed in the logic area defined in the floorplan phase by using automatic placement tools Placement of standard cells can be driven using the following constraints
Wire length optimization (Default) Timing driven based on performance requirements
Placement tool
Placed Database
Tools Used
ICCompiler
23 2009 Nokia
Nano Encounter
Synchronous designs require clocks to arrive at the flip flops at almost the same time Since the flip flops are spread out in the design after placement, the clock arrival time will be different for different flops To make the clocks arrive at around the same time, a clock tree needs to be built and this phase is called clock tree synthesis (CTS) In this phase, tool builds the clock tree by adding buffers in the clock path and delaying the fast arriving clock to match the slow arriving clock Tools Used
Talus ICCompiler
24
2009 Nokia
Routing
The instances which were placed, now need to be connected through wires Automatic tools take the connectivity information from the verilog netlist and connect the pins of the instances Automatic routing is done only for logic signals and not for power supply/ Analog signals The tools normally does a global route where it estimates the congestion and connects the pins. However, spacing violations may remain in this phase The detailed route actually places the metal wires and connects the pins by using routing channels Tools used
ICCompiler Talus
Verilog Netlist
Technology Rules
Routing tool
Routed Database
25
2009 Nokia
Using the above data perform the following checks using STA tool (like PrimeTime)
Setup, Hold, Recovery and Removal violations Clock Gating setup/hold violations Design Rule Violations (max transition time, max capacitance, max fan-out)
26 2009 Nokia
Equivalence Check
During the BE phase, new components may have been added or removed (E.g.. Clock tree buffers) There is a need to verify that RTL and Gate netlist are equivalent Equivalence check is a method which compares the boolean equation from RTL and Gate netlist To speed up the process, it uses certain invariants in the design
Primary functional ports are the same in RTL and gate level Registers/Flipflops are kept the same in RTL and gate level
Here there can be some exceptions as Flipflops with constant values may be removed during synthesis
Tools used :
Formality LEC
27 2009 Nokia
28
2009 Nokia
Physical verification(2/2)
Layout versus schematic (LVS) checks
The functional verification is done on verilog netlist (schematic), whereas the final handoff for manufacturing is a Layout This makes the LVS checks mandatory The schematic can either be a verilog netlist or a spice netlist incase of analog blocks The tool converts the layout into sets of transistors and checks with the supplied reference schematic
29
2009 Nokia
30
2009 Nokia
Thank You
31
2009 Nokia