February 25, 2009Chaitanya: MEE Project Defense1 Fully configurable hierarchical transaction level verifier for functional verification Master’s Defense.

Slides:



Advertisements
Similar presentations
Copyright © 2009,Intel Corporation. All rights reserved. Auto ECO Flow Development For Functional ECO Using Efficient Error Rectification Method Based.
Advertisements

Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
SOC Design: From System to Transistor
CMSC 611: Advanced Computer Architecture
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
MotoHawk Training Model-Based Design of Embedded Systems.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
HW/SW- Codesign Verification and Debugging. HW versus SW Ondrej Cevan.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
System Design and Analysis
Chapter 1 Assuming the Role of the Systems Analyst
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Software Configuration Management (SCM)
Chapter 1 Assuming the Role of the Systems Analyst
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
From Concept to Silicon How an idea becomes a part of a new chip at ATI Richard Huddy ATI Research.
Software Testing Test Design and Implementation. Agenda Test Design Test Implementation Test Design Sources Automated Testing 2.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Flash Memory A type of EEPROM (Electrically-Erasable programmable Read-Only Memory) an older type of memory that used UV-light to erase Non-volatile,
Introduction to Systems Analysis and Design Trisha Cummings.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Chapter 2 The process Process, Methods, and Tools
Managing the development and purchase of information systems (Part 1)
NetSim ZigBee Simulation Code Walkthrough in 10 steps
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
Extreme Makeover for EDA Industry
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
Exploring an Open Source Automation Framework Implementation.
1 H ardware D escription L anguages Modeling Digital Systems.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Lecture 16: Storage and I/O EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014, Dr.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
COE 405 Design and Modeling of Digital Systems
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
Design of Advanced Erase Mechanism for NOR Flash EEPROM Amit Berman, June 2006 Intel Corporation.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
1 Taxonomy and Trends Dan Siewiorek Carnegie Mellon University June 2012.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Chapter 1 Assuming the Role of the Systems Analyst.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Programmable Hardware: Hardware or Software?
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
The Development Process of Web Applications
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
Managing the development of information systems (Part 1)
Introduction to Verilog
HIGH LEVEL SYNTHESIS.
Final Design Authorization
Presentation transcript:

February 25, 2009Chaitanya: MEE Project Defense1 Fully configurable hierarchical transaction level verifier for functional verification Master’s Defense Chaitanya Bandi Dept. of ECE, Auburn University Project Advisor: Dr. Vishwani D. Agrawal Committee Members: Dr. Victor P. Nelson, Dr. Fa F. Dai Dept. of ECE, Auburn University

February 25, 2009Chaitanya: MEE Project Defense2 Outline  Problem Statement  NAND Flash Memory Design  Regression Testing  Transaction Level Verification  Microcode Regression  Comparison at a glance  Controllable comparison  Results and Future Work

February 25, 2009Chaitanya: MEE Project Defense3 Problem Statement To verify the functional correctness of design revisions of the fullchip netlists in NAND Flash memory design group, Intel Corporation, Folsom, CA.

February 25, 2009Chaitanya: MEE Project Defense4 Physics behind Flash Cell

Flash Transistor Structure February 25, 2009Chaitanya: MEE Project Defense5 CG FG

Threshold Voltage Modulation The threshold voltage, V th of a transistor is the gate voltage required to invert the channel and allow the conduction of electrons from the source to drain. Information is stored in and erased from the flash cell by adding or removing electrons from the floating gate. The voltage V th can be modulated by adding or removing electrons from the floating gate. February 25, 2009Chaitanya: MEE Project Defense6

Erased Cell Vs Programmed Cell February 25, 2009Chaitanya: MEE Project Defense7 A flash cell can exist in one of the two states, erased or programmed. a) Erased cell b) Programmed cell

Reading from a erased cell February 25, 2009Chaitanya: MEE Project Defense8 An application of V g = 0-0.8V results in a current flow from the source to the drain which is represented as a logic ‘1’ in the cell. a) Erased cell b) Erased cell after application of gate voltage

