SlideShare a Scribd company logo
Methodology and case study
Verification for FPGAs
Verification team leader
Avi Caspi
Company Overview
• Founded: 2007 in Tel Aviv
• Headquarter: Tel Aviv, Israel
• Offices: Israel: Management and R&D - 40 employees
Serbia: R&D - 30 employees
• Professional Services:
ASIC and FPGA design, verification and software
ASICs and IP Design
Design Verification
Architecture, RTL design, Verification, Backend, Post-silicon
support
Specman, SystemVerilog, UVM, VMM, OVM, Formal Verification,
C++ and SystemC
FPGA and System Design
System architecture, FPGA design, Verification, LAB bring-up and
Software integration
Professional Services
Design and Verification
IPs
Design Soft IPs: CSI2, Serial Flash
Verification IPs: I2C, UART, CAN, SPI, QSPI, AXI, AHB, others
Virtualization (Modeling
and Acceleration)
Modeling using SystemC and C++, Hardware acceleration using
ZeBu, Paladium and Veloche
ASIC and FPGA companies – Historical view
RTL Design
Verification
Backend
GL Verification
TO
ASICs:
•Larger and complex
•Long development
cycle
•Errors are costly
RTL Design
Basic
simulation
LAB testing
QA
FPGAs:
•Small and simple
•Easy bugs fix
FPGA P&R
FPGA and ASIC get alike
Modern Verification
• Test Plan
• TLM – Transaction level modeling
• Self Checking Test Bench
• Stimulus generation – constraint random verification
• Functional Coverage
Test Plan
• Planning the verification - list of design features to verify
• Derived from specification docs
• Test plan includes :
– Block diagram description of the verification environment
– Description of each block
– Features list + coverage plan
– Test list
TLM – Transaction level modeling
• High level modeling of the design
• Easier system debug
BFM DUT
Transaction
Generator
Monitor
SB
1. RTL – register transfer level.
2. Transaction level.
Self Checking Test Bench
• Expected transaction stored in a scoreboard
• Output data compared with the expected data,
• Error is reported in case of mismatch
BFM DUT
Transaction
Generator
Monitor
SB
Stimulus Generation
• Using random verification we generate many different tests from the
same code
• Small set of constraint random test scenarios can fulfill the coverage
goals
• Regression testing
The increasing design size and complexity
translates into an exponential increase in the
number of directed tests required for verification
Functional Coverage
• Random generation? So How can we know what was tested?
• Defines the verification goal
What is Achieved By Adding Verification to The Flow?
• Engineering:
– Specification and requirements definition
– Confidence in our design
– Shorten or eliminate the lab debugging
• Management:
– Confidence on schedule and clear vision on the progress of the project
– No/Less bugs on the client site
– Teams work in parallel
– Significant Improvement in TTM (time to market)
The traditional milestone “In The Lab”
The new milestone - “Verification done”
Should FPGA teams adopt ASIC Verification approach?
ASIC Verification Approach:
• Modern Tools and methodology (e.g. UVM,ERM)
• Detailed verification plan with functional coverage definition - verification goal
• Automatic self checking test bench (monitors and score boards)
• Constraint random stimulus
• Full connectivity check to all registers, memories and IPs (CPU, interfaces, etc..)
• Regression testing
So… How Can We Improve Our FPGA Verification?
Should FPGA teams adopt ASIC Verification approach?
Yes!
But…
Few principles should be applied
Lab ramp up
• ASIC:
– After Tape out
– Finding critical bug in the lab is unacceptable
• FPGA:
– Lab testing can be done in parallel to verification
Integrated Interface (e.g. PCIe, SERDES )
• ASIC:
– Must check full connectivity
– Connect complex VIP and check the support for all
configuration supported by Spec
• FPGA:
– Integrated interface is part of the FPGA hardware
– Real interface connectivity will be checked in the Lab
– Interface can be bypassed for simpler verification IPs
CPU
• ASIC:
– Must check full connectivity
– Verify main flows – registers access, Interrupt handling , etc …
– Must test boot sequences – usually very long tests
– Simulation using SW
• FPGA:
– Integrated CPU can be verified in LAB using real SW
– CPU subsystem should be checked by connecting VIP and CPU
emulation sequences
– Self written CPU/controller must be fully verified, with exhaustive
random opcode generation – very hard to obtain in the lab
Memory Controller (e.g. DDR)
– Stress check to memory controller – very hard to check in the lab
DDR MODEL
EMI (External memory interface)
Axi VIP
#0
AXI VIP
#n
Client #0
sequence
Client #n
sequence
SBSBSB
DDR IF
Monitor
Error Injection
Error injection examples:
– DDR return wrong data
– Error from sensors
– Packet with crc errors
Random Error injection in simulation can help
us verify the system recovery from error
Failures can happen in almost every system, In lab it is sometimes
hard to simulate it.
Case Study 1
Registers
LOGIC
PCIe Local bus
Avalon
bus
matrix
Local bus
VIP
SerDesSerDes SerDes
data
VIP
data
VIP
SerDes
• Altera FPGA for controlling RF antennas – LVDS data input/output
• PCIe Gen2 registers and memory access.
Case Study 1 (Continue)
1. Verification flow using Questa (Mentor Graphics).
2. Methodology UVM System verilog.
3. Registers shadow using UVM regs connected to local bus
VIP.
Bugs in the labLab TestingDesign +
Verification
23 weeks4 month
Case Study 2
• IR Camera using XILINX spartan6 FPGA – DO-254.
Case Study 2 (Continue)
• Verification flow using VCS (Synopsys).
• Methodology: VMM System verilog.
• Reference model using Matlab simulator.
Bugs in the labLabVerification
0Ongoing3 Eng 1Y
Case Study 2 (Continue)
• Used block verification to check memory controller under full
stress.
• Self written controller with ROM for opcodes:
• Passed Lab testing – critical bugs were found in simulations.
• Exhaustive testing for all opcodes.
• High level of failures checking verified on simulation – very hard
to check in the lab.
Case Study 3
• Parallel computing – concept proof FPGA.
• Verification flow using IUS (Cadence).
• Methodology: Specman ERM.
Bugs in the labLabVerification
0Days2 Engineers 4M
Case Study 3 (Continue)
• High complexity logic calculations.
• Reference model on Transaction layer for expected data.
• Final results compared to Matlab simulator.
Conclusion
• Complex FPGAs need verification.
• ASIC verification principles should be adopt. But –
• FPGA verification should be a unique flow.
• Right verification approach saves TTM and effort in complex
FPGA designs.
Fpga Verification Methodology and case studies - Semisrael Expo2014

