1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210) 522-3419

Slides:



Advertisements
Similar presentations
Verifying Performance of a HDL design block
Advertisements

Computer Architecture
I/O Organization popo.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
FPGA (Field Programmable Gate Array)
1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
#147 MAPLD 2005Mark A. Johnson1 Design of a Reusable SpaceWire Link Interface for Space Avionics and Instrumentation Mark A. Johnson Senior Research Engineer.
MotoHawk Training Model-Based Design of Embedded Systems.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
NoC Modeling Networks-on-Chips seminar May, 2008 Anton Lavro.
Requirements Analysis Lecture #3 David Andrews
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
SiliconAid Solutions, Inc. Confidential SAJE SiliconAid JTAG Environment Overview – Very Short.
Matlab as a Design Environment for Wireless ASIC Design June 16, 2005 Erik Lindskog Beceem Communications, Inc.
Introduction to Software Testing
Software Testing & Strategies
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Extreme Programming Software Development Written by Sanjay Kumar.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
Jon Turner (and a cast of thousands) Washington University Design of a High Performance Active Router Active Nets PI Meeting - 12/01.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Most modern operating systems incorporate these five components.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
Testing Workflow In the Unified Process and Agile/Scrum processes.
J. Christiansen, CERN - EP/MIC
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Verification Environment Architecture Sergey Nemanov December 21, 2005 Verification Leadership Seminar.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
FPGA Calculator Core Final Presentation Chen Zukerman Liran Moskovitch Advisor : Moshe Porian Duration: semesterial December 2012.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
RBSP Radiation Belt Storm Probes RBSP Radiation Belt Storm Probes 12/25/20151 Flight Software Template for Instrument Critical Design Review Gary M. Heiligman.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Digital Logic Design Lecture # 15 University of Tehran.
12005 MAPLDIssues in FPGA Verification Panel Discussion 2005 MAPLD International Conference Washington, D.C. September 6, 2005.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Speaker: Utku Özcan ASIC Designer, R&D, Netaş, Turkey Designers: Utku Özcan,ASIC Designer İsmail Hakkı Topçu, Hardware Designer Ömer Aydın, Senior System.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Benefits of a Virtual SIL
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Chapter 2: System Structures
environment infrastructure
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Teaching The Art of Verification
Introduction to Software Testing
Matlab as a Design Environment for Wireless ASIC Design
A test technique is a recipe these tasks that will reveal something
Srinivas Aluri Jaimin Mehta
Presentation transcript:

1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)

HowardMAPLD2005/193-W2 Background Verilog is a hardware description language for digital logic design (FPGA/ASIC/PLD) Typical usage –Design End item design description (RTL for synthesis) –Verification Modeling input interfaces (providing proper data/control relationships) Generation of test stimuli, esp. for low-level verification activities. Robust & simple first order DV with standard tools –Not adequate with growing complexity, multiple devices

HowardMAPLD2005/193-W3 Low-level Verification Results of this first order modeling are often verified by visual means –Finite limitation on the amount of transactions that can be verified visually Rudimentary checking of interface protocols in Verilog models –Repetitive pattern detection –Interface timing Verilog checkers increase verification capabilities tremendously –Directed tests are excellent for nominal function –Perfect for small number of scenarios It is at this point that the real strength of Verilog is revealed – the programming level interface (PLI).

HowardMAPLD2005/193-W4 The Verilog PLI The Programming Language Interface is a procedural interface between Verilog simulation and other software programs –Verilog models can invoke external program during simulation Accessibility to every attribute and capability to read and/or modify any value in the simulation –Initializing memories at simulation start –Verifying end of simulation results. C programs can be tied through the PLI to Verilog shell models –Dynamically generate test stimuli –Check design outputs –Scoreboard non-linear data flows –Incorporate random features

HowardMAPLD2005/193-W5 PLI Goal The PLI allows the designer to build a robust virtual test bench that allows the functional interaction of hardware and software to first be characterized without lab space. –Recent experiences (what I had to learn in the customer’s lab) Flow Control from multiple sources is complicated to model in traditional hardware simulation FSW access order should not matter, but sometimes it does “Garbage in” can cause system problems outside the digital realm

HowardMAPLD2005/193-W6 PLI Advantages Simulations do not need to be limited –Time, complexity or randomness Extended to reflect the real world –“Software” interaction can be modeled More simulation cycles can occur –Designer does not verify test results, checkers and PLI do –Designer time spent on bug fixes Capability to randomize each test –Can mimic any scenario Coverage –Regression tests

HowardMAPLD2005/193-W7 Our approach PLI extension of FPGA verification capabilities –Incorporation of functional/GSE software Development of decode routine for turbo encoded data Development of several key bus functional models and PLI routines –Memory Initialization Large lookup table loaded in zero sim-time to PROM model –CPCI interface / software Working on control mechanism back to SW (ISR) –Export of telemetry Data provided to third party for verification Frames to be transferred to scoreboard for integrity check

HowardMAPLD2005/193-W8 Verification Environment Simulations for Command & Telemetry Board –All component models utilize worst case timing Board level timing verification –Verification of processor to local bus traffic –Verification of inter-FPGA local bus traffic

HowardMAPLD2005/193-W9 Board Verification Board GSE is designed to verify board level requirements. –Mixture of automated and manual measurements. Board Test Cases have been defined based on PFS –Basis for PLI functions IR&D funds for enhanced simulation environment –Three fundamental testing blocks: cPCI Telemetry RX Serial command TX

HowardMAPLD2005/193-W10 PLI Verification Environment cPCI –Memory peeks / pokes, config cycles, resets –Exhaustive memory tests, VTC duration testing, serial command verification, telemetry packet generation, 1553 traffic, access order dependencies, etc. Telemetry RX –ASM detect, de-randomization, frame length check –Frame integrity, FHP check, packet integrity, data integrity Telecommand TX –Inject telecommands, monitor response –Error injection, data integrity (PCI side)

HowardMAPLD2005/193-W11 Synergy Overall GSE scheme nearly identical to board level verification through PLI –Necessity to “cover” every function Wiggle every GPIO Address all memory locations Exercise each function –Data integrity checking through link listing mechanism Injected data is “scoreboarded” / exported data is then knocked out out of link list Minimal impact on GSE team to accommodate PLI functions

HowardMAPLD2005/193-W12 Status Two stage approach to PLI functionality Stage One (Complete) –Currently performing turbo encode, telemetry export, turbo decode (error detect only), and data integrity tests –Utilizing GSE generated PCI transactions without “oversight” PLI to GSE SW does allow conditional control as implemented Stage Two –Linking of PLI to GSE for conditional control –Use of scoreboarding mechanism to verify data integrity

HowardMAPLD2005/193-W13 Results Simulation run length not limited by designer attention –Scripting allows for “board” initialization and simulation setup Parameterized functional testing –Runs can be regressive or random –Results then used for debugging by designer Coverage metrics –Merge results from successive simulations –Generate directed tests for unexercised logic ACTUAL METRICS PENDING… I’m still working on Stage Two, and trying to bring up hardware in the lab!!!