Научная статья на тему 'МЕТОДИКА ФОРМИРОВАНИЯ ТЕСТОВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ НА ОСНОВЕ ГРАФОВОЙ МОДЕЛИ ИЕРАРХИИ КЕШ-ПАМЯТИ'

МЕТОДИКА ФОРМИРОВАНИЯ ТЕСТОВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ НА ОСНОВЕ ГРАФОВОЙ МОДЕЛИ ИЕРАРХИИ КЕШ-ПАМЯТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
30
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ ТЕСТОВ / ТЕСТИРОВАНИЕ КЕШ-ПАМЯТИ ПРОЦЕССОРА / ВЕРИФИКАЦИЯ ГЕТЕРОГЕННОЙ СИСТЕМЫ НА КРИСТАЛЛЕ / ВЕРИФИКАЦИЯ КЕШ-ПАМЯТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гаращенко Антон Витальевич, Гагарина Лариса Геннадьевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AN APPROACH TO THE FORMATION OF TEST SEQUENCES BASED ON THE GRAPH MODEL OF THE CACHE MEMORY HIERARCHY

The verification of the cache memory hierarchy in modern SoC due to the large state space requires a huge number of complex tests. This becomes the main problem for functional verification. To cover the entire state space, a graph model of the cache memory hierarchy as well as the methods of generating the formation of the test sequences based on this model have been proposed. The graph model vertices are a set of states (tags, values, etc.) of each hierarchy level, and the edges are a set of transitions between states (instructions for reading, records). The graph model, describing all states of the cache-memory hierarchy states, has been developed. Each edge in the graph is a separate check sequence. In case of the non-deterministic situations, such as the choice of a channel (port) for multichannel cache memory, it will not be possible to resolve them at the level of the graph model, since the choice of the channel depends on many factors not considered within the model framework. It has been proposed to create a separate instance of a subgraph for each channel. The described approach has revealed, in verification of the multiport cache-memory hierarchy of the developed core with the new vector architecture VLIW DSP, a few architectural and functional errors. This approach can be used to test other processor cores and their blocks

Текст научной работы на тему «МЕТОДИКА ФОРМИРОВАНИЯ ТЕСТОВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ НА ОСНОВЕ ГРАФОВОЙ МОДЕЛИ ИЕРАРХИИ КЕШ-ПАМЯТИ»

ИНФОРМАЦИОННО-КОММУНИКАЦИОННЫЕ

ТЕХНОЛОГИИ INFORMATION-COMMUNICATION TECHNOLOGIES

УДК 004.415.538:004.434 DOI: 10.24151/1561-5405-2020-25-6-548-557

Методика формирования тестовых последовательностей на основе графовой модели иерархии кеш-памяти

А.В. Гаращенко1'2, Л.Г. Гагарина1

1 Национальный исследовательский университет МИЭТ, г. Москва, Россия

2АО НПЦ «ЭЛВИС», г. Москва, Россия ant.gar1@mail.ru

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

Ключевые слова: автоматическая генерация тестов; тестирование кеш-памяти процессора; верификация гетерогенной системы на кристалле; верификация кеш-памяти

© А.В. Гаращенко, Л.Г. Гагарина, 2020

Для цитирования: Гаращенко А.В., Гагарина Л.Г. Методика формирования тестовых последовательностей на основе графовой модели иерархии кеш-памяти // Изв. вузов. Электроника. 2020. Т. 25. № 6. С. 548-557. DOI: 10.24151/1561-54052020-25-6-548-557

An Approach to the Formation of Test Sequences Based on the Graph Model of the Cache Memory Hierarchy

12 * 1 A.V. Garashchenko ' , L.G. Gagarina

1National Research University of Electronic Technology, Moscow, Russia

2

Open Joint-Stock Company Research & Development Center «ELVEES», Moscow, Russia

ant.gar1@mail.ru

Abstract: The verification of the cache memory hierarchy in modern SoC due to the large state space requires a huge number of complex tests. This becomes the main problem for functional verification. To cover the entire state space, a graph model of the cache memory hierarchy as well as the methods of generating the formation of the test sequences based on this model have been proposed. The graph model vertices are a set of states (tags, values, etc.) of each hierarchy level, and the edges are a set of transitions between states (instructions for reading, records). The graph model, describing all states of the cache-memory hierarchy states, has been developed. Each edge in the graph is a separate check sequence. In case of the non-deterministic situations, such as the choice of a channel (port) for multichannel cache memory, it will not be possible to resolve them at the level of the graph model, since the choice of the channel depends on many factors not considered within the model framework. It has been proposed to create a separate instance of a subgraph for each channel. The described approach has revealed, in verification of the multiport cache-memory hierarchy of the developed core with the new vector architecture VLIW DSP, a few architectural and functional errors. This approach can be used to test other processor cores and their blocks

