SlideShare a Scribd company logo
1 of 10
Download to read offline
Validation and Design
 in a Small Team Environment:
The Development of the High
Performance Embedded Computing
Process at Northrop Grumman

                  Matthew Clark, Ph.D
                  February 19th, 2009
Motivation


Validation is:                   What if your project is:

• Complex                        • Complex

• Long                           • Lasts 3-6 months,

• Requires expensive tools       • Has a limited budget,
                                     – And new grads.
• Requires experienced
  employees.                     • Is done in a group with 30
                                   years of SW experience,
                                   and you represent the sum
                                   total of HW development
It is both an Art and Science.
                                   experience.
First Question

What makes verification so expensive and time consuming?
                                   Coverage Analysis
Functional Verification Issues
• Code with Branches
                                   Assertions
• Multiple Clock Rates
• Packet and Clock Rate
  adaptation.                      1 TC per config + Random.

• Configurations
• SAR                              Corner Case Analysis

• Encapsulation
                                   Special SW modeling (e/Vera)

      Identifying and reducing the green arrows is the Art.
Problem Statement


How can you reduce the number of green arrows so that
designs can be completed quickly, reliably, without having
the “normal” 2.5:1 Verification : Designer ratio?
A: Do what Capt. Kirk did, change the problem.
We can’t change the verification restrictions, perhaps we
can change the design issues so that we don’t have some
verification problems… by design.
Problem Space


• Offload CPU-intensive portions of numerical algorithms.
• Rapid deployment. Standard project is 3-6 months.
• Must be modular:
    – Single module stand-alone.
    – Combined into algorithm.
    – Multiple algorithms in single container.

• Exact duplicates of existing SW applications.
    – Goal is to reduce execution time, or improve performance (ie replace 64K pt
      FFT with 512K pt FFT).
    – To SW, there must be no difference between CPU, FPGA, FPGA+DSP, DSP
      implementation.
Design and Verification constraints.


• Single Clock Rate for every block.
• No Packet and Clock Rate Adaptation
    – Force it to occur at a single ingress/egress point.

• Heavily branched code
    – Algorithms (fortunately) tend to be datapath centric.

• Configurations
    – Separate algorithm implementation verification from IO
      verification.
    – Build bit/cycle accurate model of algorithm, use IO controls to vary data
      tx/rx.
Design constraints reduce verification space

 Design Constraints
 •   All blocks use small input fifo’s, and programmable full/empty
     indicators.
 •   All blocks execute at 210 MHz. (Max Register Access speed).
 •   Top Level register interface can be pipelined for timing closure.
 •   Coregen modules only (Ref. Designs Need Not Apply)
 •   Each block uses (1+) async resets, that are externally synch’d.
 •   Each block will have a testbench that:
      – Uses golden Matlab code to create all stimulus/checker files.
            • Scenarios are generated from configure files.
      –   Test bench is nothing but interface BFM comparing values against file.
      –   Can slew input/output rates independently.
      –   Can randomly assert the full/empty flags on interface pins.
      –   Interrupt conditions may be checked by hand.
      –   Pass fail conditions checked in VHDL at run time.
      –   Test bench can be run as regression.
Design constraints reduce verification space

Functional Verification Issues
• Code with Branches
• Multiple Clock Rates           IO_clock and funct_clock only.

• Packet and Clock Rate          All IO is FIFO based. IO ring handles.
  adaptation.
• Configurations
• SAR                            Not an issue.
• Encapsulation                  Not an issue
Results


• MegaCore Function (FFT, IFFT, Matched Filter, Correlation,
  Polyphase/WOLA ), plus Shim for PCI bridge.
• Designer Tasks: Architect, Document (MAS), Block Test, Synthesize.
    – Forward FFT: BSEE (1 mo Verilog)
    – Inverse FFT : MSEE (6 mo Verilog)
    – Packet Aggregation: Intern (2 mo VHDL).

• Verification:
    – MSEE (no HDL).
        • Create Matlab based Testbench, stimulus checker files.
        • Created Stimulus files for Block Level Test Benches
        • Reused FIFO BFM’s from previous project.

• Code + Block Test: 4 Months
• Verification + Synthesis: 2 Months.
Summary


Q: How can you reduce the number of green arrows so that designs can be completed
quickly, reliably, without having the “normal” Verification : Designer ratio?


• Use standard, non-optimal, fifo interfaces for every block.
• Separate algorithm verification from implementation verification.
• Repeatable test cases at the cost of text file storage.
• Design each module like it is going into a reuse container:
    –   Standard IF
    –   Standard Clock and reset.
    –   Standard IO and register interfaces.
    –   All data widths are 64 bit + Vld @ 210 MHz.

 Summary: Trade improved verification schedule and TTM with reduced performance