More Related Content

DOCX
Design Verification
PDF
Verification flow and_planning_vlsi_design
PDF
Fault Simulation (Testing of VLSI Design)
PDF
Functional verification techniques EW16 session
PDF
ATPG Methods and Algorithms
PPT
PDF
Automatic Test Pattern Generation (Testing of VLSI Design)
DOCX
Hardware-Software Codesign
Design Verification
Verification flow and_planning_vlsi_design
Fault Simulation (Testing of VLSI Design)
Functional verification techniques EW16 session
ATPG Methods and Algorithms
Automatic Test Pattern Generation (Testing of VLSI Design)
Hardware-Software Codesign

What's hot (20)

PPTX
ASIC design verification
PPTX
ASIC Design Flow
PDF
Design-for-Test (Testing of VLSI Design)
PDF
CPU Verification
PDF
The Verification Methodology Landscape
PDF
2019 2 testing and verification of vlsi design_verification
PDF
PPTX
Embedded Hardware Design.pptx
PPTX
Xilinx 4000 series
PDF
Low-Power Design and Verification
PDF
Introduction of testing and verification of vlsi design
PDF
Actel fpga
PDF
Verification challenges and methodologies - SoC and ASICs
PPT
VLSI routing
DOCX
UNIT-III-DIGITAL SYSTEM DESIGN
PDF
UVM Methodology Tutorial
PDF
Uvm presentation dac2011_final
PPTX
Digital Design Flow
PPTX
Memory and Processor Testing
ASIC design verification
ASIC Design Flow
Design-for-Test (Testing of VLSI Design)
CPU Verification
The Verification Methodology Landscape
2019 2 testing and verification of vlsi design_verification
Embedded Hardware Design.pptx
Xilinx 4000 series
Low-Power Design and Verification
Introduction of testing and verification of vlsi design
Actel fpga
Verification challenges and methodologies - SoC and ASICs
VLSI routing
UNIT-III-DIGITAL SYSTEM DESIGN
UVM Methodology Tutorial
Uvm presentation dac2011_final
Digital Design Flow
Memory and Processor Testing
Ad

