Skip to main content

Verification and Benchmarking in MPA Coprocessor Design Process

  • Conference paper
  • First Online:
Intelligent and Safe Computer Systems in Control and Diagnostics (DPS 2022)

Abstract

This paper presents verification and benchmarking required for the development of a coprocessor digital circuit for integer multiple-precision arithmetic (MPA). Its code is developed, with the use of very high speed integrated circuit hardware description language (VHDL), as an intellectual property core. Therefore, it can be used by a final user within their own computing system based on field-programmable gate arrays (FPGAs). The coprocessor is still under development and its open-source code is available on the Internet, based on the Mozilla Public License. Therefore, verification and benchmarking of the coprocessor code are vitally important issues as the sources are continually downloaded by users all over the world. In this contribution, we present software tools developed as a part of the system, allowing for detection of errors in the coprocessor code as well as for execution of its benchmarking tests. The research conclusion is that, without well-designed verification and benchmarking software tools, the development of any advanced digital circuit, such as a coprocessor, is actually impossible in realistic time. It stems from the fact that 60% of the project repository include hardware-description codes, whereas the rest of the codes support correct development of the project, i.e., verification and benchmarking in the design process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Aldec Inc.: Riviera-PRO Manual (2017). www.aldec.com. Accessed 08 Aug 2019

  2. Bryant, R.E.: A methodology for hardware verification based on logic simulation. J. ACM 38(2), 299–328 (1991). https://doi.org/10.1145/103516.103519

    Article  MathSciNet  MATH  Google Scholar 

  3. Granlund, T.: GMP Development Team: The GNU multiple precision arithmetic library (Edition 6.1.2) (2016). www.gmplib.org. Accessed 08 Aug 2019

  4. Kim, J., Kim, E.S., Yoo, J., Lee, Y.J., Choi, J.G.: An integrated software testing framework for FPGA-based controllers in nuclear power plants. Nucl. Eng. Technol. 48(2), 470–481 (2016). https://doi.org/10.1016/j.net.2015.12.008

    Article  Google Scholar 

  5. Lissel, R., Gerlach, J.: Introducing new verification methods into a company’s design flow: an industrial user’s point of view. In: 2007 Design, Automation and Test in Europe Conference and Exhibition, pp. 1–6 (2007). https://doi.org/10.1109/DATE.2007.364675

  6. Rudnicki, K., Stefanski, T.P.: IP core of coprocessor for multiple-precision-arithmetic computations. In: 2018 25th International Conference Mixed Design of Integrated Circuits and System (MIXDES), pp. 416–419 (2018). https://doi.org/10.23919/MIXDES.2018.8436868

  7. Rudnicki, K., Stefański, T.P.: Implementation of addition and subtraction operations in multiple precision arithmetic. In: 2019 MIXDES - 26th International Conference Mixed Design of Integrated Circuits and Systems, pp. 231–235 (2019). https://doi.org/10.23919/MIXDES.2019.8787156

  8. Rudnicki, K., Stefański, T.P., Żebrowski, W.: Integer-MPA-coprocessor (2020). https://github.com/stafan26/integer-MPA-coprocessor

  9. Rudnicki, K., Stefański, T.P., Żebrowski, W.: Open-source coprocessor for integer multiple precision arithmetic. Electronics 9(7), 1141 (2020). https://doi.org/10.3390/electronics9071141

  10. Stefański, T.: Applications of the discrete green’s function in the finite-difference time-domain method. Prog. Electromagn. Res.-PIER 139, 479–498 (2013). https://www.jpier.org/PIER/pier.php?paper=13032906

  11. Stefański, T.P.: A new expression for the 3-D dyadic FDTD-compatible green’s function based on multidimensional z-transform. IEEE Antennas Wirel. Propag. Lett. 14, 1002–1005 (2015). https://doi.org/10.1109/LAWP.2015.2388955

    Article  Google Scholar 

  12. Stefański, T.P., Rudnicki, K., Żebrowski, W.: Implementation of coprocessor for integer multiple precision arithmetic on Zynq Ultrascale+ MPSoC. In: 2021 28th International Conference on Mixed Design of Integrated Circuits and System, pp. 280–285 (2021). https://doi.org/10.23919/MIXDES52406.2021.9497554

  13. Stefański, T.: Discrete green’s function approach to disjoint domain simulations in 3D FDTD method. Electron. Lett. 49, 597–598 (2013). https://digital-library.theiet.org/content/journals/10.1049/el.2012.4462

  14. Vemuri, R., Kalyanaraman, R.: Generation of design verification tests from behavioral VHDL programs using path enumeration and constraint programming. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 3(2), 201–214 (1995). https://doi.org/10.1109/92.386221

  15. Xilinx Inc.: Integrated Logic Analyzer v6.2 - LogiCORE IP Product Guide, PG172 (2016). www.xilinx.com. Accessed 08 Aug 2019

  16. Xilinx Inc.: Vivado Design Suite User Guide - Getting Started, UG910 (v2018.3) (2018). www.xilinx.com. Accessed 08 Aug 2019

  17. Xilinx Inc.: Xilinx Quick Emulator User Guide, UG1169 (v2020.1) (2020). www.xilinx.com. Accessed 24 Mar 2022

  18. Zheng, D., Wang, Y., Xueyi, Z.: The methods of FPGA software verification. In: 2011 IEEE International Conference on Computer Science and Automation Engineering, vol. 3, pp. 86–89 (2011). https://doi.org/10.1109/CSAE.2011.5952639

Download references

Acknowledgments

Tomasz P. Stefański is grateful to Cathal McCabe at Xilinx Inc. for arranging the donation of design software tools.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tomasz P. Stefański .

Editor information

Editors and Affiliations

Appendix: Project Repository

Appendix: Project Repository

The project repository [8] consists of documentation (doc), firmware and software directories. Then, firmware directory consists of zedboard, scripts, sim and src directories. In software directory, the following directories are present: DPI, common, data_apps, emusrup, helpers, runtimes, vhdl_gens. Additionally, one can find there the scripts clean_all_programs.sh and compile_all_programs.sh which make it possible to clean and compile all the source files in this directory. The directory DPI includes the codes necessary to execute DPI simulations in Vivado for the MPA core and its modules alone. Then, the directory common includes various C functions used by many different codes in the project repository. In the directory data_apps, one can find codes allowing for the generation of input files for benchmarking of the MPA coprocessor. In the directory emusrup, one can find the code of the MPA coprocessor emulator. In the directory helpers, one can find some useful codes, e.g., allowing us to change the format of binary files. In the directory runtimes, one can find some useful codes allowing for evaluation of the CPU throughput in benchmarking codes. In the directory vhdl_gens, one can find useful codes allowing us to generate, automatically, some VHDL codes, e.g., for the multiplexers used in the coprocessor design.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Stefański, T.P., Rudnicki, K., Żebrowski, W. (2023). Verification and Benchmarking in MPA Coprocessor Design Process. In: Kowalczuk, Z. (eds) Intelligent and Safe Computer Systems in Control and Diagnostics. DPS 2022. Lecture Notes in Networks and Systems, vol 545. Springer, Cham. https://doi.org/10.1007/978-3-031-16159-9_22

Download citation

Publish with us

Policies and ethics