SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Design Verification at D2Audio
    March 8, 2006
    Mayur Mehta



1
D2Audio Products

    • D2Audio builds all Digital Class D amplifier controller ICs
      which use sophisticated digital Pulse Width Modulation
      (PWM) Techniques.
         All-digital signal path
         On-Chip DSP provides amplifier controls and
         comprehensive audio signal processing.
         25-600 watts per channel
         93% power efficient




2
D2Audio Products –
    Enabling Digital Power In The Broad Audio Market

                         Consumer




                                               Professional




                         Automotive




3
D2Audio Integrates Multiple Functions in IC


               Amplifier                          GUI


                                DSP




           Digital I /O
     VID1___
                                                  Firmware
     VID2___
     AUD___
     HDMI__
     S/PDIF_
     Tuner__




4
ONLY True “Scalable” Solution from 15W to 600W Today!

                                    Assumed Performance Constraints
                                            • 8-ohm Loudspeaker
                                            • < 0.1% Distortion
                                            • > 100dB SNR                                                 D2Audio
                 150W+
                                            • Reliable and Cost-Effective                                   Intelligent        Discrete    Discrete
                                                                                                          PWM Controller        Driver    N+N FETs


                                                                                         D2Audio
                          125W                                                            Intelligent         Discrete      Discrete
                                                                                        PWM Controller         Driver      N+P FETs
    Power Level (8 ohm)




                                    Technology-Imposed Limit
                                                                                          Integrated      Discrete
                          75W                                              Controller
                                                                                            Driver         FETs

                                                                                        • 40V Process Limit
                                                                                        • Protection
                                                                                        • Control
                                                   Integrated                           • Drive
                          50W       Controller
                                                  Power Stage


                                 PWM controller   Drive/Protection/Power




5
Verification Overview




6
Chips Developed

    • 1st Gen Digital Audio Engine IC (DAE-1)
          PWM Controller with SRC (Sample Rate Converter), DSP, Output
          Protection
          In production for > 1year
           • Demonstrated full audio performance and features on first silicon.
    • 2nd Gen Digital Audio Engine IC (DAE-2)
          First to develop Class D amplifier with all-digital feedback
           • Power supply feed-forward and closed-loop feedback technology correct for
             power supply variations, non-linearity and other distortion-inducing
             mechanisms
           • As much as 60dB performance improvement
           • Most analog PWM Solutions use analog closed-loop feedback
          In Production Now
           • Demonstrated full audio performance with feed forward and feedback on first
             silicon
           • 4 channel and 7 channel reference design solutions