and complexity.

More Related Content

What's hot

Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on EmulatorsDVClub
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management WorkshopSameh El-Ashry
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Use Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestUse Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestPete Sarson, PH.D
 
Mastering FPGA Design through Debug, Adrian Hernandez, Xilinx
Mastering FPGA Design through Debug, Adrian Hernandez, XilinxMastering FPGA Design through Debug, Adrian Hernandez, Xilinx
Mastering FPGA Design through Debug, Adrian Hernandez, XilinxFPGA Central
 
Resume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrsResume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrsANURAG KAVADANA
 
Arizona State University Test Lecture
Arizona State University Test LectureArizona State University Test Lecture
Arizona State University Test LecturePete Sarson, PH.D
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timObsidian Software
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Avi Caspi
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetVenkat Janardhanam, MS, MBA
 
Resume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - CopyResume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - CopyVenkata Rakesh Gudipalli
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Sameh El-Ashry
 
Politecnico di Torino Test Engineering Lecture
Politecnico di Torino Test Engineering LecturePolitecnico di Torino Test Engineering Lecture
Politecnico di Torino Test Engineering LecturePete Sarson, PH.D
 
Respond flow chart (rfc)
Respond flow chart (rfc)Respond flow chart (rfc)
Respond flow chart (rfc)Agus Triyanto
 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Prakashchand Suthar
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerSameh El-Ashry
 
Case Study of End to End Formal Verification Methodology
Case Study of End to End Formal Verification MethodologyCase Study of End to End Formal Verification Methodology
Case Study of End to End Formal Verification MethodologyJacob Ryan Maas
 

What's hot (20)

Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
Chris brown ti
Chris brown tiChris brown ti
Chris brown ti
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management Workshop
 
Design Verification
Design VerificationDesign Verification
Design Verification
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Use Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestUse Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog Test
 
Mastering FPGA Design through Debug, Adrian Hernandez, Xilinx
Mastering FPGA Design through Debug, Adrian Hernandez, XilinxMastering FPGA Design through Debug, Adrian Hernandez, Xilinx
Mastering FPGA Design through Debug, Adrian Hernandez, Xilinx
 
Resume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrsResume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrs
 
Arizona State University Test Lecture
Arizona State University Test LectureArizona State University Test Lecture
Arizona State University Test Lecture
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_tim
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
 
Resume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - CopyResume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - Copy
 
Shivani_Saklani
Shivani_SaklaniShivani_Saklani
Shivani_Saklani
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
 
Politecnico di Torino Test Engineering Lecture
Politecnico di Torino Test Engineering LecturePolitecnico di Torino Test Engineering Lecture
Politecnico di Torino Test Engineering Lecture
 
Respond flow chart (rfc)
Respond flow chart (rfc)Respond flow chart (rfc)
Respond flow chart (rfc)
 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI career
 
Case Study of End to End Formal Verification Methodology
Case Study of End to End Formal Verification MethodologyCase Study of End to End Formal Verification Methodology
Case Study of End to End Formal Verification Methodology
 

Similar to Validation and Design in a Small Team Environment

How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expertgaoliang641
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesigndestruck
 
Ramprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad B
 
VIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWAREVIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWAREVIKAS G
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 
FPGA Design Challenges
FPGA Design ChallengesFPGA Design Challenges
FPGA Design ChallengesKrishna Gaihre
 
Constraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedConstraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedPeter van Beek
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)Peter Kofler
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java ApplicationsC4Media
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting examplecorehard_by
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : IntroductionUsha Mehta
 
Syste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptSyste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptmonzhalabs
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageDr. Spock
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)Shivam Gupta
 

Similar to Validation and Design in a Small Team Environment (20)

ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
 
Rashmi_Palakkal_CV
Rashmi_Palakkal_CVRashmi_Palakkal_CV
Rashmi_Palakkal_CV
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
 
Ramprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad-CV_3+yrs
Ramprasad-CV_3+yrs
 
VIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWAREVIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWARE
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
FPGA Design Challenges
FPGA Design ChallengesFPGA Design Challenges
FPGA Design Challenges
 
Christopher_Reder_2016
Christopher_Reder_2016Christopher_Reder_2016
Christopher_Reder_2016
 
Constraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedConstraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons Learned
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java Applications
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting example
 
Spyglass dft
Spyglass dftSpyglass dft
Spyglass dft
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : Introduction
 
Unit2 soc
Unit2 socUnit2 soc
Unit2 soc
 
