Preview

Труды Института системного программирования РАН

Расширенный поиск

Тестовое окружение для верификации блока подсистемы памяти многопроцессорной системы

https://doi.org/10.15514/ISPRAS-2019-31(3)-6

Аннотация

Современные микропроцессорные системы обычно включают сложную иерархию кэш-памяти. Протоколы когерентности используются для поддержания согласованности памяти. Реализация подсистемы памяти на языке описания аппаратуры является сложной и подверженной ошибкам задачей. Обеспечение корректного функционирования подсистемы памяти, является одной из важнейших задач в процессе разработки современных микропроцессорных систем. Для этого используется функциональная верификация. В данной работе представлены некоторые подходы к верификации блоков подсистем памяти многоядерных микропроцессоров. Описаны характеристики подсистем памяти, которые необходимо учитывать в процессе верификации. Представлена общая структура тестовой системы для автономной верификации блоков подсистемы памяти. Приведена классификация типов проверяющих моделей, их преимущества и недостатки. В статье представлен подход к построению автономного окружения для верификации с использованием универсальной методологии верификации (UVM). Перечислены ограничения, которые следует учитывать при проверке блоков подсистемы памяти. Представлен алгоритм генерации входных стимулов. Для устранения неопределенности текущего состояния верифицируемого устройства в проверяющем модуле используется метод анализа «подсказок». Рассмотрен ряд других методов проверки корректности блоков подсистемы памяти, которые могут быть полезны на различных этапах разработки проекта. Представлен пример применения предложенных подходов к верификации блока HMU микропроцессоров с архитектурой Эльбрус. Приведена классификация обнаруженных и исправленных ошибок в различных подмодулях верифицируемого устройства. Представлен дальнейший план совершенствования тестовой системы.

Об авторах

Дмитрий Алексеевич Лебедев
АО МЦСТ, Москва
Россия


Михаил Владимирович Петроченков
АО МЦСТ, Москва
Россия


Список литературы

1. . Hennessy J.L., Patterson D.A. Computer Architecture: A Quantitative Approach. Fifth Edition. Morgan Kaufmann, 2012. 857 p.

2. . A. Kamkin, M. Petrochenkov. A Model-Based Approach to Design Test Oracles for Memory Subsystems of Multicore Microprocessors. Trudy ISP RAN/Proc. ISP RAS, vol. 27, issue 3, 2015, pp. 149-160. DOI: 10.15514/ISPRAS-2015-27(3)-11.

3. . W.K. Lam. Hardware Design Verification: Simulation and Formal Method-Based Approaches. Prentice Hall, 2005, 624 p.

4. . Burenkov V.S. A Technique for Parameterized Verification of Cache Coherence Protocols. Trudy ISP RAN/Proc. ISP RAS, vol. 29, issue 4, 2017, pp. 231-246. DOI: 10.15514/ISPRAS-2017-29(4)-15.

5. . Ivanov Lubomir and Nunna R. Modeling and verification of cache coherence protocols. In Proc of the 2001 IEEE International Symposium on Circuits and Systems, vol. 5, 2001, pp. 129-132. DOI: 10.1109/ISCAS.2001.922002.

6. . P.A. Abdulla, M.F. Atig, Z. Ganjeiy, A. Reziney, and Y. Zhu, Verification of cache coherence protocols wrt. trace filters. In Proc. of the 15th Conference on Formal Methods in Computer-Aided Design, pp. 9-16.

7. . I.A. Stotland, V.N. Kutsevol, A.N. Meshkov. Problems of functional verification of Elbrus microprocessor L2-cache. Issues of radio electronics, ser. EVT, no. 1, 2015, pp. 76-84 (in Russian) / Стотланд И.А., Куцевол В.Н., Мешков А.Н. Проблемы функциональной верификации кэш-памяти второго уровня микропроцессоров с архитектурой «Эльбрус». Вопросы радиоэлектроники, сер. ЭВТ, 2015, no. 1, стр. 76-84.

8. . C++TESK Testing ToolKit review. Available at: https://forge.ispras.ru/projects/cpptesk-toolkit, accessed 12.06.2019.

9. . Standard Universal Verification Methodology. Available at: http://accellera.org/downloads/standards/uvm, accessed 12.06.2019.

10. . Kamkin A., Chupilko M. A TLM-based approach to functional verification of hardware components at different abstraction levels. In Proc. of the 12th Latin-American Test Workshop (LATW), 2011, pp. 1-6.

11. . Averill M. Law, W. David Kelton. Simulation Modelling and Analysis. McGraw-Hill Education, 3rd edition, 2000, 784 p.

12. . Petrochenkov M., Stotland I., Mushtakov R. Approaches to Stand-alone Verification of Multicore Multiprocessor Cores. Trudy ISP RAN/Proc. ISP RAS, vol. 28, issue 3, 2016, pp. 161-172. DOI: 10.15514/ISPRAS-2016-28(3)-10.

13. . Lebedev D.A., Stotland I.A. Construction of validation modules based on reference functional models in a standalone verification of communication subsystem. Trudy ISP RAN/Proc. ISP RAS, vol. 30, issue 3, 2018, pp. 183-194. DOI: 10.15514/ISPRAS-2018-30(3)-13.

14. . 1800-2017 - IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language. Available at: https://standards.ieee.org/standard/1800-2017.html, accessed 22.06.2019.


Рецензия

Для цитирования:


Лебедев Д.А., Петроченков М.В. Тестовое окружение для верификации блока подсистемы памяти многопроцессорной системы. Труды Института системного программирования РАН. 2019;31(3):67-76. https://doi.org/10.15514/ISPRAS-2019-31(3)-6

For citation:


Lebedev D.A., Petrotchenkov M.V. Test environment for verification of multi-processor memory subsystem unit. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2019;31(3):67-76. https://doi.org/10.15514/ISPRAS-2019-31(3)-6



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)