7
Chip Block Diagram




                            !!        !   '%




                            !
                  # !




                                                    #
                            " !
                        !




                                                )
                                          '
                                          & !
                  "




                                  %




                                                (




                                                    *
                            $




8
Verification Techniques

    • C++ Model
    • Verilog simulations
         Block-level and chip-level verification
         NC-Verilog, Verdi and SureCov
         CVS, Bugzilla and nLint
         Verilog level transactors interacting with embedded C Program to
         synchronize DSP and I/O functions
         Assembly level and C code to perform DSP functions
    • FPGA emulation
         Full chip implementation synthesized to Xilinx FPGA
         Custom I/O boards developed for “rest of system”
         Connectivity to real world audio streams
         Back-end power electronics for amplifier system testing

9
Development and Verification Flow for Signal Processing
     Blocks

     • Matlab – Numerical Analysis tool to aid in developing
       algorithms
     • C++ based simulator
     • Matlab script generates a setup file and input data files
          Executes the C++ simulator and dumps output into files.
          On termination of simulator, Matlab script performs analysis of
          the data produced by simulator.
     • C++ model to implement algorithms on a fairly high level
          Verify the functionality using the above C++ simulator
          Determine gross computational complexity
     • Refine the algorithms to a cycle accurate level


10
Development and Verification Flow




11
Development and Verification Flow (Contd.)

     • Verification environment
           Generate setup files, input and expected output data for the RTL
           Simulator.
           Verilog based transactor performs RTL initialization, initializes the
           computational engine and runs the simulation with input data while it
           compares output data to the expected data read from files.
           Run Verilog simulations with the cycle accurate model in parallel to verify
           that the RTL implementation has same functionality and identical
           performance to the original model.
     • Run extensive simulations to exercise typical setups as well as the
       boundaries of the design.
     • Typically the output files from Matlab become part of the design data
       base
           Test Suites for regression testing
     • Maintain C++ model to match architectural and design changes



12
Block Diagram of Chip-level Verification

                                                                                                                                                                                                                                                                                                                                         Global
                                                                                                                                              Transactor                                                                                                           Transactor                                                          Transactor




                                                                                                                                                                                                                PUMPLO
                                                                                                                                                                                                       PSSYNC
                                                                                                                           OSCOUT




                                                                                                                                                                                                                         PUMPHI
                                                                                                                                               XTALO




                                                                                                                                                                                                                                                                     SRD0




                                                                                                                                                                                                                                                                                                          SRD1
                                                                                                                                                                                                                                            SCK0




                                                                                                                                                                                                                                                                                     SCK1
                                                                                                                                      XTALI




                                                                                                                                                                                                                                                                            STD0




                                                                                                                                                                                                                                                                                                                 STD1
                                                                                                                                                                                                                                                               SC0




                                                                                                                                                                                                                                                                                                    SC1
                                                                                                                                                                       TIO
                                                                                                                                                                3




                                                                                                                                                                                                                                                               3




                                                                                                                                                                                                                                                                                                    3
                                      2
                               SDIN
                                                                                                                                                                                                                                                                      Reserved




                                                Serial Audio Interface
                                      2                                                                                             PLL                                                                Timer
                              SCKR                                                                                                                                                                                                                             Serial Audio Interface
            Transactor




                                      2
                             LRCLK
                              MCLK
                             SCLKT
                             LRCKT                                                                        Digital Signal Processor                                                                                                                                                                  Pulse Width Modulator
                             SDOUT

                              SCLK                                                                                                                                                                                                                                                                                                                                                             PWMH0




                                                                                                                                                                       Frequency Response Correction
                               RXD             SCI                               Sample Rate Conversion                                                                                                                                                                                                                                                                                        PWML0




                                                                                                                                                                                                                                                                                                                                                                                                       Transactor
                               TXD                                                                                                                                                                                                                                                                                                                                                             PWMH1
              Transactor




                                                                                                                                                                                                                                         Linear Interpolator




                                                                                                                                                                                                                                                                                   PWM Correction
                                                                                                                                                                                                                                                                                                                                                                                               PWML1




                                                                                                                                                                                                                                                                                                                        Noise Shaper




                                                                                                                                                                                                                                                                                                                                                                     Output Drive
                               SCL




                                                                                                                                                                                                                                                                                                                                           Quantizer
                                              2-Wire
                                                                                                                                 Effects
                                                                                                                                                                                                                                                                                                                                                                                               PWMH2
                               SDA
                                                                                                                                                                                                                                                                                                                                                                                               PWML2

                            SPDIFRX                                                                                                                                                                                                                                                                                                                                                            PWMH3
                                              S/PDIF                                                                                                                                                                                                                                                                                                                                           PWML3
                            SPDIFTX


                            nRESET                                                                                                                                                                                                                                                                                                                                                             OTSEL
                                              Control
                           nRSTOUT
              Transactor




                           PWMSYNC
                                      5
                               SYS
                                      4
                               BMS
                                      8
                              GPIO
                                      16                                  TEST                                                                 Power Supply                                                                                                                                                                                               Protection
                             XGPIO




                                                                                                                                                                                                                                                                                                                                                         4
                                                                                                                                                                                                                                                                                                                                                                 4
                                                                                                                                                                                                                                                                                                                                                                                4
                                                                                                                                                                                                                                                                                                                                                                                    PROTECTC
                                                                                                                                                                                                                                                                                                                                                          PROTECTA
                                                                                                                                                                                                                                                                                                                                                                     PROTECTB
                                                                                                             PLLAVDD
                                                                                                                       PLLAGND
                                                                                                                                 PLLDVDD
                                                                                                                                           PLLDGND
                                                                                                                                                     OSCVDD
                                                                                                                                                              PWMVDD
                                                                                                                                                                         PWMGND
                                                                                                                                                                                                         CVDD
                                                                                                                                                                                                                  CGND
                                                                                                                                                                                                                           RVDD
                                                                                                                                                                                                                                  RGND
                                                                         nTRST

                                                                                     TEST




           Test.c                          Test.V

                                                                                                                                                                                                                                                                                                                                                       Transactor




13
Verification Techniques – FPGA Emulation



                                   •1:1 Mapping with the chip

                                   •Capability to do
                                   performance correlation

                                   •Verify external Interfaces

                                   •Platform for software
                                   development

                                   •Vehicle to demonstrate
                                   performance and new
       FPGA Emulation System       features


14
Lessons Learned

     • Always Emulate
          Bug count found in FPGA emulation easily justifies effort and
          resources expended
          Confidence of working with real world interfaces without surprises
          Great tool to develop software which allows us to accelerate
          firmware development
          Emulation system should be scalable, repeatable and
          transportable
     • Top-level environment where tests can be
       interchangeably simulated and emulated is very valuable.
          Needed to debug emulation system during bring up stages
          FPGA was always correlated with RTL
          FPGA emulation is used as a hardware accelerator


15
Lessons Learned (Contd.)

     • Code Coverage was useful in finding holes in our test
       cases
     • Project Management
          Comprehensive Microsoft Project scheduling with detailed
          dependencies between RTL Development, Block-level
          verification,Chip verification, FPGA and Physical design
          completion




16
Why the current methodology works for D2Audio

     • Comprehensive block-level and system-level specifications
     • Easy to use test environment allowed us to generate comprehensive
       tests
     • Everything under CVS control
     • Production firmware was run on FPGA emulation before tape-out
     • Comprehensive verification in simulation environment before starting
       FPGA Verification
     • FPGA emulation confirmed performance before tape-out
           Confirms that the high-level model represents reality
           Plug tests
     • Simple verification environment allowed us to scale verification
       resources
     • Mature engineering team


17
Improvements

     • Plan to use assertion tools for debugging, verification and
       Code/functional coverage
     • Add regression suite for FPGA builds
     • Evaluate System C/System Verilog
          Improve inefficiencies in the current verification environment
           • Test Development
           • CPU intensive

     • Verify external IP for complete functionality and clear
       specifications




18
Suggested Follow-up activities of DVClub

     • Present a methodology which has used assertion tools
     • Present a methodology which has used code and
       functional coverage tools
          Correlation with bugs found on chip
          How do you use it to predict schedule and tape-out decision
     • Discuss Verification projects which did not use FPGA
       emulation
     • Discuss projects which developed software simulator of a
       chip for partners to use for software development
     • DV for mixed signal ICs
     • Pros and Cons of outsourcing verification

19

Mais conteúdo relacionado

Mais procurados

Datavideo HS-550
Datavideo HS-550Datavideo HS-550
Datavideo HS-550AVNed
 
Arista @ HPC on Wall Street 2012
Arista @ HPC on Wall Street 2012Arista @ HPC on Wall Street 2012
Arista @ HPC on Wall Street 2012Kazunori Sato
 
Uei Remote Controls
Uei Remote ControlsUei Remote Controls
Uei Remote Controlsarjungehlot
 
FPGA Camp - Softjin Presentation
FPGA Camp - Softjin PresentationFPGA Camp - Softjin Presentation
FPGA Camp - Softjin PresentationFPGA Central
 
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Altera Corporation
 

Mais procurados (11)

AJA D10 C2
AJA D10 C2AJA D10 C2
AJA D10 C2
 
Datavideo HS-550
Datavideo HS-550Datavideo HS-550
Datavideo HS-550
 
Arista @ HPC on Wall Street 2012
Arista @ HPC on Wall Street 2012Arista @ HPC on Wall Street 2012
Arista @ HPC on Wall Street 2012
 
Servotronix motion control
Servotronix motion controlServotronix motion control
Servotronix motion control
 
Uei Remote Controls
Uei Remote ControlsUei Remote Controls
Uei Remote Controls
 
AJA D4 E
AJA D4 EAJA D4 E
AJA D4 E
 
FPGA Camp - Softjin Presentation
FPGA Camp - Softjin PresentationFPGA Camp - Softjin Presentation
FPGA Camp - Softjin Presentation
 
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
 
Acd 2300 ds-120326
Acd 2300 ds-120326Acd 2300 ds-120326
Acd 2300 ds-120326
 
AJA D10 CE
AJA D10 CEAJA D10 CE
AJA D10 CE
 
AJA D5 CE
AJA D5 CEAJA D5 CE
AJA D5 CE
 

Destaque

Williamson arm validation metrics
Williamson arm validation metricsWilliamson arm validation metrics
Williamson arm validation metricsObsidian Software
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentorchiportal
 
D2 audio dv_club_verification_flow
D2 audio dv_club_verification_flowD2 audio dv_club_verification_flow
D2 audio dv_club_verification_flowObsidian Software
 
Design Verification at D2Audio
Design Verification at D2AudioDesign Verification at D2Audio
Design Verification at D2AudioDVClub
 

Destaque (8)

Williamson arm validation metrics
Williamson arm validation metricsWilliamson arm validation metrics
Williamson arm validation metrics
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
 
Yang greenstein part_1
Yang greenstein part_1Yang greenstein part_1
Yang greenstein part_1
 
Yang greenstein part_2
Yang greenstein part_2Yang greenstein part_2
Yang greenstein part_2
 
Zehr dv club_12052006
Zehr dv club_12052006Zehr dv club_12052006
Zehr dv club_12052006
 
D2 audio dv_club_verification_flow
D2 audio dv_club_verification_flowD2 audio dv_club_verification_flow
D2 audio dv_club_verification_flow
 
Design Verification at D2Audio
Design Verification at D2AudioDesign Verification at D2Audio
Design Verification at D2Audio
 
Zhang rtp q307
Zhang rtp q307Zhang rtp q307
Zhang rtp q307
 

Semelhante a Mehta mayur d2_audio_dv_club_verification_flow

15.00 hr van Hilten
15.00 hr van Hilten15.00 hr van Hilten
15.00 hr van HiltenThemadagen
 
Grassvalley ADVC-700
Grassvalley ADVC-700Grassvalley ADVC-700
Grassvalley ADVC-700AV ProfShop
 
V diagram por inverter control
V diagram por inverter controlV diagram por inverter control
V diagram por inverter controlJavier Gutierrez
 
Research and Prototyping Ground Robot Platform
Research and Prototyping Ground Robot PlatformResearch and Prototyping Ground Robot Platform
Research and Prototyping Ground Robot Platformcharlesk
 
Grassvalley ADVC-1000
Grassvalley ADVC-1000Grassvalley ADVC-1000
Grassvalley ADVC-1000AV ProfShop
 
FPGA Camp - Aldec Presentation
FPGA Camp - Aldec PresentationFPGA Camp - Aldec Presentation
FPGA Camp - Aldec PresentationFPGA Central
 
Aldec overview 2011-10 revised
Aldec overview 2011-10 revisedAldec overview 2011-10 revised
Aldec overview 2011-10 revisedPrateek Chopra
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionPersiPersi1
 
USB Training - Silicon Labs -
USB Training - Silicon Labs -USB Training - Silicon Labs -
USB Training - Silicon Labs -Emanuele Bonanni
 
Product Brief Mini Dsp Kit Balanced
Product Brief Mini Dsp Kit BalancedProduct Brief Mini Dsp Kit Balanced
Product Brief Mini Dsp Kit BalancedAntoine Rouget
 
Advanced Motion Controls drive ware and digiflex product overview march 2009
Advanced Motion Controls  drive ware and digiflex product overview march 2009Advanced Motion Controls  drive ware and digiflex product overview march 2009
Advanced Motion Controls drive ware and digiflex product overview march 2009Servo2Go.com
 
Advanced motion controls dzsantu 020b080
Advanced motion controls dzsantu 020b080Advanced motion controls dzsantu 020b080
Advanced motion controls dzsantu 020b080Electromate
 
Advanced motion controls dzxcante 015l080
Advanced motion controls dzxcante 015l080Advanced motion controls dzxcante 015l080
Advanced motion controls dzxcante 015l080Electromate
 
Advanced motion controls dzxcante 008l080
Advanced motion controls dzxcante 008l080Advanced motion controls dzxcante 008l080
Advanced motion controls dzxcante 008l080Electromate
 
Grassvalley ADVC series
Grassvalley ADVC seriesGrassvalley ADVC series
Grassvalley ADVC seriesAV ProfShop
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP VerificationDVClub
 

Semelhante a Mehta mayur d2_audio_dv_club_verification_flow (20)

15.00 hr van Hilten
15.00 hr van Hilten15.00 hr van Hilten
15.00 hr van Hilten
 
Avb Module Datasheet
Avb Module DatasheetAvb Module Datasheet
Avb Module Datasheet
 
Grassvalley ADVC-700
Grassvalley ADVC-700Grassvalley ADVC-700
Grassvalley ADVC-700
 
V diagram por inverter control
V diagram por inverter controlV diagram por inverter control
V diagram por inverter control
 
Research and Prototyping Ground Robot Platform
Research and Prototyping Ground Robot PlatformResearch and Prototyping Ground Robot Platform
Research and Prototyping Ground Robot Platform
 
Grassvalley ADVC-1000
Grassvalley ADVC-1000Grassvalley ADVC-1000
Grassvalley ADVC-1000
 
FPGA Camp - Aldec Presentation
FPGA Camp - Aldec PresentationFPGA Camp - Aldec Presentation
FPGA Camp - Aldec Presentation
 
Aldec overview 2011-10 revised
Aldec overview 2011-10 revisedAldec overview 2011-10 revised
Aldec overview 2011-10 revised
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
 
My Profile
My ProfileMy Profile
My Profile
 
USB Training - Silicon Labs -
USB Training - Silicon Labs -USB Training - Silicon Labs -
USB Training - Silicon Labs -
 
G7.01 Flyer
G7.01 FlyerG7.01 Flyer
G7.01 Flyer
 
Product Brief Mini Dsp Kit Balanced
Product Brief Mini Dsp Kit BalancedProduct Brief Mini Dsp Kit Balanced
Product Brief Mini Dsp Kit Balanced
 
Advanced Motion Controls drive ware and digiflex product overview march 2009
Advanced Motion Controls  drive ware and digiflex product overview march 2009Advanced Motion Controls  drive ware and digiflex product overview march 2009
Advanced Motion Controls drive ware and digiflex product overview march 2009
 
Custom servo solutions
Custom servo solutionsCustom servo solutions
Custom servo solutions
 
Advanced motion controls dzsantu 020b080
Advanced motion controls dzsantu 020b080Advanced motion controls dzsantu 020b080
Advanced motion controls dzsantu 020b080
 
Advanced motion controls dzxcante 015l080
Advanced motion controls dzxcante 015l080Advanced motion controls dzxcante 015l080
Advanced motion controls dzxcante 015l080
 
Advanced motion controls dzxcante 008l080
Advanced motion controls dzxcante 008l080Advanced motion controls dzxcante 008l080
Advanced motion controls dzxcante 008l080
 
Grassvalley ADVC series
Grassvalley ADVC seriesGrassvalley ADVC series
Grassvalley ADVC series
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP Verification
 

Mais de Obsidian Software (20)

Whipp q3 2008_sv
Whipp q3 2008_svWhipp q3 2008_sv
Whipp q3 2008_sv
 
Vishakantaiah validating
Vishakantaiah validatingVishakantaiah validating
Vishakantaiah validating
 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environment
 
Tobin verification isglobal
Tobin verification isglobalTobin verification isglobal
Tobin verification isglobal
 
Tierney bq207
Tierney bq207Tierney bq207
Tierney bq207
 
The validation attitude
The validation attitudeThe validation attitude
The validation attitude
 
Thaker q3 2008
Thaker q3 2008Thaker q3 2008
Thaker q3 2008
 
Thaker q3 2008
Thaker q3 2008Thaker q3 2008
Thaker q3 2008
 
Strickland dvclub
Strickland dvclubStrickland dvclub
Strickland dvclub
 
Stinson post si and verification
Stinson post si and verificationStinson post si and verification
Stinson post si and verification
 
Shultz dallas q108
Shultz dallas q108Shultz dallas q108
Shultz dallas q108
 
Shreeve dv club_ams
Shreeve dv club_amsShreeve dv club_ams
Shreeve dv club_ams
 
Sharam salamian
Sharam salamianSharam salamian
Sharam salamian
 
Schulz sv q2_2009
Schulz sv q2_2009Schulz sv q2_2009
Schulz sv q2_2009
 
Schulz dallas q1_2008
Schulz dallas q1_2008Schulz dallas q1_2008
Schulz dallas q1_2008
 
Salamian dv club_foils_intel_austin
Salamian dv club_foils_intel_austinSalamian dv club_foils_intel_austin
Salamian dv club_foils_intel_austin
 
Sakar jain
Sakar jainSakar jain
Sakar jain
 
Runner sv q307
Runner sv q307Runner sv q307
Runner sv q307
 
Roy aerofone power_verif
Roy aerofone power_verifRoy aerofone power_verif
Roy aerofone power_verif
 
Robert page-abstract
Robert page-abstractRobert page-abstract
Robert page-abstract
 

Mehta mayur d2_audio_dv_club_verification_flow

  • 1. Design Verification at D2Audio March 8, 2006 Mayur Mehta 1
  • 2. D2Audio Products • D2Audio builds all Digital Class D amplifier controller ICs which use sophisticated digital Pulse Width Modulation (PWM) Techniques. All-digital signal path On-Chip DSP provides amplifier controls and comprehensive audio signal processing. 25-600 watts per channel 93% power efficient 2
  • 3. D2Audio Products – Enabling Digital Power In The Broad Audio Market Consumer Professional Automotive 3
  • 4. D2Audio Integrates Multiple Functions in IC Amplifier GUI DSP Digital I /O VID1___ Firmware VID2___ AUD___ HDMI__ S/PDIF_ Tuner__ 4
  • 5. ONLY True “Scalable” Solution from 15W to 600W Today! Assumed Performance Constraints • 8-ohm Loudspeaker • < 0.1% Distortion • > 100dB SNR D2Audio 150W+ • Reliable and Cost-Effective Intelligent Discrete Discrete PWM Controller Driver N+N FETs D2Audio 125W Intelligent Discrete Discrete PWM Controller Driver N+P FETs Power Level (8 ohm) Technology-Imposed Limit Integrated Discrete 75W Controller Driver FETs • 40V Process Limit • Protection • Control Integrated • Drive 50W Controller Power Stage PWM controller Drive/Protection/Power 5
  • 7. Chips Developed • 1st Gen Digital Audio Engine IC (DAE-1) PWM Controller with SRC (Sample Rate Converter), DSP, Output Protection In production for > 1year • Demonstrated full audio performance and features on first silicon. • 2nd Gen Digital Audio Engine IC (DAE-2) First to develop Class D amplifier with all-digital feedback • Power supply feed-forward and closed-loop feedback technology correct for power supply variations, non-linearity and other distortion-inducing mechanisms • As much as 60dB performance improvement • Most analog PWM Solutions use analog closed-loop feedback In Production Now • Demonstrated full audio performance with feed forward and feedback on first silicon • 4 channel and 7 channel reference design solutions 7
  • 8. Chip Block Diagram !! ! '% ! # ! # " ! ! ) ' & ! " % ( * $ 8
  • 9. Verification Techniques • C++ Model • Verilog simulations Block-level and chip-level verification NC-Verilog, Verdi and SureCov CVS, Bugzilla and nLint Verilog level transactors interacting with embedded C Program to synchronize DSP and I/O functions Assembly level and C code to perform DSP functions • FPGA emulation Full chip implementation synthesized to Xilinx FPGA Custom I/O boards developed for “rest of system” Connectivity to real world audio streams Back-end power electronics for amplifier system testing 9
  • 10. Development and Verification Flow for Signal Processing Blocks • Matlab – Numerical Analysis tool to aid in developing algorithms • C++ based simulator • Matlab script generates a setup file and input data files Executes the C++ simulator and dumps output into files. On termination of simulator, Matlab script performs analysis of the data produced by simulator. • C++ model to implement algorithms on a fairly high level Verify the functionality using the above C++ simulator Determine gross computational complexity • Refine the algorithms to a cycle accurate level 10
  • 12. Development and Verification Flow (Contd.) • Verification environment Generate setup files, input and expected output data for the RTL Simulator. Verilog based transactor performs RTL initialization, initializes the computational engine and runs the simulation with input data while it compares output data to the expected data read from files. Run Verilog simulations with the cycle accurate model in parallel to verify that the RTL implementation has same functionality and identical performance to the original model. • Run extensive simulations to exercise typical setups as well as the boundaries of the design. • Typically the output files from Matlab become part of the design data base Test Suites for regression testing • Maintain C++ model to match architectural and design changes 12
  • 13. Block Diagram of Chip-level Verification Global Transactor Transactor Transactor PUMPLO PSSYNC OSCOUT PUMPHI XTALO SRD0 SRD1 SCK0 SCK1 XTALI STD0 STD1 SC0 SC1 TIO 3 3 3 2 SDIN Reserved Serial Audio Interface 2 PLL Timer SCKR Serial Audio Interface Transactor 2 LRCLK MCLK SCLKT LRCKT Digital Signal Processor Pulse Width Modulator SDOUT SCLK PWMH0 Frequency Response Correction RXD SCI Sample Rate Conversion PWML0 Transactor TXD PWMH1 Transactor Linear Interpolator PWM Correction PWML1 Noise Shaper Output Drive SCL Quantizer 2-Wire Effects PWMH2 SDA PWML2 SPDIFRX PWMH3 S/PDIF PWML3 SPDIFTX nRESET OTSEL Control nRSTOUT Transactor PWMSYNC 5 SYS 4 BMS 8 GPIO 16 TEST Power Supply Protection XGPIO 4 4 4 PROTECTC PROTECTA PROTECTB PLLAVDD PLLAGND PLLDVDD PLLDGND OSCVDD PWMVDD PWMGND CVDD CGND RVDD RGND nTRST TEST Test.c Test.V Transactor 13
  • 14. Verification Techniques – FPGA Emulation •1:1 Mapping with the chip •Capability to do performance correlation •Verify external Interfaces •Platform for software development •Vehicle to demonstrate performance and new FPGA Emulation System features 14
  • 15. Lessons Learned • Always Emulate Bug count found in FPGA emulation easily justifies effort and resources expended Confidence of working with real world interfaces without surprises Great tool to develop software which allows us to accelerate firmware development Emulation system should be scalable, repeatable and transportable • Top-level environment where tests can be interchangeably simulated and emulated is very valuable. Needed to debug emulation system during bring up stages FPGA was always correlated with RTL FPGA emulation is used as a hardware accelerator 15
  • 16. Lessons Learned (Contd.) • Code Coverage was useful in finding holes in our test cases • Project Management Comprehensive Microsoft Project scheduling with detailed dependencies between RTL Development, Block-level verification,Chip verification, FPGA and Physical design completion 16
  • 17. Why the current methodology works for D2Audio • Comprehensive block-level and system-level specifications • Easy to use test environment allowed us to generate comprehensive tests • Everything under CVS control • Production firmware was run on FPGA emulation before tape-out • Comprehensive verification in simulation environment before starting FPGA Verification • FPGA emulation confirmed performance before tape-out Confirms that the high-level model represents reality Plug tests • Simple verification environment allowed us to scale verification resources • Mature engineering team 17
  • 18. Improvements • Plan to use assertion tools for debugging, verification and Code/functional coverage • Add regression suite for FPGA builds • Evaluate System C/System Verilog Improve inefficiencies in the current verification environment • Test Development • CPU intensive • Verify external IP for complete functionality and clear specifications 18
  • 19. Suggested Follow-up activities of DVClub • Present a methodology which has used assertion tools • Present a methodology which has used code and functional coverage tools Correlation with bugs found on chip How do you use it to predict schedule and tape-out decision • Discuss Verification projects which did not use FPGA emulation • Discuss projects which developed software simulator of a chip for partners to use for software development • DV for mixed signal ICs • Pros and Cons of outsourcing verification 19