FPGA designs development?"

IC Design "I know HDL. Is that all I need to know for my career in digital ASIC/FPGA designs development?" Copyright © S3 Group Jan Kovalsky Group M...
Author: Conrad Davidson
22 downloads 0 Views 662KB Size
IC Design

"I know HDL. Is that all I need to know for my career in digital ASIC/FPGA designs development?" Copyright © S3 Group

Jan Kovalsky Group Manager VUT Brno, 29-11-2012

Contents  Hassle with more languages to know  Design, programming and scripting languages in Design Flow  Specifics of design, verification and implementation  Support languages and tools used for simplification and automation of Design Flow

 Conclusion  Q&A

Copyright © S3 Group

Slide 2

Hassle with more languages  What languages do you know ?  Is it possible to use just 1 language only for both design and verification ?  Is it possible to finish the design and verification through GUI only ?

VHDL

Verilog

Copyright © S3 Group

Slide 3

Ideal ASIC/FPGA world  One design / verification engineer in a team  One design only written from scratch  No documentation needed  Unlimited budget

 Unlimited time  No re-use  No 3rd party IP blocks Copyright © S3 Group

Slide 4

Reality If you work in a company providing ASIC/FPGA development services or as a sub-contractor or in a company with own products’ line you have to deal with:       

Wide team of design and verification engineers Customer designs in different languages Number of 3rd party IP blocks Each design is unique Internal flow and processes Limited knowledge Definite set of experiences

IP blocks

Copyright © S3 Group

Slide 5

Contents  Hassle with more languages to know  Design, programming and scripting languages in Design Flow  Specifics of design, verification and implementation  Support languages and tools used for simplification and automation of Design Flow

 Conclusion  Q&A

Copyright © S3 Group

Slide 6

Design Flow  In which phases of the flow can we use GUI and/or Scripting ?

Synthesis

Timing Analysis

Verification

Map

P&R

Bitstream Generation

Floorplanning and P&R

PV + PA

Scripting + GUI

GDS2 + ATPG

Copyright © S3 Group

Scripting

Formal Verification

GUI + Scripting

STA

GUI + Scripting

Logical Synthesis + DfT

Scripting + GUI

ASIC Flow

Scripting / GUI

Scripting + GUI

Design

Scripting + GUI

Scripting + GUI

Design Spec / Reqs

FPGA Flow

Slide 7

Design  Used languages  Netlist: gate level design  RTL: Verilog, VHDL  Abstract: SystemVerilog, SystemC, C, IP-XACT (xml), Matlab, VisualBasic etc.  Encryption: proprietary IPs encrypted

 Challenges    

Mixed language design Mixed-signal designs Re-targeting between ASIC/FPGA and Prototyping on FPGA Parts of design are generated by 3rd party tools – CPUs, interconnects, memories  Number of models has to be integrated in the design (pads, analog IPs)

Copyright © S3 Group

Slide 8

Design (contd.)  Used languages examples  Netlists at gate level are usually auto-generated  Verilog, VHDL and SystemVerilog used for RTL design  SystemC and C describing CPU or more complex blocks  IP-XACT (xml) generic description language which can be used for description of blocks, register banks etc.

 Matlab can be used for generation of modeled blocks in VHDL etc.  VisualBasic macros integrated in documentation can be used for register map generation

Copyright © S3 Group

Slide 9

Design (contd.)  SoC designs are getting too complex for RTL design approach  According to EDA vendors (Verification Futures Conference, Munich, 22nd Nov 2012) SoC world ran out of RTL designs and is moving to more abstraction level (C-based designs)

Copyright © S3 Group

Slide 10

Verification  Used languages  Languages: Verilog, VHDL, SystemVerilog, e/Specman, Vera, SystemC, VerilogAMS, ASM, C, IP-XACT (xml), Matlab, VisualBasic, UPF/CPF etc.  Frameworks: VMM, OVM, UVM, customized derivatives  Encryption: proprietary VIPs encrypted

 Challenges    