Keywords: automatic test generation; processor cache testing; heterogeneous system-on-chip verification; cache memory verification

For citation: Garashchenko A.V., Gagarina L.G. An approach to the formation of test sequences based on the graph model of the cache memory hierarchy. Proc. Univ. Electronics, 2020, vol. 25, no. 6, pp. 548-557. DOI: 10.24151/1561-5405-2020-25-6548-557

Введение. Тенденция развития современной микроэлектроники ввиду уменьшения размера технологического процесса полупроводникового производства и повышения степени интеграции микросхем - увеличение производительности вычислительных систем за счет наращивания гетерогенности. Это ведет к возникновению новых классов процессоров, таких как сети и системы на кристалле (СнК). Многоядерные гетерогенные вычислительные СнК состоят из ядер общего назначения и специализированных вычислительных ядер с разной архитектурой. Это связано прежде всего с преимуществами применения разных типов процессоров для выполнения отдельных классов задач.

Один из решающих факторов, оказывающих влияние на производительность вычислительных систем, - время, необходимое на выполнение одной операции доступа в память [1], так как тактовая частота процессора на порядок выше частоты памяти. Также следует учитывать, что время взаимодействия с памятью подвержено влиянию других операций доступа, ограничено разрядностью полосы пропускания сигналов и определяется объемом и архитектурой подсистемы памяти. В высокопроизводительных вычислительных системах, к которым относятся СнК, для организации максимально эффективного с точки зрения времени доступа в память используется иерархическая память, состоящая из нескольких уровней. Чаще всего это регистры, кеш-память инструкций и данных, временные буферы для преобразования адресов, оперативная память, виртуальные и жесткие диски [2]. Иерархия формируется по принципу «чем выше уровень, тем быстрее скорость доступа к нему, а объем памяти меньше», так как быстродействующая память обходится достаточно дорого с точки зрения аппаратных затрат -места на кристалле, поэтому ее объем не может быть большим. Описанный подход становится эффективным, если данные хранить в иерархии памяти в порядке частоты их использования.

На текущем этапе развития микроэлектроники проектирование изделий происходит на уровне RTL-описания сложнофункциональных блоков. Проектирование является многоэтапным процессом. В связи с архитектурной сложностью современных многоядерных процессоров, применяемых при разработке СнК, более 60% ресурсов проектирования тратится на их верификацию. Это обусловлено высокой комбинаторной сложностью проверки корректности работы как отдельных ядер, так и системы в целом, поэтому функциональная верификация - один из важнейших этапов проектирования СнК.

Иерархия кеш-памяти. В современных гетерогенных СнК иерархия кеш-памяти является одним из самых архитектурно проблемных компонентов ввиду большой комбинаторики ее состояний [1, 3, 4]. Верификация такой подсистемы требует огромного объема комплексных тестов, что становится основной проблемой для функциональной верификации. Вычислительная сложность современных алгоритмов формальной верификации сокращает область их применения небольшими блоками [2, 3, 5] (типа ALU или отдельных элементов подсистемы памяти) или отдельными свойствами процессора, которые легко локализовать, что резко ограничивает использование формальных методов для тестов уровня подсистемы памяти процессора в целом [5]. Также ограничивающим фактором является время, которое требуется для разработки набора всевозможных тестов. Поэтому написать все тесты вручную невозможно. Таким образом, динамическая генерация верификационных последовательностей остается одним из основных методов проверки иерархии кеш-памяти вычислительных ядер.

Политика замены кеш-памяти или алгоритм кеширования - основной параметр проектирования любой иерархии памяти. Эффективность политики замены влияет как на частоту доступа, так и на задержку доступа к системе кеширования. Чем выше ассоциативность кеш-памяти, тем важнее становится алгоритм вытеснения. Существует большое количество политик замены, и каждая из них представляет собой компромисс между частотой вызовов, стоимостью (с точки зрения требуемых аппаратных ресурсов) и производительностью: наименее используемая строка, наиболее используемая строка, PseudoLRU, последняя использованная строка и многие другие. В настоящем исследовании используется кеш, реализующий политику замены LRU. Алгоритм LRU нацелен на снижение частоты промахов в ассоциативно-множественную кеш-память путем замены блока при промахе, который не использовался дольше всего. Логика политики