Reading from a programmed cell February 25, 2009Chaitanya: MEE Project Defense 9  An application of V g = 0-0.8V does not result in a current flow from the source to the drain which is represented as a logic ‘0’ in the cell.  The threshold voltage required in this case is greater than the actual V th of the device because of the presence of electrons on the floating gate.  This change in the required threshold voltage is due to the principle of Threshold Voltage modulation. a) Programmed cell b) Programmed cell after application of gate voltage

Tunneling Tunneling is referred to as the phenomenon where electrons can tunnel through an oxide layer. This is achieved in the presence of a huge potential difference applied across the oxide. February 25, 2009Chaitanya: MEE Project Defense10

Programming a flash cell February 25, 2009Chaitanya: MEE Project Defense11 Electrons in the substrate move through the gate oxide and are trapped in the floating gate by the phenomenon of Tunneling. a) Erased cell b) Programmed Cell

Erasing a flash cell February 25, 2009Chaitanya: MEE Project Defense12 Electrons that are trapped in the floating gate move through the gate oxide into the substrate through the phenomenon of Tunneling. a) Programmed cell b) Erased cell

Why NAND Flash NAND Flash Array Architecture makes its cell size almost half compared to a NOR cell. February 25, 2009Chaitanya: MEE Project Defense13

Intel’s new 34nm 32Gb NAND Flash chip Courtesy:

Regression Testing Testing a program after it has been modified. Major component in the program maintenance phase. –Checks the correctness of the new logic, –Ensures the continuous working of the unmodified portions of a program, –Validates that the modified program as a whole functions correctly. February 25, 2009Chaitanya: MEE Project Defense15

How is Regression Testing done? February 25, 2009Chaitanya: MEE Project Defense16 Golden Model Test Model Stimulus Response Comparison

Abstraction Levels February 25, 2009Chaitanya: MEE Project Defense 17 Layout Transistor Transistors Gate Level Gates RTL Transaction Level System Level Abstraction RTL TLM

Transaction Level Modeling RTL is too low level of abstraction for system level design. Reducing and encapsulating details of design into transactions allows the designer to get a quick perception of the whole design in terms of its functionality. February 25, 2009Chaitanya: MEE Project Defense18

TLM Vs RTL Details of communication among modules Communication is done using Transactions February 25, 2009Chaitanya: MEE Project Defense19 Details of implementation of modules Implementation is at the signal level

Example A transaction level model would represent a read or write protocol using a single function call, with an object representing the request and another object representing the response. An RTL HDL model would represent such a read or write protocol as a series of signal assignments and signal read operations. February 25, 2009Chaitanya: MEE Project Defense20

Benefits of TLM a)Embedded Software Development b)Functional Verification February 25, 2009Chaitanya: MEE Project Defense21

Embedded Software Development Hardware models upon which embedded software is to be tested are available earlier in the design cycle in the form of transactions. Software development usually starts only after the hardware prototype is available. February 25, 2009Chaitanya: MEE Project Defense22 HW SW Co-design and Validation

Functional Verification TLM models help the verification engineers to –Develop targeted tests that help in system verification as a whole. –Design hierarchical verification methodologies. February 25, 2009Chaitanya: MEE Project Defense23

Functional Verification in systems with RTL-only design Functional verification can still be done using hierarchical verification methodologies. The verification environment must have an ability to extract transactions. February 25, 2009Chaitanya: MEE Project Defense24

How are transactions extracted? NAND Flash Memory Chip contains a microcode processing unit, the controller. Instructions or microcode being executed in a simulation by the controller are modeled as transactions. February 25, 2009Chaitanya: MEE Project Defense25

The Controller When the controller receives a “read” or a “write” instruction, it sends out signals on the bus to receive the data in the memory or to write to the memory respectively. During a simulation, these series of instructions are tracked as microcode instructions and modeled as transactions for the purpose of functional verification. February 25, 2009Chaitanya: MEE Project Defense26

Verification Environment Verification environment currently in NAND Flash design group involves –A Step-by-step review of microcode in execution using the fullchip simulation information. –Waveform comparison of the golden and test simulation results. February 25, 2009Chaitanya: MEE Project Defense27