Syste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptSyste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.ppt
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
System On Chip (SOC)
System On Chip (SOC)System On Chip (SOC)
System On Chip (SOC)
 

More from DVClub

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...DVClub
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesDVClub
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalDVClub
 

More from DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark Ages
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This Formal
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Validation and Design in a Small Team Environment

  • 1. Validation and Design in a Small Team Environment: The Development of the High Performance Embedded Computing Process at Northrop Grumman Matthew Clark, Ph.D February 19th, 2009
  • 2. Motivation Validation is: What if your project is: • Complex • Complex • Long • Lasts 3-6 months, • Requires expensive tools • Has a limited budget, – And new grads. • Requires experienced employees. • Is done in a group with 30 years of SW experience, and you represent the sum total of HW development It is both an Art and Science. experience.
  • 3. First Question What makes verification so expensive and time consuming? Coverage Analysis Functional Verification Issues • Code with Branches Assertions • Multiple Clock Rates • Packet and Clock Rate adaptation. 1 TC per config + Random. • Configurations • SAR Corner Case Analysis • Encapsulation Special SW modeling (e/Vera) Identifying and reducing the green arrows is the Art.
  • 4. Problem Statement How can you reduce the number of green arrows so that designs can be completed quickly, reliably, without having the “normal” 2.5:1 Verification : Designer ratio? A: Do what Capt. Kirk did, change the problem. We can’t change the verification restrictions, perhaps we can change the design issues so that we don’t have some verification problems… by design.
  • 5. Problem Space • Offload CPU-intensive portions of numerical algorithms. • Rapid deployment. Standard project is 3-6 months. • Must be modular: – Single module stand-alone. – Combined into algorithm. – Multiple algorithms in single container. • Exact duplicates of existing SW applications. – Goal is to reduce execution time, or improve performance (ie replace 64K pt FFT with 512K pt FFT). – To SW, there must be no difference between CPU, FPGA, FPGA+DSP, DSP implementation.
  • 6. Design and Verification constraints. • Single Clock Rate for every block. • No Packet and Clock Rate Adaptation – Force it to occur at a single ingress/egress point. • Heavily branched code – Algorithms (fortunately) tend to be datapath centric. • Configurations – Separate algorithm implementation verification from IO verification. – Build bit/cycle accurate model of algorithm, use IO controls to vary data tx/rx.
  • 7. Design constraints reduce verification space Design Constraints • All blocks use small input fifo’s, and programmable full/empty indicators. • All blocks execute at 210 MHz. (Max Register Access speed). • Top Level register interface can be pipelined for timing closure. • Coregen modules only (Ref. Designs Need Not Apply) • Each block uses (1+) async resets, that are externally synch’d. • Each block will have a testbench that: – Uses golden Matlab code to create all stimulus/checker files. • Scenarios are generated from configure files. – Test bench is nothing but interface BFM comparing values against file. – Can slew input/output rates independently. – Can randomly assert the full/empty flags on interface pins. – Interrupt conditions may be checked by hand. – Pass fail conditions checked in VHDL at run time. – Test bench can be run as regression.
  • 8. Design constraints reduce verification space Functional Verification Issues • Code with Branches • Multiple Clock Rates IO_clock and funct_clock only. • Packet and Clock Rate All IO is FIFO based. IO ring handles. adaptation. • Configurations • SAR Not an issue. • Encapsulation Not an issue
  • 9. Results • MegaCore Function (FFT, IFFT, Matched Filter, Correlation, Polyphase/WOLA ), plus Shim for PCI bridge. • Designer Tasks: Architect, Document (MAS), Block Test, Synthesize. – Forward FFT: BSEE (1 mo Verilog) – Inverse FFT : MSEE (6 mo Verilog) – Packet Aggregation: Intern (2 mo VHDL). • Verification: – MSEE (no HDL). • Create Matlab based Testbench, stimulus checker files. • Created Stimulus files for Block Level Test Benches • Reused FIFO BFM’s from previous project. • Code + Block Test: 4 Months • Verification + Synthesis: 2 Months.
  • 10. Summary Q: How can you reduce the number of green arrows so that designs can be completed quickly, reliably, without having the “normal” Verification : Designer ratio? • Use standard, non-optimal, fifo interfaces for every block. • Separate algorithm verification from implementation verification. • Repeatable test cases at the cost of text file storage. • Design each module like it is going into a reuse container: – Standard IF – Standard Clock and reset. – Standard IO and register interfaces. – All data widths are 64 bit + Vld @ 210 MHz. Summary: Trade improved verification schedule and TTM with reduced performance and complexity.