замены должна обновлять правильное упорядочение среди кеш-строк при каждом доступе в кеш-память на основе их времени нахождения в памяти независимо от того, чем вызван доступ - промахом или попаданием.

Вопросы верификации иерархии кеш-памяти, протоколов когерентности, включая разработку эффективных алгоритмов и методик генерации тестов, рассмотрены во многих работах [1, 2, 5]. Данные работы посвящены глубокому исследованию отдельных способов генерации стрессовых для кеш-памяти ситуаций, что свидетельствует о необходимости исследований в этом направлении.

Предложенные методы построения графовой модели иерархии многопортовой кеш-памяти для генерации тестовых последовательностей в рамках текущего исследования позволят повысить технико-экономические показатели по отношению к уже разработанным на рынке системам [6-8]. Технико-экономические характеристики процесса верификации зависят от качества и эффективности алгоритмов генерации тестов, поэтому важно увеличить полноту тестового покрытия и ускорить процесс верификации иерархии кеш-памяти гетерогенных многоядерных структур.

Математическая модель. Иерархия кеш-памяти гетерогенных СнК является промежуточным быстрым буфером с наиболее часто используемыми данными из менее высокоскоростных типов памяти. Опишем методику проверки иерархии кеш-памяти с генерацией краевых и критических ситуаций на основе графовой модели иерархии многопортовой кеш-памяти.

Для покрытия всех состояний функционального пространства иерархии многопортовой кеш-памяти предлагается построение графовой модели в соответствии со следующими правилами:

- G - модель ориентированного графа, G = (V, E, у) (классическое определение);

- V = {v0,уу} - множество вершин - состояния кеш-памяти (теги, значения и т.д.);

- | V | зависит от конфигурации подсистемы памяти;

- E = {е0,e,...e„}, | E |= 5 - множество ребер (инструкции чтения, записи, flush, prefetch и инвалидации), которое зависит от конфигурации подсистемы памяти;

- Vn>E = 0. f: у I—» /(у), y+1 = /(у), где feE.

Графовая модель G, построенная в соответствии с приведенными правилами для одного уровня иерархии кеша с одним каналом, четырьмя ассоциативными путями, политикой LRU и | E |= 2, состоит из 108 вершин.

Гарафовая модель LTS - граф состояний и переходов. Состояния в этом графе не предоставляют никакой информации, кроме изменений исходного состояния. Информация представлена в метках или действиях, связанных с переходами. Формально модель LTS используется в качестве основы для описания поведения тестов.

Формальное представление графовой модели LTS имеет вид (V, E,T, v0), где

- множества V, E строятся согласно классическому определению G;

- T ^ V х E xV - множество отношений переходов;

- v G V - начальное состояние;

- T - множество переходов;