Verification Environment February 25, 2009Chaitanya: MEE Project Defense 28 Microcode Flow Signals Manual review of microcode in execution Waveform Comparison Verifies the algorithm flow Verifies the signal flow

Drawbacks a) Review of the microcode in execution –Extremely manual –Excessive domain knowledge –Prone to human errors February 25, 2009Chaitanya: MEE Project Defense29

Drawbacks b) Waveform comparison of golden and test simulation data results in –irrelevant differences –comparing huge waveform databases which is very time-consuming February 25, 2009Chaitanya: MEE Project Defense30

Proposed Solution A verification environment in which –Algorithm flow is checked automatically. –Controllable comparison of waveform database. –Algorithm details at the transaction level and signal details at the RTL are verified simultaneously. February 25, 2009Chaitanya: MEE Project Defense31

Hierarchical Transaction Level Verifier February 25, 2009Chaitanya: MEE Project Defense32

Features of the Verifier Model system functionality as transaction packets. Each packet can further contain sub transactions. This forms a hierarchical model. The leaf in the hierarchical verifier is at the signal level. February 25, 2009Chaitanya: MEE Project Defense33

Controllable Comparison User can configure whether to step into a transaction packet or not based on its relevance in the hierarchy tree. The signals that are to be compared can also be configured based on their relevance to the parent packet. February 25, 2009Chaitanya: MEE Project Defense34

Microcode Regression A set of stimulus is applied to the golden netlist and the test netlist. Response is recorded as both microcode flow from the data in the log files and signal flow is determined from the waveform database. February 25, 2009Chaitanya: MEE Project Defense35

Microcode Comparison Algorithm Let the microcode flow in the golden and test cases can be modeled as M G and M T, where M G = { m G1,m G2,...,m Gi,..m Gn } and M T = { m T1, m T2,...,m Ti,..m Tn }. February 25, 2009Chaitanya: MEE Project Defense36

Microcode Comparison Algorithm Compare the microcode instruction of Golden and Test cases m Gi and m Ti If m Gi and m Ti matches, store the time slices between which these instructions take place. Mark it as a good time slice. If m Gi and m Ti don’t match, store the time slices between which these instructions take place. Mark it as a bad time slice. Perform an event based signal comparison only during the time slices at which there is a microcode match. February 25, 2009Chaitanya: MEE Project Defense37

Algorithm in execution February 25, 2009Chaitanya: MEE Project Defense38

Slicing based signal comparison February 25, 2009Chaitanya: MEE Project Defense39

February 25, 2009Chaitanya: MEE Project Defense40 Microcode Comparison Algorithm

Golden Test February 25, 2009Chaitanya: MEE Project Defense41 JMP AND REGACC NOP JMP SET Microcode 1 Microcode 2 Microcode 3 Microcode 4 Microcode 5 Microcode 6 Match? Don't compare Controllable comparison If the microcode flow matches, then only Compare the events on the signals during this transaction. (Waveform compare)

Automation 1.“Slice” the golden simulation into Microcode Execution Slices. 2.Determine how signals change for each Microcode Execution Slice. 3.Store the information 4.Read the Test waveform and perform similar slicing. 5.Compare signal changes (or signal status) for each Microcode Execution Slice that has been validated. 6.Process, and report differences. February 25, 2009Chaitanya: MEE Project Defense42

Results Simulation is perfomed in Cadence NCVerilog simulator. Microcode comparison is done using the Transaction-Level verifier in PERL scripting language. Signals are compared using the EventCom, a waveform comparison tool that uses SimVision TM database. February 25, 2009Chaitanya: MEE Project Defense43

Conclusion The entire process is automated and hence the turnaround time for validating each netlist revision is reduced from several days to several hours. In the event of a mismatch in the simulation results, the verification engineer can identify which portions of the microcode flow is not being validated and take measures appropriately. February 25, 2009Chaitanya: MEE Project Defense44

February 25, 2009Chaitanya: MEE Project Defense45 Future Work In future, we can have additional features to have the capability of viewing the transactions in the waveforms. This will enable the verification engineers to graphically visualize the transactions and signals simultaneously in the waveform window.