Preview

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

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

Подходы к автономной верификации кэш-памятей многоядерных микропроцессоров

https://doi.org/10.15514/ISPRAS-2016-28(3)-10

Аннотация

В статье приведен обзор методов, применяемых при проверке корректности поведения кэш-памятей многоядерных микропроцессоров. Описаны общие свойства устройств подсистемы памяти микропроцессора, а также свойства, специфичные для кэш-памятей, и метод поддержки согласованности состояния памяти в системе на основании протокола когерентности. Представлены подходы к проектированию тестовой системы, генерации корректных тестовых воздействий и проверке правильности поведения тестируемого устройства. Предложены модификации общего подхода к генерации тестовых воздействий для устройств с внеочередным исполнением инструкций. Приведены способы разработки тестовых систем на различных уровнях абстракции. В статье описан основной способ проверки поведения устройства на уровне транзакций - разработка эталонной поведенческой модели для последующего сравнения реакций устройства с эталонными; расхождения в реакциях сигнализируют об ошибке. Выделены критерии применимости данного подхода. Описаны методы верификации устройств, поведение которых функционально не детерминировано на уровне транзакций: метод «серого ящика», базирующийся на анализе внутренних интерфейсов устройства, для устранения возникающей неопределенности в поведении устройства. Кроме того, приведен новый метод, основанный на динамическом уточнении поведенческой модели на основе реакции устройства. Также рассмотрены преимущества использования утверждений утверждения в генераторе тестовых воздействий в качестве дополнительных методов обнаружения ошибок. В работе приведен метод, позволяющий упростить проверку поведения устройств с внеочередным исполнением инструкций, основанный формировании эталонной очереди их выполнения. В заключение представлены результаты применения предложенных подходов к верификации кэш-памятей многоядерных микропроцессоров архитектуры «Эльбрус» и «SPARC-V9».

Об авторах

М. В. Петроченков
АО «МЦСТЭ»
Россия


И. А. Стотланд
АО «МЦСТЭ»
Россия


Р. Е. Муштаков
АО «МЦСТЭ»
Россия


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

1. Sorin D.J., Hill M.D., Wood D.A. A Primer on Memory Consistency and Cache Coherence. Morgan and Claypool, 2011. 195 p.

2. Bergeron J. Writing testbenches: functional verification of HDL models. Boston: Kluwer Academic Publishers, 2003.

3. Stotland I, Meshkov A., Kutsevol V. Standalone functional verification of multicore microprocessor memory subsystem units based on application of memory subsystem models. Proc. оf IEEE East-West Design & Test Symposium (EWDTS 2015), Batumi, Georgia, September 26-29, 2015, pp.326-330.

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

5. Tessier T., Lin H., Ringoen D., Hickey E., Anderson S. Designing, verifying and building an advanced L2 cache sub-system using SystemC. Proc. of Design and Verification Conference (DV-CON), 2012, pp.1-8.

6. Kamkin A., Petrochenkov M. A Model-Based Approach to Design Test Oracles for Memory Subsystems of Multicore Multiprocessors. Trudy ISP RAN, vol. 27, 3, p 149-157.

7. TLM-2.0.1. TLM Transaction-Level Modeling Library. (online). Доступно по ссылке: http://www.accellera.org/downloads/standards/systemc (дата обращения 20.05.2016).

8. Стотланд И.А., Лагутин А.А. Применение эталонных событийных моделей для автономной верификации модулей микропроцессоров. Вопросы радиоэлектроники, сер. ЭВТ, 2014, вып. 3, стр. 17-27.

9. Ho R. Validation tools for complex digital designs.PhD thesis, Standford University, 1996.

10. Standard Universal Verification Methodology (online). Доступно по ссылке: http://accellera.org/downloads/standards/uvm (дата обращения 20.05.2016).


Рецензия

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


Петроченков М.В., Стотланд И.А., Муштаков Р.Е. Подходы к автономной верификации кэш-памятей многоядерных микропроцессоров. Труды Института системного программирования РАН. 2016;28(3):161-172. https://doi.org/10.15514/ISPRAS-2016-28(3)-10

For citation:


Petrochenkov M., Stotland I., Mushtakov R. Approaches to Stand-alone Verification of Multicore Microprocessor Caches. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(3):161-172. https://doi.org/10.15514/ISPRAS-2016-28(3)-10



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


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