- t, -(у,,ej,v+iXt,еT;

- переход t -(у, е -, у+1 > в T (также f (у ) ^ у+1) означает, что система перешла из состояния у в состояние у+1, применив инструкцию е ;

- L = {L0, Ц, L }, Ц - кеш-память i уровня;

- С = {c0, qcn} - значение строки кеш-памяти (используется для сравнения);

- B = {b0, b,.., bn} - множество блоков в кеш-строке;

- H = {G0 ^ G ^ .. ^ G }, п = count(L), подграфами ht которой являются графы G каждого уровня кеша;

- S = {s0,s,...,sn}, s ={ei,ek,ej},e,e,e eE- множество последовательностей переходов;

- P = {p0, p,..., p} - множество стратегий вытеснений из кеш-памяти;

- updated(H,л ): v h^ updated (xr), vv , = updated (\r), л e Л' - функция перехода всей

иерархии кеша к следующему состоянию.

На рис.1 показан пример графовой модели LTS для иерархии кеша, состоящей из одного уровня, содержащего одну строку с политикой LRU и четырьмя ассоциативными путями, где | E |= 2 (инструкции по доступу к памяти для чтения и записи).

Рис. 1. Графовая модель LTS Fig.1. LTS graph model

Графовая модель для двух уровней иерархии кеш-памяти с политикой замены LRU (четыре пути и один канал) содержит около 10 вершин. С добавлением уровня в иерархию кеш-памяти количество вершин в графовой модели увеличивается экспоненциально.

Иерархия кеш-памяти современных гетерогенных структур состоит из нескольких уровней (обычно порядка 2-4). Уровень Ц кеш-памяти инклюзивно или эксклюзивно

обращается к следующему уровню LM. Кеш последнего уровня самый большой, в него поступают данные из ОЗУ. В зависимости от инклюзивности кеша данные могут быть расположены сразу во всех уровнях иерархии или только на одном - эти типы кеш-памяти называются инклюзивными и эксклюзивными.

При обращении по чтению или записи в подсистему памяти блок управления памятью, входящий в состав процессора, проверяет нахождение требуемых данных в кеш-памяти (без учета когерентности в многоядерных структурах). Если возникает попадание в кеш (данные находятся в Ц ), проверяются флаги валидности и Dirty/Modified. Далее данные извлекаются из нее в регистровый файл и помещаются в кеш первого уровня L . В противном случае - промах в кеш и одна из строк с данными (в зависимости от выбранной политики вытеснения данных), содержащимися в Ц, заменяется другой строкой с данными из оперативной памяти.

Для покрытия всего пространства состояний иерархии кеш-памяти строится иерархическая графовая модель H = {G0 ^ G ^ ••• ^ G }, где n = count(L), подграфами h которой является множество графов G = {g0,gg}, каждого уровня кеша, а ребрами E - множество переходов (evict, invalidate, flush и prefetch) между состояниями иерархии кеш-памяти порожденного множеством Е (read, write, invalidate, flush и prefetch).

В случае возникновения недетерминированных ситуаций, например при выборе канала (порта) для многоканальной кеш-памяти, не удается разрешить их на уровне графовой модели, поскольку выбор канала зависит от многих факторов, включая доступ к памяти со стороны других устройств, которые не рассматриваются в рамках модели. Поэтому предлагается создать для каждого из вариантов поведения отдельный экземпляр подграфа g œ G в графовой модели, т.е. отдельный подграф g e G для каждого канала. Если состояние кеш-памяти после недетерминированного перехода t не соответствует ни одному состоянию кеша в подграфе модели, то кеш-память работает неверно, т.е. 3 gi, tt, где ti e T, g œ G . Критерием ошибки в этом случае является состояние, которое не соответствует состоянию в {g,g,...,g}, где n - количество каналов на соответствующем уровне иерархии кеш-памяти.

Методика генерации тестов, основанная на графовой модели иерархии кеш-памяти многоядерной структуры, позволяет с минимальным временем, затрачиваемым на генерацию тестовых последовательностей, моделировать все возможные функциональные состояния подсистемы памяти (рис.2). На рис.3 показан алгоритм построения графовой модели. Каждая тестовая последовательность представляет собой переход (ребро) в графовой модели (например, ребро между вершинами S9 и S14 на рис.1) иерархии кеш-памяти H многоядерной структуры. Каждый переход в графе - это отдельный тест. Генерация тестов осуществляется путем обхода графа состояний, т.е. перебора всех переходов T графа G или H. Для моделей LTS примером является переход t из состояния v в состояние vM . Система переходов в таком случае недетерминированная, но при этом древовидная и конечная.

Методика формирования верификационных тестов состоит в создании соответствующих инструкций метаязыка (переходам из графовой модели). Сначала генерируется стандартная последовательность, состоящая из инструкции метаязыка, которая переводит подсистему памяти в необходимое состояние без выполнения всех переходов в

Рис.2. Алгоритм генерации верификационных тестов Fig.2. Algorithm for generating verification tests

Рис.3. Алгоритм построения графовой модели иерархии кеш-памяти гетерогенных

многоядерных структур Fig.3. Algorithm for constructing a graph model of the cache memory hierarchy of heterogeneous multicore structures

графовой модели, чтобы сэкономить время моделирования. Затем создается последовательность, состоящая из инструкций, соответствующих проверяемому переходу в модели. Инструкции в множестве E написаны на метаязыке. Метаязык позволяет рабо-

тать с памятью процессора на более абстрактном уровне, что дает возможность отвязать тестовые последовательности от конкретного ассемблера и повысить степень повторного использования исходного кода от проекта к проекту. Необходимо только реализовать транслятор метаязыка для конкретного ассемблера или команд окружения. Такой подход обеспечивает возможность переноса разработанного генератора в другие проекты, в том числе с совершенно другой архитектурой вычислительных ядер.

Метаязык содержит две инструкции для работы с памятью - чтение (read) и запись (write). При необходимости в рамках тестируемой архитектуры возможно реализовать дополнительные инструкции метаязыка для трансляции в ассемблер, например с поддержкой векторного доступа в память. В настоящей работе это сделано при верификации иерархии кеш-памяти многопроцессорной СнК, состоящей из нескольких ядер ARM, MIPS и реализации VLIW DSP с новой архитектурой с поддержкой не более 16 векторных обращений в память.

Результаты исследования. Достоверность разработанных методов и алгоритмов подтверждена оценочными критериями, теоретическими расчетами и хорошей их сходимостью с использованием верифицированных моделей иерархии кеш-памяти, а также экспериментальными результатами, полученными при использовании системы генерации тестов для верификации VLIW DSP с новой архитектурой. На рис.4 приведено сравнение тестовых покрытий [4, 9-13].

Рис.4. Сравнение тестовых покрытий кода Fig.4. Comparison of test code coverages

Метрикой качества выбрана метрика, разработанная компанией Cadence. Данная метрика основана на измерении тестового покрытия кода, блоков, выражений и сигналов модели RTL (рис.5).

Предложенные модель и методика позволили:

- выявить 12 критичных ошибок при верификации ядра и связки кешей разрабатываемого VLIW DSP-ядра с новой архитектурой. Ошибки были найдены как в самом ядре, так и в автономных окружениях кеш-памятей;

- на 30 % сократить время на верификацию автономных окружений кеш-памятей;

- существенно сократить время формирования тестовых последовательностей, а также их количество;

- достичь 95 %-ного тестового покрытия кода RTL-описания модели кеш-памяти.

0 юо

о?

S 90

1

0 80 s

3 70 о.

1 60 g 50

I 40 н

30 20 40 60 80 100 120 140 160 180 200 Количество тестов

Рис.5. Зависимость тестового покрытия от количества тестов для кода блоков (1), кода выражений (2) и сигналов (3) Fig.5. Dependence of test coverage on the number of tests for code block (1), code expression (2), and signals (3)

Заключение. Подход с использованием разработанных в работе методики и алгоритмов верификации иерархии многопортовых кеш-памятей многоядерных структур в виде программного средства позволил повысить полноту тестового покрытия кода RTL-моделей с минимальными временными затратами на генерацию тестовых последовательностей, а также промоделировать все возможные функциональные состояния подсистемы памяти.

В перспективе планируется применить данный подход для верификации других процессорных ядер.

Литература

1. Ajay M. Joshi, Lieven Eeckhout, Lizy K. John, Ciji IsenCiji Isen. Automated microprocessor stressmark generation // Conference: High Performance Computer Architecture, 2008. IEEE 14th International Symposium. 2008. - Р. 229-239.

2. Russinoff D.M. Formal verification of floating-point RTL at AMD using the ACL2. Springer International Publishing, Switzerland, 2019. 343 p.

3. Garashchenko A., Nikolaev A., Putrya F., Sardaryan S. System of combined specialized test generators for a new generation of VLIW DSP processors with Elcore50 architecture // Problems of Developing Promising Micro- and Nanoelectronic Systems. 2018. No.2. P. 9-15.

4. An approach to automatic test generation for verification of microprocessor cores / L. Gagarina, A. Garashchenko, A. Shiryaev et al. // Young Researchers in Electrical and Electronic Engineering. 2018. P. 1490-1491.

5. Kim Y., John L.K. Automated di/dt stressmark generation for microprocessor power delivery networks // IEEE ACM International Symposium on Low Power Electronics and Design. Fukuoka. 2011. P. 253-258. DOI: 10.1109/ISLPED.2011.5993645

6. Alexandre Otto Strube, Dolores Rexachs, Emilio Luque. Software probes: a method for quickly characterizing applications performance on heterogeneous environments // Parallel Processing Workshops 2009. International Conference on. 2009. P. 262-269.

7. Principles of verifiable RTL design: a functional coding style supporting verification processes in Verilog Hardcover. Springer, 2001. 101 p.

8. Means of functional verification of microprocessors / A. Kamkin, A. Kotsynyak, S. Smolov et al. // Proc. of the Institute for System Programming of the Russian Academy of Sciences. 2014. Vol. 26. No. 1. P. 149-206.

9. Putrya F. The use of random program generators and random background effects in the functional verification of multicore systems on a chip // Computer-Aided Design of Discrete Systems. 2010. P. 234-241.

10. Shamsul Alam S. Performance analysis of LT codec architecture using different processor templates // International Journal of Information Technology and Computer Science. 2019. No. 8. P. 41-48.

11. Kamath A. Automatic verification of microprocessor designs using random simulation // Computer Science. 2012. P. 1-5.

12. Lagoon V. Constraint-Based Test Generation // 13th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (July 20-22, 2011, Odense, Denmark). 2011. P 1-2.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13. LitterickM., Harnisch M. Advanced UVM register modeling // DVCon 2014. San Jose, CA. P. 1-12.

Поступила в редакцию 08.09.2020 г.; после доработки 08.09.2020 г.; принята к публикации 22.09.2020 г.

Гаращенко Антон Витальевич - аспирант Института системной и программной инженерии и информационных технологий Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), инженер АО НПЦ «ЭЛВИС» (Россия, 124498, г. Москва, г. Зеленоград, проезд 4922, 4/2), ant.gar1@mail.ru

Гагарина Лариса Геннадьевна - доктор технических наук, профессор, директор Института системной и программной инженерии и информационных технологий Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), incos@miee.ru