Similar to Fpga Verification Methodology and case studies - Semisrael Expo2014 (20)

PDF
Verification for system companies (LI) - value proposition
PPTX
Digital IC Design Powering the future of AI Systems
PPTX
Crossing the Boundaries: Development Strategies for (P)SoCs
DOC
Ramprasad-CV_3+yrs
PPTX
SOC Verification using SystemVerilog
PDF
News-letter-July15
DOC
Resume
PDF
Mallikarjun_Resume
PDF
Verification Challenges and Methodologies
PPT
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
PDF
4 verification flow_planning
DOC
Mesa_Yogananda_ASIC_FPGA_Verification
DOC
Basavanthrao_resume_vlsi
DOCX
PrathikR_Resume
PDF
Kartik_Parmar_Resume_2016
PPT
Verification strategies
PDF
Sarvesh_kumar
PDF
Himanshu Shivhar (1)
PPTX
Test pattern Generation for 4:1 MUX
Verification for system companies (LI) - value proposition
Digital IC Design Powering the future of AI Systems
Crossing the Boundaries: Development Strategies for (P)SoCs
Ramprasad-CV_3+yrs
SOC Verification using SystemVerilog
News-letter-July15
Resume
Mallikarjun_Resume
Verification Challenges and Methodologies
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
4 verification flow_planning
Mesa_Yogananda_ASIC_FPGA_Verification
Basavanthrao_resume_vlsi
PrathikR_Resume
Kartik_Parmar_Resume_2016
Verification strategies
Sarvesh_kumar
Himanshu Shivhar (1)
Test pattern Generation for 4:1 MUX
Ad

Recently uploaded (20)

PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPT
Project quality management in manufacturing
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
DOCX
573137875-Attendance-Management-System-original
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CYBER-CRIMES AND SECURITY A guide to understanding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Sustainable Sites - Green Building Construction
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Project quality management in manufacturing
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
OOP with Java - Java Introduction (Basics)
Embodied AI: Ushering in the Next Era of Intelligent Systems
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
bas. eng. economics group 4 presentation 1.pptx
Construction Project Organization Group 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
573137875-Attendance-Management-System-original
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks

