a pragmatic journey into formal verification€¦ · dead code analysis app code coverage closure...

12
1 © 2014 Broadcom Corporation. All rights reserved. A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION THURSDAY, MAY 15, 2014 Chris Brown and Neha Ashu Broadcom® Cambridge

Upload: others

Post on 22-Jun-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

1 © 2014 Broadcom Corporation. All rights reserved.

A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION

THURSDAY, MAY 15, 2014

Chris Brown and Neha Ashu Broadcom® Cambridge

Page 2: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

2 © 2014 Broadcom Corporation. All rights reserved.

Describe formal initiative

Aims

Targets

What have we learned so far?

Formal verification applications

Engineers’ attitudes

Tools

Questions?

AGENDA

Page 3: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

3 © 2014 Broadcom Corporation. All rights reserved.

Is an IP and chip-design center.

There are approximately 200 employees on site.

We are part of Broadcom’s Mobile Product Solutions BU.

We create market-leading video, imaging, and 3D solutions for use in mobile application processors.

We are the home of the “Raspberry Pi Apps Processor.”

BROADCOM IN CAMBRIDGE

Page 4: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

4 © 2014 Broadcom Corporation. All rights reserved.

Inspired by last year’s event, we started a formal verification initiative within Broadcom Cambridge.

Aims:

Bugs: Found earlier, are cheaper

Simple and stand-alone methodology

FORMAL VERIFICATION INITIATIVE

UVM

FPGA

SILICON

BUG TRIANGLE

Page 5: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

5 © 2014 Broadcom Corporation. All rights reserved.

Reduce time spent using UVM to find simple bugs by using formal verification “apps”.

Automatic Register description vs. RTL proof app

Dead code analysis app

Code coverage closure app

X propagation app

Protocol proof kits such as AXI4

Resource, freed up by spending less time with UVM for simple bugs, used for proving targeted assertions.

Select assertions that augment or replace UVM work.

Functional Verification Utopia

FPGA hardware bugs: 0

Silicon bugs: 0

To be able to sign off appropriate blocks with formal verification only.

INITIATIVE TARGETS

Page 6: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

6 © 2014 Broadcom Corporation. All rights reserved.

Formal verification “apps”

Intended to give easier access to some parts of formal verification.

Do not be fooled; they are not necessarily easy!

Register-proof app

Needed helper code to understand how to drive control buses.

Struggled with status registers.

WHAT HAVE WE LEARNED?

Logic

Read-only

Status register

APB

Page 7: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

7 © 2014 Broadcom Corporation. All rights reserved.

People with a simulation verification background are keen and interested in formal techniques. They see it as:

An additional skill in their toolkit.

An opportunity to reduce some effort in constrained random test benches.

Biggest barrier is methodology. I have a spec.

I have a design.

I have an assertion language.

Now what?

Need to have better understanding of formal techniques for a complete solution (end-to-end checking).

WHAT HAVE WE LEARNED? (2)

Page 8: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

8 © 2014 Broadcom Corporation. All rights reserved.

Formal verification tools need a lot of CPU and a lot of memory.

Configuration of the formal tools to optimise for CPU and memory is not necessarily good “out of the box”.

Before AE help memory usage: >100 Gigabyte (with 1 m/c for all engines).

After AE help memory usage: ~16 Gigabit (with multiple m/c for different engines).

Good/active support from the EDA company. AE is a requirement to get the tools configured properly for optimum performance.

WHAT HAVE WE LEARNED? (3)

Page 9: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

9 © 2014 Broadcom Corporation. All rights reserved.

We have invested significant engineering time in learning to work with the tools and methodologies.

ROI?

Our Specifics

Our IP development for current generation was almost complete as we started formal initiative.

IP had already been verified in UVM/FPGA extensively over a long period of time.

Very few bugs left to find!

Adopting/learning in preparation for next round of IP development.

ROI

Debugging FPGA/test chip silicon issues.

Rather than spend days trying to recreate an FPGA/test chip silicon issue in simulation.

Write assertions for the symptoms.

Use formal tools to provide a counter example.

HOW DO YOU MEASURE SUCCESS OF ADOPTING FORMAL TOOLS?

Page 10: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

10 © 2014 Broadcom Corporation. All rights reserved.

Find out the designs which are good candidates to formally verify.

Completely signing off designs using formal verification.

Any checklist to check against

Metrics to measure the completeness of verification before sign-off

FUTURE CHALLENGES TO TACKLE

Page 11: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

11 © 2014 Broadcom Corporation. All rights reserved.

Traditional (?) coverage-driven, constrained random-verification engineers are happy to learn formal verification.

Get them methodology training to quickly move up the learning curve.

Formal apps are not as easy/quick to deploy as you might have been led to believe.

Tool setup is key for good performance of formal verification tools.

CONCLUSIONS

Page 12: A PRAGMATIC JOURNEY INTO FORMAL VERIFICATION€¦ · Dead code analysis app Code coverage closure app X propagation app Protocol proof kits such as AXI4 Resource, freed up by spending

12 © 2014 Broadcom Corporation. All rights reserved.

Thank You!

QUESTIONS?