2. Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49
www.exactpro.com2
Testing of FPGA-Based Systems:Testing of FPGA-Based Systems:
Challenges & SolutionsChallenges & Solutions
Open Access Quality Assurance & Related Software Development for Financial Markets
Tel: +7 495 640 2460, +1 415 830 38 49
www.exactpro.com
Alyona Bulda, Exactpro
Oleg Pavlikov, Exactpro
3. • Introduction
• Why use FPGAs?
• FPGA-based systems: the reasons for main QA challenges
• The main testing challenges
• Fascinating issue types (QA approaches to escalate them and
proper QA coverage)
• Ways to tackle the challenges
• Thank you
Testing of FPGA-Based Systems:
Challenges & Solutions
5. FPGA-based systems:
the reasons for main QA challenges
• Algorithm implementation (partially on hardware and partially on software)
• Why is this happening?
• to simplify the hardware logic due to its limitation
• to find an acceptable combination of various parameters (for example,
latency vs. functional complexity)
• Logic duplication (same parts of logic have to be implemented on both
FPGA and software)
• Should QA environments cost a lot?
6. The main testing challenges
• Cost efficient environment is a challenge1
• Maintainability and operability is a challenge2
• Test cases development is a challenge3
7. Fascinating issue types
(QA approach to escalate them and proper QA coverage)
• Double coverage SW vs. FPGA parts:
• data type representation
• data structure implementation
• same logic duplication
• Data flow processing - issues at the confluence of SW & FPGA
• depending on SW, which in certain points can
significantly delay FPGA-related processing
• when simplifying FPGA logic to reach low latency,
certain validation is excluded
• different hardware resources can be used by SW and
FPGA for the same purposes (for example, source of
clock timings)
8. Ways to tackle the challenges
• Environment availability:
• low cost FPGA at initial QA processes (which is not always a
case due to limitations of implemented logic)
• management planning for HW budget
9. • re-design of the implementation part:
• exclude duplication of implementation logic in SW and FPGA
• move the whole functionality to FPGA
Ways to tackle the challenges
10. • Maintainability and operability enhancements:
• make deployment transparent
• the possibility to keep several FPGA firmware versions on the same card
• OS driver – ideally, a single version of driver should be used (even if some
changes happened in firmware)
Ways to tackle the challenges