Introduction to EDA Tools

venkatasuman1983 1,540 views 29 slides Dec 24, 2019
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

Introduction to EDA Tools


Slide Content

Introduction to EDA Tools PREPARED BY JAMI VENKATA SUMAN ECE DEPARTMENT

SEMICONDUCTOR CHIPS FPGA & CPLD ASICs Application Specific Integrated Circuits Microprocessors Microcontrollers

Types of ASICs Full-Custom ASICs : Possibly all logic cells and all mask layers customized Semi-Custom ASICs: All logic cells are pre-designed and some (possibly all) mask layers customized

Programmable logic An integrated circuit that can be programmed/reprogrammed with a digital logic of a curtain level. Started at late 70s and constantly growing Now available of up to approximately 700K Flip-Flops in a single chip.

Advantages Short Development time Reconfigurable Saves board space Flexible to changes No need for ASIC expensive design and production Fast time to market Bugs can be fixed easily Of the shelf solutions are available

How it Began : PLA A B C AND plane Programmable switch or fuse OR plane Programmable Logic Array First programmable device 2-level and-or structure One time programmable

Programmable Logic Devices PLDs Sum of Products Un-programmed State Different Types SUM of PRODUCTS Prefabricated Programmble Links Reconfigurable Logic Function Programmed PLD Product Terms Sums Planes of ANDs, ORs ANDs OR Inputs

Complex PLDs CPLDs Programmable PLD Blocks Programmable Interconnects Electrically Erasable links CPLD Architecture Feedback Outputs

SPLD - CPLD Simple Programmable logic device Single AND Level Flip-Flops and feedbacks Complex Programmable logic device Several PLDs Stacked together A B C Flip-flop Select Enable D Q Clock AND plane MUX PLD Block PLD Block Interconnection Matrix I/O Block I/O Block PLD Block PLD Block I/O Block I/O Block Interconnection Matrix

FPGA - Field Programmable Gate Array Programmable logic blocks (Logic Element “LE”) Implement combinatorial and sequential logic. Based on LUT and DFF. Programmable I/O blocks Configurable I/Os for external connections supports various voltages and tri-states. Programmable interconnect Wires to connect inputs , outputs and logic blocks. clocks short distance local connections long distance connections across chip I/O I/O Logic block Interconnection switches I/O I/O

FPGA Design Flow Detailed (RTL) Design Design Ideas (Specifications) Device Programming Timing Simulation Synthesis & Implementation Functional Simulation t pd =22.1ns f max =47.1MHz FPGA CPLD

Design flow

FPGA Design Advantages Faster time-to-market:  No layout, masks or other manufacturing steps are needed for FPGA design. Readymade FPGA is available and burn your HDL code to FPGA Simpler design cycle:  This is due to software that handles much of the routing, placement, and timing. Manual intervention is less.The FPGA design flow eliminates the complex and time-consuming floorplanning, place and route, timing analysis. Field Reprogramability:  A new bitstream ( i.e. your program) can be uploaded remotely, instantly. FPGA can be reprogrammed in a snap while an ASIC can take $50,000 and more than 4-6 weeks to make the same changes. FPGA costs start from a couple of dollars to several hundreds or more depending on the hardware features. Reusability:  Reusability of FPGA is the main advantage. Prototype of the design can be implemented on FPGA which could be verified for almost accurate results so that it can be implemented on an ASIC. Ifdesign has faults change the HDL code, generate bit stream, program to FPGA and test again.Modern FPGAs are reconfigurable both partially and dynamically.

FPGA Design Advantages FPGAs are good for prototyping and limited production.If you are going to make 100-200 boards it isn't worth to make an ASIC. Generally FPGAs are used for lower speed, lower complexity and lower volume designs.But today's FPGAs even run at 500 MHz with superior performance. With unprecedented logic density increases and a host of other features, such as embedded processors, DSP blocks, clocking, and high-speed serial at ever lower price, FPGAs are suitable for almost any type of design. FPGA sythesis is much more easier than ASIC. In FPGA you need not do floor-planning, tool can do it efficiently. In ASIC you have do it.

FPGA Design Disadvantages Powe consumption in FPGA is more. You don't have any control over the power optimization. You have to use the resources available in the FPGA. Thus FPGA limits the design size. Good for low quantity production. As quantity increases cost per product increases compared to the ASIC implementation.

