Использование языка ПРАЛУ для верификации цифровых устройств
Аннотация
Рассматривается задача создания испытательного стенда для функциональной верификации. В процессе верификации устанавливается сводимость (эквивалентность) спецификации устройства и модели уровня регистровых передач (register-transfer level, RTL) - логической сети, построенной в процессе синтеза. В универсальной методологии верификации (universal verification methodology, UVM), наиболее часто используемой в современном проектировании цифровых устройств для функциональной верификации, стратегией тестирования, определяющей способ построения тестового примера, является случайный выбор в пространстве входных воздействий (coverage-driven constrained-random transaction-level self-checking testbenches). Правила и рекомендации UVM содержат стандартизованную структуру испытательного стенда, которая ориентирована на разработку трансформационных устройств. В случае если моделью разрабатываемого устройства является алгоритм поведения, предлагается строить испытательный стенд как модель окружающей среды проектируемого устройства, представленную на языке ПРАЛУ. Модель среды разрабатываемого устройства позволяет избегать ситуаций, когда испытуемое устройство верифицируется с достаточным покрытием схемы тестами, но в неполном окружении. Для разработки испытательного стенда в среде симулятора языка описания аппаратуры модель окружающей среды на ПРАЛУ может быть автоматически преобразована в модель уровня транзакций.
Об авторе
Д. И. ЧеремисиновБеларусь
Черемисинов Дмитрий Иванович - кандидат технических наук, ведущий научный сотрудник.
Ул. Сурганова, 6, 220012, Минск
Список литературы
1. Bergeron, J. Writing Testbenches using SystemVerilog / J. Bergeron. - N. Y. : Springer Science + Business Media, 2006. - 411 p.
2. Бибило, П. Н. Моделирование и верификация цифровых систем на языке VHDL / П. Н. Бибило, Н. А. Авдеев. - М. : URSS, 2017. - 342 с.
3. An Accellera Organization. Universal Verification Methodology (UVM) 1.1 Class Reference [Electronic resource]. - 2011. - Mode of access: http://www.accellera.org/images/downloads/standards/uvm/UVM_1.1_Class_Reference_Final_06062011.pdf. - Date of access: 10.02.2018.
4. Meyer, B. Seven principles of software testing / B. Meyer // Computer. - 2008. - Vol. 41, no. 8. - P. 99-101.
5. Glasser, M. Open Verification Methodology Cookbook / M. Glasser. - N. Y. : Springer, 2010. - 236 p.
6. Закревский, А. Д. Параллельные алгоритмы логического управления / А. Д. Закревский. - Минск : Ин-т техн. кибернетики НАН Беларуси, 1999. - 202 с.
7. Anderson, T. L. Verifying SoCs from the Inside Out / T. L. Anderson [Electronic resource]. - Mode of access: chipdesignmag.com/display.php?articleId=5153. - Date of access: 10.02.2018.
8. Open source VHDL verification methodology. User’s Guide Rev. 1.2 [Electronic resource] / ed. J. Lewis. - Mode of access: http://osvvm.org/downloads. - Date of access: 02.09.2013.
9. Kaner, C. What is a good test case? / C. Kaner // Software Testing Analysis & Review Conference (STAR) East [Electronic resource]. - 2003. - Mode of access: http://kaner.com/pdfs/GoodTest.pdf. - Date of access: 10.02.2018.
10. Naveh, R. Cadence and Specman / R. Naveh // ACP summer school [Electronic resource]. - 2011. - Mode of access: http://www.gecode.org/events/acp-summerschool-2011/slides/Cadence%20CSP.pdf. - Date of access: 10.02.2018.
11. Halbwachs, N. Synchronous Programming of Reactive Systems / N. Halbwachs. - Springer-Verlag, 2010. - 192 p.
12. The development of advanced verification environments using System Verilog / M. Keaveney [et al.] // IET Irish Signals and Systems Conf., 2008. - Galway, 2008. - P. 303-308.
13. Черемисинов, Д. И. Моделирование локальной шины PCI c использованием языка ПРАЛУ / Д. И. Череми-синов // Танаевские чтения : докл. Четвертой Междунар. конф., 29-30 марта 2010 г., Минск. - Минск : ОИПИ НАН Беларуси, 2010. - С. 124-128.
14. Wang, D. Formal Verification of the PCI Local Bus: A Step Towards IP Core Based System-On-Chip Design Verification / D. Wang [Electronic resource]. - Mode of access: https://www.cs.cmu.edu/~dongw/master-thesis.pdf. - Date of access: 10.02.2018.
15. Cheremisinov, D. I. The specification of agent interaction in multi-agent systems / D. I. Cheremisinov // Intelligent Information Management. - 2009. - No. 1. - P. 65-72.
16. Grotker, T. System Design with SystemC / T. Grotker. - Kluwer Academic Publishers, 2002. - 219 р.
17. Liu, C. L. Scheduling algorithms for multiprogramming in a hard real time environment / C. L. Liu, J. W. Layland // J. of the ACM. -1973. - Vol. 20, no. 1. - P. 44-61.
18. Закревский, А. Д. Система программирования ЛЯПАС-М / А. Д. Закревский, Н. Р. Торопов. - Минск : Наука и техника, 1978. - 220 с.
19. Muller, W. An ASM Based SystemC Simulation Semantics / W. Muller, J. Ruf, W. Rosenstiel // SystemC -Methodologies and Applications. - Kluwer Academic Publishers, 2003. - P. 97-126.
20. Herlihy, M. P. Linearizability: A correctness condition for concurrent objects / M. P. Herlihy, J. M. Wing // ACM Trans. Program. Lang. Syst. - 1990. - Vol. 12, no. 3. - P. 463-492.
21. Solihin, Y. Fundamentals of Parallel Multicore Architecture / Y. Solihin. - CRC Press, 2015. - 494 p.
22. Черемисинов, Д. И. Проектирование и анализ параллелизма в процессах и программах / Д. И. Черемисинов. - Минск : Беларус. навука, 2011. - 300 с.
Рецензия
Для цитирования:
Черемисинов Д.И. Использование языка ПРАЛУ для верификации цифровых устройств. Информатика. 2018;15(4):86-98.
For citation:
Cheremisinov D.I. PRALU language - the tool for verifying digital devices. Informatics. 2018;15(4):86-98. (In Russ.)