References

1. Ajay M. Joshi, Lieven Eeckhout, Lizy K. John, Ciji IsenCiji Isen. Automated microprocessor stressmark generation. Conference: High Performance Computer Architecture, 2008. IEEE 14th International Symposium, 2008.

2. Russinoff D.M. Formal verification of floating-point RTL at AMD using the ACL2. Springer International Publishing, Switzerland, 2019. 343 p.

3. Garashchenko A., Nikolaev A., Putrya F., Sardaryan S. System of combined specialized test generators for a new generation of VLIW DSP processors with Elcore50 architecture. Problems of developing promising micro- andnanoelectronic systems, 2018, no. 2, pp. 9-15.

4. Gagarina L., Garashchenko A., Shiryaev A., Fedorov A. Dorogova E. An approach to automatic test generation for verification of microprocessor cores. Young Researchers in Electrical and Electronic Engineering (EIConRus), 2018, pp. 1490-1491.

5. Kim Y., John L.K. Automated di/dt stressmark generation for microprocessor power delivery networks. IEEE/ACM International Symposium on Low Power Electronics and Design. Fukuoka, 2011, pp. 253-258. DOI: 10.1109/ISLPED.2011.5993645.

6. Alexandre Otto Strube, Dolores Rexachs, Emilio Luque. Software probes: a method for quickly characterizing applications performance on heterogeneous environments, parallel processing workshops 2009. International Conference on, 2009, pp. 262-269,

