|

Software subsystem for testing knowledge of the hardware description languages

Authors: Astakhov S.V., Lapshin N.V.
Published in issue: #6(83)/2023
DOI: 10.18698/2541-8009-2023-6-903


Category: Informatics, Computer Engineering and Control | Chapter: Automation, Control of Technological Processes, and Industrial Control

Keywords: knowledge testing, hardware description language, HDL, Verilog, distance learning system, educational portal, microservice architecture, Golang, functional testing, load testing
Published: 19.06.2023

The article is devoted to development of a software subsystem for testing knowledge of the hardware description languages, which enables managing the educational materials and automatically checks the tasks, including those on describing the hardware devices in the Verilog language. The existing knowledge testing systems were analyzed. In the course of this analysis, functional requirements were formulated, and a diagram of options for using the software subsystem for testing knowledge of the hardware description languages was compiled. The subsystem architecture and components were designed. Microservice architecture was used in development, most of the microservices were implemented in the Golang programming language. In addition, the Python language and the PyDigitalWaveTools library were used to work with the timing diagrams. The Icarus Verilog program was used to simulate the digital devices behaviour. The developed subsystem was exposed to functional and load testing.


References

[1] Il’ina E.A., Egorova L.G., D’yakonov A.V. Moodle Technology testing knowledge of students using system moodle. Matematicheskoe i programmnoe obespechenie sistem v promyshlennoy i sotsial’noy sferakh, 2011, no. 1–3, pp. 166–172. (In Russ.).

[2] Ivanova G.S. Tekhnologiya programmirovaniya [Programming technology]. Moscow, Knorus Publ., 2016, 333 p. (In Russ.).

[3] The C4 model for visualising software architecture. URL: https://c4model.com/ (accessed February 1, 2023).

[4] Mychko S.I. Microservice architecture. Informatsionnye tekhnologii. Mezhvuz. sb. nauch. tr. [Information Technology. Interuniversity collection of scientific papers]. Ryazan, RSREU Publ., 2019, pp. 166–168. (In Russ.).

[5] Osnovy pravil proektirovaniya bazy dannykh [Fundamentals of database design rules]. URL: https://habr.com/ru/articles/514364/ (accessed March 5, 2023).

[6] Simulyatsiya proekta s pomoshch’yu Icarus-Verilog [Project simulation with Icarus-Verilog]. URL: https://marsohod.org/11-blog/113-icarus (accessed March 13, 2023).

[7] PyDigitalWaveTools. URL: https://github.com/Nic30/pyDigitalWaveTools (accessed March 27, 2023).

[8] Hitchhiker’s Guide to the WaveDrom. URL: https://wavedrom.com/tutorial.html (accessed April 3, 2023).

[9] Ziganshina M.R., Valiullina D.I., Ziganshin I.A. Python Application of the Pytorch library for training neural networks. Uchenyy XXI veka. Mezhdunar. nauch.-issledovatel’skiy konkurs: sb. st. [Scientist of the 21st century. International research competition: collection of articles]. Penza, Nauka i Prosveshchenie Publ., 2022, pp. 35–37. (In Russ.).

[10] Allure — freymvork ot Yandeksa dlya sozdaniya otchetov avtotestov [Allure is a framework from Yandex for creating autotest reports]. URL: https://habr.com/ru/companies/yandex/articles/232697/ (accessed April 12, 2023).

[11] Locust — A modern load testing framework. URL: https://locust.io/ (accessed April 18, 2023).