Rapid Prototyping and Verification of Hardware Modules Generated Using HLS

  • Julián CabaEmail author
  • João M. P. CardosoEmail author
  • Fernando Rincón
  • Julio Dondo
  • Juan Carlos López
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10824)


Most modern design suites include HLS tools that rise the design abstraction level and provide a fast and direct flow to programmable devices, getting rid of manually coding at the RTL. While HLS greatly reduces the design productivity gap, non-negligible problems arise. For instance, the co-simulation strategy may not provide trustworthy results due to the variable accuracy of simulation, especially when considering dynamic reconfiguration and access to system busses. This work proposes mechanisms aimed at improving the verification accuracy using a real device and a testing framework. One of the mechanisms is the inclusion of physical configuration macros (e.g., clock rate configuration macro) and test assertions based on physical parameters in the verification environment (e.g., timing assertions). In addition it is possible to change some of those parameters, such as clock speed rate, and check the behavior of a hardware component into an overclocking or underclocking scenario. Our on-board testing flow allows faster FPGA iterations to ensure the design intent and the hardware-design behavior match. This flow uses a real device to carry out the verification process and synthesizes only the DUT generating its partial bitstream in a few minutes.


FPGA Verification High-level synthesis Co-simulation 



This work is supported in part by Spanish Government under projects REBECCA (TEC2014-58036-C4-1R) and PLATINO (TEC2017-86722-C4-4-R).


  1. 1.
    Canis, A., Choi, J., et al.: From software to accelerators with LegUp high-level synthesis. In: International Conference on Compilers, Architecture and Synthesis for Embedded Systems (2013)Google Scholar
  2. 2.
    Cong, J., Liu, B., et al.: High-level synthesis for FPGAs: from prototyping to deployment. Comput.-Aided Des. Integr. Circuits Systems (2011)Google Scholar
  3. 3.
    Gong, L., Diessel, O.: Functional Verification of Dynamically Reconfigurable FPGA-Based Systems. Springer, Heidelberg (2015).
  4. 4.
    Hoffman, H.: Non-regression test automation. In: PNSQC (2008)Google Scholar
  5. 5.
    Podivinsky, J., Simkova, M., Cekan, O., Kotasek, Z.: FPGA prototyping and accelerated verification of ASIPs. In: International Symposium on Design and Diagnostics of Electronic Circuits Systems (2015)Google Scholar
  6. 6.
    Yun, Y.N., Kim, J.B., Kim, N.D., Min, B.: Beyond UVM for practical SoC verification. In: International SoC Design Conference (2011)Google Scholar
  7. 7.
    Edelman, R., Ardeishar, R.: UVM SchmooVM - I want my c tests!. In: Design and Verification Conference and Exhibition (2014)Google Scholar
  8. 8.
    Accellera Organization: Standard Universal Verification Methodology Class Reference Manual, Release 1.1, Accellera (2011)Google Scholar
  9. 9.
    De Luna, L., Zalewski, Z.: FPGA level in-hardware verification for DO-254 compilance. In: Digital Avionics Systems Conference (DASC) (2011)Google Scholar
  10. 10.
    Iskander, Y., Craven, S., et al.: Using partial reconfiguration and high-level models to accelerate FPGA design validation. In: International Conference on Field-Programmable Technology (2010)Google Scholar
  11. 11.
    Wicaksana, A., Prost-Boucle, A., et al.: On-board non-regression test of HLS tools targeting FPGA. In: International Symposium on Rapid System Prototyping (2016)Google Scholar
  12. 12.
    Hadjis, S., Canis, A., et al.: Profiling-driven multi-cycling in FPGA high-level synthesis. In: Design, Automation, Test in Europe (2015)Google Scholar
  13. 13.
    Zheng, H., Gurumani, S.T., Yang, L., Chen, D., Rupnow, K.: High-level synthesis with behavioral level multi-cycle path analysis. In: FPL 2013 (2013)Google Scholar
  14. 14.
    Karlesky, M., VanderVoord, M., Williams, G.: A simple Unit Test Framework for Embedded C. UnityGoogle Scholar
  15. 15.
    Xilinx Inc.: Vivado Design Suite User Guide: High-Level Synthesis. Xilinx (2014)Google Scholar
  16. 16.
    AVNET: ZedBoard: Hardware User’s Guide, AVNET (2014)Google Scholar
  17. 17.
    Kao, C.: Benefits of partial reconfiguration. Xcell J. Fourth Quart. 65–67 (2005)Google Scholar
  18. 18.
  19. 19.
    Dalal, N., Triggs, B.: Histograms of oriented gradients for human detection. In: Computer Vision and Pattern Recognition (CVPR) (2005)Google Scholar
  20. 20.
    Hubner, M., Gohringer, D., et al.: Fast dynamic and partial reconfiguration Data Path with low Hardware overhead on Xilinx FPGAs. In: International Symposium on Parallel & Distributed Processing, Workshops and PHd Forum (2010)Google Scholar
  21. 21.
    Manet, P., Maufroid, D., et al.: An evaluation of dynamic partial reconfiguration for signal and image processing in professional electronics applications. EURASIP J. Embedded Syst. 2008.
  22. 22.
    Vipin, K., Fahmy, S.: A high speed open source controller for FPGA partial reconfiguration. In: International Conference on Field-Programmable Technology (2012)Google Scholar
  23. 23.
    Tarrillo, J., Escobar, F.A., Lima, F., Valderrama, C.: Dynamic partial reconfiguration manager. In: Latin American Symposium on Circuits and Systems (2014)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of Castilla-La ManchaCiudad RealSpain
  2. 2.Faculty of EngineeringUniversity of PortoPortoPortugal

Personalised recommendations