13.07.2015 Views

Spec-based verification: A new method for functional ... - Cadence

Spec-based verification: A new method for functional ... - Cadence

Spec-based verification: A new method for functional ... - Cadence

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Functional test plan: Test the jump on carry (JMPC) opcode when thecarry bit is high.extend instruction {keep ('top.cpu.carry'== 1) => opcode == JMPC;};Note: signals that are quoted represent DUTsignals from the HDL.Figure 7: Test constraint from the <strong>functional</strong> test planCONCLUSIONThe ineffectiveness of current <strong>verification</strong> <strong>method</strong>ologies is apparent both in the proportion of timespent verifying a design versus the time spent designing it, and in the number of re-spins most designsrequire to become fully <strong>functional</strong>. The enormous resource expenditures required to verify today’scomplex designs will more than double in the next generation of complexity. Verification teams alreadyfind themselves backed into a no-win situation with only two options — miss the schedule by anindeterminate amount, or abort <strong>verification</strong> and risk an almost certain re-spin.<strong>Spec</strong>-<strong>based</strong> <strong>verification</strong> provides an effective composite of enabling technologies that automate resourceintensivemanual processes and establish qualitative metrics to ensure sufficient <strong>functional</strong> coverage.Using these technologies increases the quality of the design while reducing the resources needed toimplement a powerful <strong>verification</strong> <strong>method</strong>ology. Verification engineers report experiencing a two- tofour-fold reduction in the <strong>verification</strong> schedule, while achieving significantly higher <strong>verification</strong> quality.11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!