Verification Methodology Minimum • Most Companies Can Justify at Most 1 Re-Spin for New Design Ming-Hwa Wang, Ph.D

Verification Methodology Minimum • Most Companies Can Justify at Most 1 Re-Spin for New Design Ming-Hwa Wang, Ph.D

• Success on the first tapeout or reduce the number of re-spin to very Verification Methodology minimum • Most companies can justify at most 1 re-spin for new design Ming-Hwa Wang, Ph.D. (time-to-market/cost: 2 tapeouts) COEN 207 SoC (System-on-Chip) Verification • Most integrations of proven IPs can be done at the first tapeout Department of Computer Engineering • Shorten time to market Santa Clara University Responsibilities Topics Responsibilities and cooperation among 3 teams • Vision and goals • Architecture team responsibility • Strategy • has to make sure the model is a correct executable specification and • Verification environment covers all functionalities of the design • Verification plan and execution strategy • RTL design team responsibility • Automation • Doing RTL implementation according the model or the specifications • Resources • Verification team responsibility • Verify the RTL is the same as the model Vision and Goals model The definition of verification design verification • Verify the RTL implementation is the same as the intention (which is not the same as the golden model or the specifications) Level of Verification • Block-level verification, integration verification, chip-level verification, intension and system-level verification equivalent ? Design vs. Verification implementation • Separation of Design and Verification • Designers do verification on their own design tend to neglect/miss • Verification = infrastructure/methodology + product understanding + non-working cases, or misinterpret the specs monitoring • Intentional make two different views (one from designer, another • Verification crisis: complexity grows exponentially, re-spin cost, miss from verification engineer) on the same specs, if inconsistency time-to-mark, lost customer, etc. exists, need to find out why (specs wrong, implementation wrong, or verification wrong) and fix it The Vision • Can use designers to do verification for other blocks not designed by • Build a independent verification team in order to verify that the RTL the same persons implementation is the same as the intension, the model, or the • Ratio of the number of verification engineers to the number of design specifications engineers • Provide a consistent and generic verification environment to support • At least 1:1 at block/unit level multiple SoC projects and reuse among design teams • More verification engineers needed on sub-chip and whole-chip • Automate most of verification flow to increase productivity, coverage, verification (including coverage) and quality of the verification tasks • Need extra verification methodology/infrastructure/tool engineers • Work in parallel and aligned with HW team • Total ratio at least 2:1, more companies have more than 2:1 ratio now due to complexity grows exponentially Goals to Achieve • Basic goals (verification only) • Make sure the RTL implementation is “almost” the same as the Strategy golden model • Achieve predefined coverage on time Basic Verification Strategy (verification only) • Enhanced goals (verification + modeling) • Use SystemVerilog and OVM to build a consistent verification environment, and use scripts to provide an generic and automated verification flow high -level block model 1 high -level block model 2 • Use assertions to quickly increase the quality of the design • Use coverage and constrained-random test generation to achieve high RTL block 3 high -level block model 4 coverage, and the rest corner cases verified by direct tests • Use DPI to integrate high level model efficiently • Use skeleton testbench and test APIs (transactions, sequences, etc.) to Verification Environment increase productivity • Use revision control, configuration, regression and bug tracking to repeat The V Model for Verification and Validation problem and monitor progress of fixes validation • Use LSF to fully utilize computing/license resources, and use parallel requirements acceptance specification test processing, hardware acceleration, FPGA/emulation to speed up verification verification system system test & Enhanced strategy (model-driven methodology) specification integration • Use model-driven methodology for architecture, HW and SW concurrent verification development, verification, and validation subsystem subsystem • Use performance modeling for architecture exploring, performance specification test analysis, and HW/SW partitioning • Use functional or TLM model as the golden reference for HW/SW program verification program development and verification • specification test Use mix and match flow (with co-simulation) to gain visibility while preserving high run-time efficiency verification • module unit Break the design/verification/backend dependencies: parallel design and specification test verification efforts, use AFE models, hack sdf/RTL for GLS, etc. Time to Market code • conventional iterative serial design process: • →→→ →→→ →→→ architecture hardware software system integration • parallel/concurrent design process: Test Layers hardware architecture system integration Test Layer software Scenario layer: application and scenario test case generation and checking, e.g., test generators Example mix and match models • software model: e.g., all high-level models Functional layer: sequence of transaction and stimulus generation, self -checking, e.g., transactors, self -checking high -level block model 1 high -level block model 2 Command layer: protocol and interfaces base command and functional model, e.g., driver, monitor high -level block model 3 high -level block model 4 Signal layer: interface to HDL, e.g., DUT • hybrid model: e.g., replace one block model by RTL Typical Verilog Testbench • Vera language and VMM stimulus output • Cadence Specman e language and its CDV environment creation BFM DUT BFM checking • Mentor Graphics InFact • Verilog testbench with script to automate constrained random stimulus generation, high-level to low-level test translation, Verilog reference monitors and scoreboards for checking model • Open source free C++ environment - Teal • SystemC and its verification library (SCV) Coverage-Driven Verification Environment • SystemVerilog and OVM • Advantages • Fully automated process – testbench automation hand coded testbench • Cost and benefit tradeoff made by upfront coverage goals directhand test coded • Reusable broad-spectrum corner-case direct test input design for output verification verification monitor test (DUT) monitor 100% stimulus coverage tapeout call direct coverage APIs scoreboard tests constrained-random coverage transaction checker constrained test generator collector logging random pure random functional coverage pass/fail build environment preliminary verification tapeout time log files model Verification Description Languages (VDL) • Vera • A design verification language • need to build the infrastructure Coverage-Driven Verification • Specman • CDV combines the following aspects to reduce the time spent verifying a • A coverage-driven verification environment design • long learning curves for the “e” language • Automatic stimulus generation • SystemC and its verification library (SCV) • Self-checking testbenches • SystemC is based on C++ and moved from high level language • Coverage metrics downward to support functional modeling (TLM), verification (SCV), • An iterative process and even implementation (not encouraged though) • Start with simple directed tests to bring up the design • Difficult to be accepted by design community • Fully random test generation and run simulations • SystemVerilog • Collect coverage statistics and adjust constrained-random test • Based on Verilog and grows upward to support system level generation to generate corner cases modeling and emphasizes on verification • Run simulation and goto step 2, until the iteration doesn’t increase • A hardware design and verification language (HDVL) enough coverage • Hand coded corner tests not covered by previously steps Verilog or Object-Oriented • Ways to implement CDV • Designers prefer Verilog to object-oriented language • Tools from EDA vendors – vendor lock-in? • Pros – designers can jump in easily to help on verification • Cons – Verilog is a hardware (HDL), but not good for verification, constraint c { i dist { [0:2] := 1, 3 := 2; 4 := 3 }; } which needs verification description language (VDL) // probability of : 0 is 1/8, 1 is 1/8, 2 is 1/8, 3 is 1/4, 4 is 3/8 • Object-oriented environment • Pros – good for complicated projects by using layered verification Code Coverage environment, which facilitates reusability • Line/block/segment coverage • Cons – tremendous training cycle on designers and need longer up- • If all lines, blocks, and segments are reached front development time • Branch coverage • If all branches are reached SystemVerilog Randomization • Expression coverage class Bus_trans; • If all possible legal Boolean values of the expression are reached static int next_id; • Toggle coverage const int id; • Which bits in RTL are toggled – for power analysis rand bit[2:0] dir; // read/write • FSM coverage rand bit[15:0] addr; • If all states and possible transitions are reached rand bit[31:0] data; • Path coverage constraint addrIsEven { addr[0] == 0; } // word alignment • If all possible paths/traces are reached function new; id = next_id; endfunction : new Functional Coverage function print; • A coverage point is a Boolean function f(x1, …, xn) of a given set of … design variables x1, …, xn representing a specific valuation on the set. endfunction : print Variables are sampled, if they

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us