More wild environment to live in Constrained Random Verification vs. Directed Tests approach Assertion based verification and coverage driven verification Verification of complex SoC & Mixed-signal designs (verification models in VerilogAMS etc.)  Low-Power features verification  Re-targeting verification to bench platform with FPGA & emulation on platforms like Palladium or ZeBu  Usage of encrypted VIPs & Number of verification models used (pads, analog IPs) Copyright © S3 Group

Slide 11

Verification (contd.)  Used languages example  Verilog and VHDL used for TB and direct test cases development in combination with coverage driven verification  SystemVerilog, e/Specman, Vera and SystemC used for more constrained random verification using OOP approaches  ASM and C languages used for CPU boot code or user application development

 VerilogAMS used for analog IP blocks description  IP-XACT (xml) and VisualBasic used for automated generation of verification models of register bank etc.  VMM/OVM/UVM providing verification framework

Copyright © S3 Group

Slide 12

Implementation  Used languages  Languages: TCL, CPF/UPF, SDC, VisualBasic, TCF/VCD, WGL/STIL etc.

 Overview  PD tools support standard scripting interface (CLI) for support of TCL etc.  Particular steps of the PD flow can be fully scripted and automated  Some steps have to be done manually (PV, Floorplanning, manual routing, RDL/bumps etc.) through GUI

 Used languages example    

CPF/UPF describing low-power techniques used in the design SDC – Synopsys timing constraints TCL used for scripting of particular steps in the flow/tools VisualBasic used for example for generation padring definition acceptable by PD tools

Copyright © S3 Group

Slide 13

Design Flow Scripting  Used languages  Languages: Makefile, Perl, TCL, sh, unix, Python etc.

 Overview  Scripting used for design flow development (automated or semi-automated flow)  Supportive scripts development:  Block-level synthesis  Power Analysis  Header files generation

 Makefile based flow allows for easy extension of the design flow and can include:  Verification flow – single test or regression execution  PD flow execution (FPGA implementation, particular steps from ASIC implementation flow)

Copyright © S3 Group

Slide 14

Contents  Hassle with more languages to know  Design, programming and scripting languages in Design Flow  Specifics of design, verification and implementation  Support languages and tools used for simplification and automation of Design Flow

 Conclusion  Q&A

Copyright © S3 Group

Slide 15

Support Languages / Tools  Design tools (primarily 3rd party specific)  CPU configuration and compilation tools  Memory compilers  IP blocks compilers (like Xilinx CoreGen etc.)

 CM tools     

Team work requires appropriate configuration management in place Configuration management has to be applied by all team members Allows for co-operation between number of teams in various locations Brings some challenges in split databases management and synchronization Examples are SVN, CVS, ClearCase, Git etc.

 Bug reporting tools  Bugzilla or proprietary tools  Allows for co-operation between number of teams in various locations  Has to be appropriately used Copyright © S3 Group

Slide 16

Contents  Hassle with more languages to know  Design, programming and scripting languages in Design Flow  Specifics of design, verification and implementation  Support languages and tools used for simplification and automation of Design Flow

 Conclusion  Q&A

Copyright © S3 Group

Slide 17

Conclusion  Why to learn more languages  It’s reasonable to learn more languages and technologies for your future career  ASIC/FPGA development world is not ideal  Advantage and big differentiator on a job market  Much faster ramp-up on a new position and in a new environment  More effective design and verification techniques  Ability to develop/maintain automated design flow

 Why to know various tools  Gives you ability to look for more efficient processes  Allows you to see the world from bird’s perspective  Enables more effective co-operation between team members and teams

Copyright © S3 Group

Slide 18

Conclusion  Why to automate the design flow      

Time to market is a key factor in any new design Compute farm and resources have to work while we relax Tools & Licenses cost has to be shared between number of projects Much efficient resources utilization Much mature development processes Good tools can be ineffective with poor processes

Copyright © S3 Group

Slide 19

Contents  Hassle with more languages to know  Design, programming and scripting languages in Design Flow  Specifics of design, verification and implementation  Support languages and tools used for simplification and automation of Design Flow

 Conclusion  Q&A

Copyright © S3 Group

Slide 20

Q&A

Copyright © S3 Group

Slide 21

Thank You • [email protected]

Copyright © S3 Group