Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Similar documents
Fundamentals of Digital System Design ECE 3700, CPSC 3700

VLSI Logic Test, Validation and Verification Lecture 1, Aug 25, 2004

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Design Verification Lecture 01

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Overview of Digital Design Methodologies

COE 561 Digital System Design & Synthesis Introduction

Testing Digital Systems I

Programmable Logic Devices HDL-Based Design Flows CMPE 415

DESIGN STRATEGIES & TOOLS UTILIZED

CHAPTER 1 INTRODUCTION

Overview of Digital Design with Verilog HDL 1

Digital Integrated Circuits

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

ECE/CS Computer Design Lab

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Digital Design Methodology

Digital Design Methodology (Revisited) Design Methodology: Big Picture

EE 4755 Digital Design Using Hardware Description Languages

ECE 156A - Syllabus. Description

EE 434 ASIC & Digital Systems

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

EE 4755 Digital Design Using Hardware Description Languages

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

VLSI Test Technology and Reliability (ET4076)

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Slides for Lecture 15

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

RTL Coding General Concepts

ECE520 VLSI Design. Lecture 1: Introduction to VLSI Technology. Payman Zarkesh-Ha

The Microprocessor as a Microcosm:

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

FPGA Based Digital Design Using Verilog HDL

Digital Systems Laboratory

1 Controlling complexity

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Columbia Univerity Department of Electrical Engineering Fall, 2004

Evolution of CAD Tools & Verilog HDL Definition

ICS 252 Introduction to Computer Design

ASIC world. Start Specification Design Verification Layout Validation Finish

101-1 Under-Graduate Project Digital IC Design Flow

Synthesis and Optimization of Digital Circuits

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware Description Languages (HDLs) Verilog

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

VHDL for Synthesis. Course Description. Course Duration. Goals

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.

Please Turn Your Mobile Phone Silent. August 29, 2017 CSc 242 1

outline Reliable State Machines MER Mission example

The University of Iowa. 22c181: Formal Methods in Software Engineering. Spring Course Overview

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

L2: Design Representations

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Design Methodologies and Tools. Full-Custom Design

EE5780 Advanced VLSI CAD

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling

Introduction to VHDL. Module #5 Digilent Inc. Course

VERILOG 1: AN OVERVIEW

CS 250 VLSI Design Lecture 11 Design Verification

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

Hardware Software Codesign of Embedded Systems

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Automated Formal Verification of X Propagation with Respect to Testability Issues

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

Logic Synthesis and Verification

LSN 6 Programmable Logic Devices

LSN 1 Digital Design Flow for PLDs

Hardware Synthesis. References

Hardware Modeling. Hardware Description. ECS Group, TU Wien

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

UNIT IV CMOS TESTING

Electrical Engineering and Computer Sciences (EECS)

VHDL simulation and synthesis

Programmable Logic Devices (PLDs)

Combinational Equivalence Checking

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

EE434 ASIC & Digital Systems Testing

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VLSI System Testing. Fault Simulation

EITF35: Introduction to Structured VLSI Design

An overview of standard cell based digital VLSI design

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

CS 250! VLSI System Design

EITF35: Introduction to Structured VLSI Design

A New Electronic System Level Methodology for Complex Chip Designs

Functional Programming in Hardware Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Fault-Tolerant Computing

Introduction to Verilog/System Verilog

Transcription:

Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed 1:25-2:45pm, WEB 2250 Office Hours: Tue: 12pm - 1pm, or by appointment HWs and Programming Assignments + 1 term-project Textbook: I m writing a textbook, which will be provided to you for free! All lecture slides will be provided Reference books listed on the class website 1

Course Websites Two resources for course website: The course material will be available at: http://www.ece.utah.edu/~kalla/index_6745.html A Canvas link to course website is also provided: 2

Agenda for Today Introduction to Test, Validation & Verification Course Syllabus Overview Course Organization Requirements, Responsibilities, grading policy, etc. Discussions... 3

Course Organization Grading Policy: HW: 60%; Project - 40% Course Materials: Lecture notes, slides, tutorials, and papers http://www.ece.utah.edu/~kalla/index_6745.html HW submissions through Canvas Pre-requisites: Basic Digital Design + programming experience - I ll teach the rest! HW: some problem solving + some experiments with tools + some CAD tool programming and design. Projects: Theoretical study, experiments, CAD tool implementation, preliminary investigations on a research problem... 4

VLSI Circuit Realization Process Customer s requirements Design Conceptualization by customers and designers Design Specifications (usually in English) Design Descriptions - VHDL, Verilog, SystemC,... Circuit realization: Synthesis, Custom Design Marketing... Where do Test and Verification fit-in? 5

VLSI Circuit Realization Process RTL Description Translation Tools (HDL Compilers) Un optimized Logic Logic Optimization Tools Optimized Logic Netlist Cell Library Mapped Netlist Technology Mapping Physical Synthesis Tools Mask level Layout Fabricated ICs Manufacturing Process Figure 1: The VLSI Realization Process: A Typical design synthesis flow. 6

Design Validation Is the specification fool-proof? Bugs: mis-understanding, incorrect modeling, oversight... How to ascertain validity of the specs? Simulate (randomly?) and observe... too slow Mathematically infer validity... computationally complex Today s solutions: little-bit of math + little-bit of simulation + little-bit of luck! Topics on design validation: Simulation, coverage metrics, property verification, model checking, among others.. 7

Enhancing the Power of Simulation Unroll the logic Module input ports, output ports, internal signal declarations; begin description.... if (condition) then assign signal = function(); end if;.... end description Was this if then statement covered by simulation vectors? Generate the simulation vectors to excite this statement! Figure 2: Enhancing RTL code coverage. 8

Formal Design Verification Simulation is incomplete Mathematicians say: Mathematically prove that your system is fool-proof! Theorem Proving and Model Checking... Computationally complex, but great progress in the past decade Proof of equivalence is (somewhat) manageable Industry tools available for equivalence and model checking Our focus: Implementation Verification via Equivalence Checking 9

Verification: Equivalence Checking RTL Description Translation Tools (HDL Compilers) Un optimized Logic RTL to Gate level Equivalence Verification Logic Optimization and Mapping Tools Optimized Logic Netlist Design for Test Modifications Testability Enhanced Netlist Physical Synthesis Tools Pre and Post Test Synthesis Equivalence Verification Layout Verification Mask level Layout Fabricated ICs Manufacturing Process Figure 3: Typical implementation verification flow. 10

Equivalence Checking Setup A B Specification Model F Is (F!= G) ever TRUE? G Implementation Figure 4: Equivalence Checking Setup: A Miter 11

Equivalence Checking Examples module verify(a, b, c, f, y, X, Z, F) input a, b, c; // Boolean input [3:0] X; // Bit-vectors output f, y; output [3:0] F, Z; assign f = a bc + ab c + abc + abc; assign y = ab + ac + bc; // a(b+c) + bc assign F[3:0] = 8 * X[3:0] * X[3:0] + 8* X[3:0]; assign Z[3:0] = 4 b0000; 12

VLSI Testing Testing a fabricated chip for manufacturing defects. Physical Failures and Fabrication Defects due to: Shorts or opens on wires... unreliable metalization Electromigration over a period of time Shorts (fusing) of Source-Drain Improper ion-implantation... slow switching Ever heard of latch-up? Reliability of a manufacturing process in general Will also study some VLSI testing fundamentals in the course 13