Fpga Verification Methodology and case studies - Semisrael Expo2014

  • 1. Methodology and case study Verification for FPGAs Verification team leader Avi Caspi
  • 2. Company Overview • Founded: 2007 in Tel Aviv • Headquarter: Tel Aviv, Israel • Offices: Israel: Management and R&D - 40 employees Serbia: R&D - 30 employees • Professional Services: ASIC and FPGA design, verification and software
  • 3. ASICs and IP Design Design Verification Architecture, RTL design, Verification, Backend, Post-silicon support Specman, SystemVerilog, UVM, VMM, OVM, Formal Verification, C++ and SystemC FPGA and System Design System architecture, FPGA design, Verification, LAB bring-up and Software integration Professional Services Design and Verification IPs Design Soft IPs: CSI2, Serial Flash Verification IPs: I2C, UART, CAN, SPI, QSPI, AXI, AHB, others Virtualization (Modeling and Acceleration) Modeling using SystemC and C++, Hardware acceleration using ZeBu, Paladium and Veloche
  • 4. ASIC and FPGA companies – Historical view RTL Design Verification Backend GL Verification TO ASICs: •Larger and complex •Long development cycle •Errors are costly RTL Design Basic simulation LAB testing QA FPGAs: •Small and simple •Easy bugs fix FPGA P&R
  • 5. FPGA and ASIC get alike
  • 6. Modern Verification • Test Plan • TLM – Transaction level modeling • Self Checking Test Bench • Stimulus generation – constraint random verification • Functional Coverage
  • 7. Test Plan • Planning the verification - list of design features to verify • Derived from specification docs • Test plan includes : – Block diagram description of the verification environment – Description of each block – Features list + coverage plan – Test list
  • 8. TLM – Transaction level modeling • High level modeling of the design • Easier system debug BFM DUT Transaction Generator Monitor SB 1. RTL – register transfer level. 2. Transaction level.
  • 9. Self Checking Test Bench • Expected transaction stored in a scoreboard • Output data compared with the expected data, • Error is reported in case of mismatch BFM DUT Transaction Generator Monitor SB
  • 10. Stimulus Generation • Using random verification we generate many different tests from the same code • Small set of constraint random test scenarios can fulfill the coverage goals • Regression testing The increasing design size and complexity translates into an exponential increase in the number of directed tests required for verification
  • 11. Functional Coverage • Random generation? So How can we know what was tested? • Defines the verification goal
  • 12. What is Achieved By Adding Verification to The Flow? • Engineering: – Specification and requirements definition – Confidence in our design – Shorten or eliminate the lab debugging • Management: – Confidence on schedule and clear vision on the progress of the project – No/Less bugs on the client site – Teams work in parallel – Significant Improvement in TTM (time to market) The traditional milestone “In The Lab” The new milestone - “Verification done”
  • 13. Should FPGA teams adopt ASIC Verification approach? ASIC Verification Approach: • Modern Tools and methodology (e.g. UVM,ERM) • Detailed verification plan with functional coverage definition - verification goal • Automatic self checking test bench (monitors and score boards) • Constraint random stimulus • Full connectivity check to all registers, memories and IPs (CPU, interfaces, etc..) • Regression testing So… How Can We Improve Our FPGA Verification?
  • 14. Should FPGA teams adopt ASIC Verification approach? Yes! But… Few principles should be applied
  • 15. Lab ramp up • ASIC: – After Tape out – Finding critical bug in the lab is unacceptable • FPGA: – Lab testing can be done in parallel to verification
  • 16. Integrated Interface (e.g. PCIe, SERDES ) • ASIC: – Must check full connectivity – Connect complex VIP and check the support for all configuration supported by Spec • FPGA: – Integrated interface is part of the FPGA hardware – Real interface connectivity will be checked in the Lab – Interface can be bypassed for simpler verification IPs
  • 17. CPU • ASIC: – Must check full connectivity – Verify main flows – registers access, Interrupt handling , etc … – Must test boot sequences – usually very long tests – Simulation using SW • FPGA: – Integrated CPU can be verified in LAB using real SW – CPU subsystem should be checked by connecting VIP and CPU emulation sequences – Self written CPU/controller must be fully verified, with exhaustive random opcode generation – very hard to obtain in the lab
  • 18. Memory Controller (e.g. DDR) – Stress check to memory controller – very hard to check in the lab DDR MODEL EMI (External memory interface) Axi VIP #0 AXI VIP #n Client #0 sequence Client #n sequence SBSBSB DDR IF Monitor
  • 19. Error Injection Error injection examples: – DDR return wrong data – Error from sensors – Packet with crc errors Random Error injection in simulation can help us verify the system recovery from error Failures can happen in almost every system, In lab it is sometimes hard to simulate it.
  • 20. Case Study 1 Registers LOGIC PCIe Local bus Avalon bus matrix Local bus VIP SerDesSerDes SerDes data VIP data VIP SerDes • Altera FPGA for controlling RF antennas – LVDS data input/output • PCIe Gen2 registers and memory access.
  • 21. Case Study 1 (Continue) 1. Verification flow using Questa (Mentor Graphics). 2. Methodology UVM System verilog. 3. Registers shadow using UVM regs connected to local bus VIP. Bugs in the labLab TestingDesign + Verification 23 weeks4 month
  • 22. Case Study 2 • IR Camera using XILINX spartan6 FPGA – DO-254.
  • 23. Case Study 2 (Continue) • Verification flow using VCS (Synopsys). • Methodology: VMM System verilog. • Reference model using Matlab simulator. Bugs in the labLabVerification 0Ongoing3 Eng 1Y
  • 24. Case Study 2 (Continue) • Used block verification to check memory controller under full stress. • Self written controller with ROM for opcodes: • Passed Lab testing – critical bugs were found in simulations. • Exhaustive testing for all opcodes. • High level of failures checking verified on simulation – very hard to check in the lab.
  • 25. Case Study 3 • Parallel computing – concept proof FPGA. • Verification flow using IUS (Cadence). • Methodology: Specman ERM. Bugs in the labLabVerification 0Days2 Engineers 4M
  • 26. Case Study 3 (Continue) • High complexity logic calculations. • Reference model on Transaction layer for expected data. • Final results compared to Matlab simulator.
  • 27. Conclusion • Complex FPGAs need verification. • ASIC verification principles should be adopt. But – • FPGA verification should be a unique flow. • Right verification approach saves TTM and effort in complex FPGA designs.