ASIC Design Advantages Lower unit costs:  For very high volume designs costs comes out to be very less. Larger volumes of ASIC design proves to be cheaper than implementing design using FPGA. ASICs are faster than FPGA:  ASIC gives design flexibility. This gives enoromous opportunity for speed optimizations. Low power:  ASIC can be optimized for required low power. There are several low power techniques such as power gating, clock gating, multi vt cell libraries, pipelining etc are available to achieve the power target. In ASIC you can implement analog circuit, mixed signal designs. This is generally not possible in FPGA. In ASIC DFT (Design For Test) is inserted. In FPGA DFT is not carried out (rather for FPGA no need of DFT !) .

ASIC Design Diadvantages Time-to-market:  Some large ASICs can take a year or more to design. A good way to shorten development time is to make prototypes using FPGAs and then switch to an ASIC. Design Issues:  In ASIC you should take care of DFM issues, Signal Integrity isuues and many more. In FPGA you don't have all these because ASIC designer takes care of all these. ( Don't forget FPGA is an IC and designed by ASIC design enginner !!) Expensive Tools:  ASIC design tools are very much expensive. You spend a huge amount of NRE.

Verilog-XL (Cadence) : A standard sign off simulator NC-Verilog(Cadence) : A compiled simulator, works as fast as VCS, and still maintains the sign off capabilities of Verilog-XL. NC VHDL (Cadence) : VHDL simulator. NC SIM (Cadence) : For Verilog and VHDL co-simulation. VCS (Synopsis) : A compiled simulator like NC-Verilog. This simulator is faster when it comes to RTL simulation. Few more things about this simulator are direct C kernel interface, Covermeter code coverage embedded, better integration with VERA and other Synopsys tools. Scirocco(Synopsis) : VHDL simulator. Finsim(Fintronic) : 100% compatible simulator with Verilog-XL, runs on Linux, Windows and Solaris. This is compiled simulator like VCS and NCVerilog, but slower then VCS and NCVerilog. Modelsim (Mentor): Popular and cheap simulator, has got good debugging capabilities, a nice GUI and can deal with Verilog and VHDL co-simulation. This simulator can be used for block level design and verification. But sign-off should not be done with this simulator. Smash (Dolphin) : Mixed signal, Verilog, VHDl simulator RTL Simulation Tools

Debugging/Testbench/Rule check Tools Verdi/Debussy (SprintSoft) : Waveform display/probe. RTL/gate-level schematic generation. Finite State Machine analysis. Source code tracing, … Modelsim (Model Technology): Waveform display/compare. Code coverage statistics. Data flow tracing. Memory window, … VERA (Synopsys): Enables scalable and re-useable test benches with Open Vera . LEDA (Synopsys): Design rule and coding style check

Synthesis Tools Design Complier (Synopsys ) : The most popular logic synthesizer, bottom-up approach. Ambit (Cadence ): A fast logic synthesizer, top-down approach . CoCentricSystemCCompiler (Synopsys) : A SystemC to RTL compiler.

22 ASIC Design Process S-1 Design Entry: Schematic entry or HDL description S-2: Logic Synthesis: Using Verilog HDL or VHDL and Synthesis tool, produce a netlist -logic cells and their interconnect detail S-3 System Partitioning: Divide a large system into ASIC sized pieces S-4 Pre-Layout Simulation: Check design functionality S-5 Floorplanning: Arrange netlist blocks on the chip S-6 Placement: Fix cell locations in a block S-7 Routing: Make the cell and block interconnections S-8 Extraction: Measure the interconnect R/C cost S-9 Post-Layout Simulation

Simplified ASIC Design Flow Synthesis Placement Clock Tree Synthesis Routing Floorplanning Timing Analysis Design for Manufacturing Front-End Design Back-End Design

VLSI D&T Seminar ASIC Design Flow Behavioral Model VHDL/Verilog Gate-Level Netlist Transistor-Level Netlist Physical Layout Map/Place/Route DFT/BIST & ATPG Verify Function Verify Function Verify Function & Timing Verify Timing DRC & LVS Verification Standard Cell IC & FPGA/CPLD Synthesis Test vectors Full-custom IC

Xilinx Spartan-3E Starter Kit FPGA switches buttons LEDs

FPGA Principles A Field-Programmable Gate Array (FPGA) is an integrated circuit that can be configured by the user to emulate any digital circuit as long as there are enough resources An FPGA can be seen as an array of Configurable Logic Blocks (CLBs) connected through programmable interconnect (Switch Boxes)

Simplified CLB Structure

Example: 4-input AND gate A B C D O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Design Rules ASIC FPGA Adder CLA Ripple Carry Latch Commonly used Not Recommended Gated clock Commonly used Unacceptable Tri-State Commonly used Only in I/O Async RAM Commonly used Only Small