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 Emulators
DVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
DVClub
 
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
FPGA Central
 
Resume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrsResume_Anurag_Design_Verification_2+_yrs
Resume_Anurag_Design_Verification_2+_yrs
ANURAG KAVADANA
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_tim
Obsidian Software
 
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
Venkat Janardhanam, MS, MBA
 
Resume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - CopyResume_VenkataRakeshGudipalli Master - Copy
Resume_VenkataRakeshGudipalli Master - Copy
Venkata Rakesh Gudipalli
 
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
 
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
Jacob 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 expert
gaoliang641
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck
 
Ramprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad-CV_3+yrs
Ramprasad-CV_3+yrs
Ramprasad B
 
VIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWAREVIKAS _SENIOR HARDWARE
VIKAS _SENIOR HARDWARE
VIKAS 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 Experience
DVClub
 

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
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
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
 

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 Enterprise
DVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
DVClub
 
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
DVClub
 
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 Methodology
DVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
DVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
DVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
DVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
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
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
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
DVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
DVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
DVClub
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
DVClub
 
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 Ages
DVClub
 
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
DVClub
 

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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

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.