7. Principles of verifiable RTL design: a functional coding style supporting verification processes in verilog hardcover. Springer, May 31, 2001.

8. Kamkin A., Kotsynyak A., Smolov S., Tatarnikov A., Chupilko M., Sortov A. Means of functional verification of microprocessors. Proceedings of the Institute for System Programming of the Russian Academy of Sciences, 2014, vol. 26, no. 1, pp. 149-206.

9. Putrya F. The use of random program generators and random background effects in the functional verification of multicore systems on a chip. Computer-aided design of discrete systems, 2010, pp. 234 -241.

10. Shamsul Alam S. Performance analysis of LT codec architecture using different processor templates. International Journal of Information Technology and Computer Science, 2019, no.8, pp. 41-48.

11. Kamath A. Automatic verification of microprocessor designs using random simulation. Computer Science, 2012, pp. 1-5.

12. Lagoon V. Constraint-Based Test Generation. 13th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, July 20-22, 2011, Odense, Denmark, pp. 1-2.

13. Litterick M., Harnisch M. Advanced UVM Register Modeling. DVCon 2014, San Jose, CA, pp. 1-12.

Received 08.09.2020; Revised 08.09.2020; Accepted 22.09.2020. Information about the authors:

Anton V. Garashchenko - PhD Student of the Institute of Systems and Software Engineering and Information Technology, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), Engineer of Open Joint-Stock Company Research & Development Center «ELVEES» (Russia, 124498, Moscow, Zelenograd, Proezd 4922, 4/2), ant.gar1@mail.ru

Larisa G. Gagarina - Dr. Sci. (Eng.), Prof., Director of the Institute of Systems and Software Engineering and Information Technology, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), incos@miee.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.