Tutorials - Monday 16/11/2015
08:30 Registration
09:00 Opening Remarks,
Erez Bilgory, IBM Research – Haifa
09:15 HW/SW Co-validation: Past, Present, Future,
Yael Abarbanel, Eli Singerman, Intel
Abstract: In modern SoC's Software and Firmware become a fundamental part of the end product. SW / FW development and SW/FW/HW co-validation are on critical path to product launch. This introduces new challenges both in design and validation in particular in pre-silicon time-frame. Conventional HW oriented simulation techniques are no longer sufficient, and handling SW/FW/HW co-validation requires new methodologies as well as a set of validation-platforms/tools. In this tutorial we review the landscape of SW/FW/HW co-validation, articulate the challenges, and discuss the various validation platforms that are being used across the product-life-cycle. In particular we discuss how different validation activities such as test-generation, checking, coverage, debug are adapted to each validation-platform.
10:45 Break
11:15 Verifying the Verifier -- Creating a Robust Bug-free Verification Environment,
Efrat Shneydor, Cadence Design Systems
Abstract: From polls done over the years, we know that a significant percentage of the debugging time spent by verification engineers ends with the realization that the bug relies in the verification environment, and not in the Design Under Test. Maintaining and debugging the verification environment (VE) becomes a major effort, requiring more and more focus on attempting to improve the VE quality, and achieving an overall increase in the quality of the designs, while reducing the Time to Market.
This tutorial will describe a process of creating a verification environment (VE), focusing on two main stages:
We will walk through the process of developing a checker, showing code examples, demonstrating key elements in the verification language, and will present some demos of testing and debugging tools.
The tutorial is of interest to every one who develops or uses a verification environment. The code examples will be in e, as this is my "mother tongue" when it comes to verification, but the concept is language neutral.
This tutorial will describe a process of creating a verification environment (VE), focusing on two main stages:
1) Testing the VE while developing it, applying unit tests.
2) Debugging the VE, in a system level, using the INDAGO Debug Platform.
We will walk through the process of developing a checker, showing code examples, demonstrating key elements in the verification language, and will present some demos of testing and debugging tools.
The tutorial is of interest to every one who develops or uses a verification environment. The code examples will be in e, as this is my "mother tongue" when it comes to verification, but the concept is language neutral.
12:45 Lunch
14:00 Applying Agile Methods to Hardware Verification - Experiments and Outlook,
Bodo Hoppe, IBM
Abstract: For over a decade, the software development community has been putting substantial effort into agile development methods and the successful application of agile practices. In recent years, the hardware development community has begun to experiment using agile methods, especially in the area of hardware verification.
The initial planning of a verification project is very inaccurate, given the limited knowledge of the design's behavior. As a result, constant interaction within the team is required to define the priorities and to refine the tasks to allow mid-course corrections. To this end, the Scrum methodology fosters constant communication between teams and helps improve the productivity and the quality of the verification effort. Regression results and metrics such as bug count, function stability coverage, and fail signatures help facilitate the sprint reflection.
Work in the field has produced encouraging results, specifically when it comes to team empowerment and motivation. Today a lot of regression environments are based on a combination of hardware and testbench releases to make sure they fit together. A drive towards continuous integration could significantly automate the workflow and boost the team competence. We will discuss examples of implemented workflows as well as the results achieved.
Agile verification is still in the experimental phase. Because it involves a real change in mindset for hardware development, we will lead a discussion about open issues and concerns. Software developers are encouraged to contribute their experience to this session.
Since the hardware verification effort easily expands into other disciplines in hardware development such as logic design, timing, and physical design, we will also discuss options for cross-functional teams, alongside the advantages and disadvantages.
The initial planning of a verification project is very inaccurate, given the limited knowledge of the design's behavior. As a result, constant interaction within the team is required to define the priorities and to refine the tasks to allow mid-course corrections. To this end, the Scrum methodology fosters constant communication between teams and helps improve the productivity and the quality of the verification effort. Regression results and metrics such as bug count, function stability coverage, and fail signatures help facilitate the sprint reflection.
Work in the field has produced encouraging results, specifically when it comes to team empowerment and motivation. Today a lot of regression environments are based on a combination of hardware and testbench releases to make sure they fit together. A drive towards continuous integration could significantly automate the workflow and boost the team competence. We will discuss examples of implemented workflows as well as the results achieved.
Agile verification is still in the experimental phase. Because it involves a real change in mindset for hardware development, we will lead a discussion about open issues and concerns. Software developers are encouraged to contribute their experience to this session.
Since the hardware verification effort easily expands into other disciplines in hardware development such as logic design, timing, and physical design, we will also discuss options for cross-functional teams, alongside the advantages and disadvantages.
15:30 End of Tutorial Day