Модель динамических регистровых очередей для быстродействующего анализа линейных темпоральных ограничений

широкополосных электромагнитных импульсов//Радиотехника и электроника. 1999. Т.44, N° 5. С. 531537. 4.Подосенов С.А., Потапов А.А., Соколов А.А. Импульсная электродинамика широкополосных радиосистем и поля связанных структур // М: Радиотехника, 2003. 720 с. 5. Борисов В.В. Неустановившиеся поля в волноводах. Л.: Изд-во Ленингр. ун-та, 1991. 156 с. 6. Борисов В.В. Электромагнитные поля неустановившихся токов. СПб.: Изд-во С.-Петерб. ун-та, 1996. 208 с. 7.TafloveA. Application of the finite-difference time-domain method to sinusoidal steady-state electromagnetic-penetration problems//IEEE Trans. Electromagn.Compat. 1980.V.EMC-22, N.8. P.191-202. 8. Brit Ch. L. Solution of electromagnetic scattering problems using time domain techniques // IEEE Trans. on Antennas Propagat. 1989.AP- V.37, №.9. P.1181-1192.9.Chan K.-K., FelsenL. Transient and time-harmonic diffraction by a semi-infinite cone// IEEE Trans. on Antennas & Propagat. 1977. V.AP-25, №6. P. 802-806. Ю.Дорошенко В.А. Возбуждение трехмерной нерегулярной и незамкнутой структуры//Радиоэлектроника и информатика. 2005. №1. С.4-8. 11.Доро-шенко В.А. Возбуждение сложной периодической идеально проводящей конической структуры // Электромагнитные волны и электронные системы. 2005. Т. 10, №7. С.28-35. 12.ДорошенкоВ.А., Кравченко В.Ф. Парные сумматорные и сингулярные интегральные уравнения в задачах рассеяния электромагнитных волн на незамкнутых конических структурах //Дифференциальные уравнения. 2003. Т.39, №9.С.1209-1213. 13БейтменГ., ЭрдеиА. Высшие транцендентные функции. В 3-х т. Т.1. М.: Наука, 1973. 407 с. 14.Кратцер А., Франц В. Транцендентные функции: Пер с нем./ Под ред. Н.Я. Виленкина. М.: Изд-во иностр. лит., 1963. 466 с.

Поступила в редколлегию 03.09.2006 Дорошенко Владимир Алексеевич, д-р физ.-мат. наук, доцент кафедры высшей математики ХНУРЭ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-72. Зуев Николай Григорьевич, канд. физ.-мат. наук, доцент кафедры высшей математики ХНУРЭ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-72. Климова Наталья Павловна, канд. техн. наук, доцент кафедры высшей математики ХНУРЭ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-72. Титаренко Александр Михайлович, канд. физ.-мат. наук, доцент кафедры высшей математики ХНУРЭ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-72.

УДК 681.326:519.613

В.И. ХАХАНОВ, С.А. ЗАЙЧЕНКО

МОДЕЛЬ ДИНАМИЧЕСКИХ РЕГИСТРОВЫХ ОЧЕРЕДЕЙ ДЛЯ БЫСТРОДЕЙСТВУЮЩЕГО АНАЛИЗА ЛИНЕЙНЫХ ТЕМПОРАЛЬНЫХ ОГРАНИЧЕНИЙ

Предлагается новая альтернативная алгоритмическая модель для функциональной верификации систем на кристалле, ориентированная на обнаружение нарушений множества заданных темпоральных логических ограничений (ассерций) в рамках моделирования системы с тестовыми воздействиями. Описываются алгоритмы обработки ключевых темпоральных операторов. Даются теоретические утверждения и практические примеры, объясняющие преимущества модели с точки зрения производительности и эффективности верификации. Приводится сравнение с существующими моделями и алгоритмами.

1. Введение

Актуальность данной работы определяется сложностью и высокой стоимостью верификационной составляющей в современном цикле проектирования систем на кристалле (SoC - System-on-Chip). Под верификацией понимают процесс поиска, обнаружения и устранения ошибок в модели системы, приводящих к нарушению спецификации. Согласно мнению экспертов индустрии автоматизации проектирования электроники (EDA - Electronic Design Automation), при использовании архитектуры ASIC [1] доля верификации в проектных затратах превышает 70% [2]. Такая высокая стоимость достижения качества системы определяется многими аспектами, в частности:

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

- несовершенством средств диагностирования в системах автоматизации, затрудняющим локализацию и исправление искомой причины возникновения ошибки;

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

Комплексное решение перечисленных проблем, способное в значительной степени снизить затраты на верификацию систем на кристалле, в настоящее время есть ключевая задача индустрии EDA [3]. Ведущие компании и ученые данной сферы сосредоточены на выработке и реализации эффективных комплексных методов разработки и верификации систем, способных:

- в несколько раз снизить вероятность возникновения ошибок за счет уменьшения участия человека в рутинных процедурах проектирования и верификации;

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

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

Существует два основных направления в современных методах верификации SoC -динамические методы [2,4], основанные на программном или программно-аппаратном моделировании системы с тестовыми воздействиями, и статические, или формальные методы [5,6] на базе математического доказательства задаваемых свойств системы, не требующие тестовых воздействий. Также применяются гибридные методы [7], подразумевающие использование результатов работы динамических методов для повышения производительности формальных методов. В данной работе акцент сделан на технологию верификации на основе темпоральных ассерций (ABV - Assertions-Based Verification) [8,9], применяющейся как в динамических, так и в формальных методах.

Ассерции представляют собой утверждения о поведении системы на языках описания темпоральной логики, декларирующие желаемые или запрещенные последовательности событий, отражающие требования спецификации и проверяющие интегральность внутренних данных. Выразительность темпоральной семантики позволяет эффективно описывать даже самые сложные длительные процессы и протоколы взаимодействия в рамках верифицируемой системы. Объемы эквивалентных низкоуровневых тестовых наборов превышают лаконичные записи темпоральных ассерций на несколько порядков. Наиболее популярными языками описания ассерций являются PSL [10], System Verilog [11] и OVA [12].

Формальная проверка ассерций (свойств) является фундаментальным методом статической верификации. При условии, что входные свойства максимально возможно отражают спецификацию, формальные методы позволяют проверить модель системы на соответствие требованиям со 100% покрытием и достоверностью без предоставления каких-либо входных тестовых воздействий. Однако реальное практическое применение формальной проверки свойств ограничивается верификацией отдельных функциональных блоков. Применение формальных методов на системном уровне в настоящий момент не представляется экономически целесообразным подходом к функциональной верификации по причине крайне высоких вычислительных затрат [6,7].

Наибольший практический интерес представляет применение темпоральных свойств в рамках моделирования системы с тестовыми воздействиями [13,14]. Благодаря выразительности темпоральной логики и доступу к любым внутренним сигналам системы независимо от уровня абстракции модели, моделирование с применением ассерций обеспечивает эффективную стратегию обнаружения и диагностики ошибок и регрессий на протяжении всего цикла проектирования. Инженерные затраты на составление формальных ограничений на базе спецификации в среднем в 10 раз ниже затрат на разработку эквивалентных тестбенчей. Кроме того, использование механизма ассерций в значительной степени упрощает локализацию обнаруженных проблем.

Математической базой существующих на рынке EDA решений по верификации на основе ассерций от компаний Cadence, Synopsys, Mentor Graphics, 0-in Design Automation,

TransEDA является представление ассерций в виде эквивалентных автоматов, некоторые модели основаны на специальных разновидностях диаграмм решений [15-17]. Практические реализации этих моделей лишь частично способны обеспечить основные требования к верификации на основе ассерций - точность обнаружения нарушения, эффективность локализации и диагностирования, производительность вычислений. Основной проблемой данных моделей является экспоненциальный рост количества состояний (state explosion) в зависимости от количества элементов в реализуемой темпоральной формуле. Кроме того, данные модели часто ограничиваются лишь простым подмножеством языков описания ассерций [9], поскольку неспособны эффективно реализовать проверку ряда принципиально важных темпоральных конструкций с приемлемой для практического применения вычислительной сложностью.

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

К задачам исследования относятся:

- определение предлагаемой модели проверки ассерций;

- описание алгоритмов обработки ключевых LTL-операторов на основе предлагаемой модели;

- сравнение свойств предлагаемой модели с существующими моделями с точки зрения эффективности верификации и производительности вычислений.

2. Определение модели DRTLQ

Фундаментальной базой данного исследования является модель DRTLQ (Dynamic Register Transfer Level Queues - динамические очереди уровня регистровых передач). Модель ориентирована на высокопроизводительный анализ элементов линейной темпоральной логики (LTL - Linear Temporal Logic) и эффективность обнаружения и локализации нарушений. Ключевые понятия, вводимые в модели, представляют собой обобщенную надстройку над общеизвестными понятиями темпоральной логики и наиболее популярных языков описания ассерций. Модель можно логически разделить на четыре взаимодействующих уровня, соответствующих трем общепринятым уровням методов верификации на основе ассерций [8] (рис.1).

| Верификационный Уровень

Темпоральный Уровень

| Б у левый Уровень

Рис. 1. Уровни модели DRTLQ в контексте уровней семантики ассерций Верификационные переменные относятся к булевому уровню семантики, последова-тельностные функции и темпоральные свойства - к темпоральному уровню, наконец, ассерционные мониторы и процессы представляют уровень верификации.

Наиболее общим понятием модели DRTLQ является ассерционный процесс - совокупность элементов булевого, темпорального и верификационного уровня семантики ассерций, реализующая верификацию логически связанной группы темпоральных утверждений. Наиболее близким к ассерционному процессу языковым термином является единица верификации (verification unit) из языка PSL. Формально понятие ассерционного процесса определяется следующим образом.

Определение 1. Ассерционным процессом AP в модели DRTLQ называется целостная совокупность множеств верификационных переменных B, текущих обрабатываемых

событий Е, последовательностных функций F, темпоральных свойств Р и ассерционных мониторов М, как правило, относящаяся к определенному функциональному блоку системы и реализующая верификацию логически связанной группы темпоральных утверждений в процессе моделирования:

Атомарным объектом анализа ассерций в модели DRTLQ является верификационная переменная, обобщающая все виды значений, тем или иным образом приводимых к булевому типу данных.

Определение 2. Верификационной, или ассерционной переменной b е B в модели DRTLQ называется любой объект моделируемой системы, текущее значение или состояние которого используется как операнд темпоральных соотношений в данном ассерционном процессе, и тем или иным преобразованием может быть приведено к множеству значений {0, 1}.

Множество всех возможных утверждений о значении всех верификационных переменных b е B соответствует общепринятому в логике понятию множества атомарных утверждений (set of atomic propositions) [6]. Множество верификационных переменных является алфавитом для более сложных темпоральных выражений, а множество атомарных утверждений является множеством всех возможных элементов подаваемых тестовых воздействий.

В качестве верификационной переменной может выступать как элементарный объект верифицируемой модели - константа (параметр), скалярный или векторный сигнал, переменная встроенного типа, так и сложные объекты, такие как выражения, функции, объекты классов. В отличие от существующих моделей проверки ассерций, модель DRTLQ полностью абстрагируется от особенностей конкретного типа верифицируемых данных, языка описания или среды проектирования. Обеспечение преобразования текущего значения верификационной переменной к булевому типу, а также уведомление об изменении текущего значения относятся к обязанностям системы моделирования, которая взаимодействует с верификационной системой. Такое отстранение от деталей верифицируемой модели имеет ряд немаловажных преимуществ:

- абстрагирование от типов данных способствует экстенсивному ускорению анализа ассерций, поскольку только система моделирования, непосредственно задающая формат и способы преобразования данных, способна произвести необходимое приведение к булево-му типу с оптимальной производительностью;

- значительное упрощение и ускорение анализа ассерций достигается за счет отказа от рассмотрения небулевых значений, таких как X и Z - любое верификационное утверждение, требующее учета 4-значности, может быть сведено к выражению с булевым результатом;

- абстрагирование от типов данных делает модель DRTLQ универсальной относительно предметной области данных - этот факт эффективно применяется при верификации высокоуровневых моделей систем на кристалле, в частности, на основе технологии SystemC, где в качестве переменной может быть использовано состояние объекта-транзактора [18].

Также верификационные переменные могут представлять другие элементы языков описания ассерций, не имеющие эквивалента в языках моделирования верифицируемых систем, в частности:

- абстрактное понятие перманентной истины и лжи (внутренние булевые константы, часто используемые для реализации семантики более сложных темпоральных операторов);

- признак окончания анализа заданной последовательности событий (понятие endpoint в языке PSL, встроенные функции ended/matched языков System Verilog и OVA);

- локальные переменные ассерционного процесса (характерны только для языка System Verilog).

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

ко независимых тактовых сигналов. Однако в более чем 95% случаев в процессе используется только одна тактовая переменная. Если тактовых переменных не определено, вычисления инициируются изменением значения любой из участвующих в темпоральном соотношении верификационных переменных.

В моменты инициирования верификационные переменные создают события.

Определение 3. Событием е еЕ в модели DRTLQ называется соотношение

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

Событие называется активированным, если в ходе обработки оно достигло элемента ассерционного процесса, создающего поток активации.

Определение 4. Поток (кольцо) активации в модели DRTLQ - совокупность всех обрабатываемых событий е1 .. еп, соответствующих одному вычислительному пути р в верифицируемой системе.

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

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

В ассерционном процессе всегда существует не более одного потока активации, соответствующего некоторому определенному начальному моменту времени. Одновременно может существовать несколько потоков активации, однако все они будут относиться к различным вычислительным путям, соответствующим различным начальным моментам. Событие может принадлежать не более чем одному потоку активации. Активированное событие всегда относится к единственному потоку активации. Если событие не относится ни к одному потоку активации, оно не является активированным. Моменты и 1;ае в общем случае могут не совпадать, хотя для большинства простых темпоральных формул = 1ае. Моменты создания и активации могут отличаться при анализе операторов последователь-ностной импликации. В ряде случаев событие может не быть активировано в течение своего существования, если путь его обработки носит вспомогательный характер для анализа определенного потока активации. Активация события осуществляется первым элементом на пути обработки события, удовлетворение критерия работы которого позволяет производить дальнейший анализ вычислительного пути. Как правило, активирующими назначаются элементы, стоящие первыми в альтернативных путях утверждения.

Поскольку все события в рамках потока активации связаны, удовлетворение потока активации моментально уничтожает всю цепочку связанных с ним событий. Условие удовлетворения потока активации определяется целью верификации. Если целью является опровержение возможности некоторого поведения в системе, то первое же событие с текущим значением уе = 1, достигающее некоторой контрольной точки в модели, опровергает утверждение в целом. Лишь в случае, если все события потока активации на пути обработки при достижении контрольной точки имели значение уе = 0, опровергающее утверждение удовлетворяется успешно. Если целью верификации является, наоборот, доказательство определенного поведения системы, то критерии удовлетворения потока активации диаметрально противоположны: первое событие, достигающее контрольной точки с текущим значением у£ = 0, опровергает утверждение, и лишь успешное завершение всех альтернативных событий потока активации со значением уе = 1 говорит о достоверности утверждения.

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

Определение 5. Темпоральное свойство p eP в модели DRTLQ - совокупность логических и темпоральных отношений между булевыми выражениями, последовательностны-ми функциями и другими темпоральными свойствами, задает пространство поведения системы.

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

- существование некоторой последовательности событий на выбранном вычислительном пути;

- доказательство или опровержение достоверности другого свойства на всех вычислительных путях, инициируемых от выбранного момента времени (операторы always и never);

- утверждение о достоверности или ложности некоторого темпорального свойства на одном из будущих вычислительных путей (операторы next, eventually);

- утверждение о достоверности или ложности некоторого темпорального свойства в рамках или вне рамок достоверности другого темпорального свойства (операторы until, before);

- утверждение о достоверности или ложности некоторого темпорального свойства при условии возникновения определенной цепи событий (операторы последовательностной импликации);

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

Определение 6. Ассерционный монитор m e M в модели DRTLQ - вершина темпорального утверждения в ассерционном процессе, осуществляющая верификацию некоторого одного темпорального свойства и управление обработкой результата этой верификации в рамках родительского тестбенча.

Ассерционный монитор непосредственно взаимодействует с тестбенчем. Главной его задачей является обеспечение задаваемой тестбенчем реакции на результат верификации темпорального утверждения. В простейших случаях такой реакцией может быть некоторое текстовое сообщение в консоли системы моделирования, визуальная демонстрация результата анализа ассерции на временных диаграммах и других графических инструментах отладки. Возможны и другие виды реакции на результат верификации утверждения, зависящие от конкретной среды и языка верификационной среды.

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

Определение 7. Последовательностной функцией f eF в модели DRTLQ называется некоторая вычислительная процедура, характеризующаяся множествами входных, внутренних и выходных событий и осуществляющая их пошаговое преобразование на каждом тактовом цикле верификации.

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

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

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

Наиболее часто применяемой последовательностной функцией в модели DRTLQ является очередь (queue), лежащая в основе выбранного названия модели DRTLQ. Очереди применяются для моделирования интервалов между интересующими событиями в системе. Наглядно очередь можно представить в виде цепочки триггеров. На рис. 2 показана схема обработки последовательности событий на основе очереди, начинающейся с момента, в котором сигнал a = 1, и по прошествии 3 тактовых циклов завершающейся событием b = 1. В общем случае, очередь может иметь не только конечное число тактов, но и интервал ожидания (например, от 3 до 5 тактов), границы интервалов могут принимать значение от 0 (ожидание не требуется при моментальном выполнении последующего события) до бесконечности (ожидание, пока не выполнится последующее событие).

Рис. 2. Наглядная иллюстрация понятия очередей

К другим часто используемым последовательностным функциям относятся:

- логические последовательностные операторы;

- последовательностная дизъюнкция (sequence OR - успешное выполнение хотя бы одной из альтернативных последовательностей-операндов);

- последовательностная конъюнкция (sequence AND - успешное выполнение всех альтернативных последовательностей-операндов);

- последовательностное пересечение (sequence INTERSECT - успешное выполнение всех альтернативных подпоследовательностей с одновременным завершением);

- последовательностная принадлежность (sequence WITHIN - успешное выполнение последовательности в рамках успешного выполнения другой последовательности);

- функции репетиции, моделирующие повторение определенной последовательности событий;

- функция последовательностной импликации (sequence implication - анализ последовательности событий при условии предварительного успешного завершения другой последовательности событий).

Достоверность заданных темпоральных утверждений для верифицируемой модели системы на кристалле доказывается и опровергается на основе входных тестовых воздействий. Тестовые воздействия W задаются в виде последовательности слов wi, каждое из которых соответствует одному тактовому циклу и содержит множество утверждений о текущем значении каждой из верификационных переменных, принадлежащих B:

w i =<

bi ^ {0,1} b2 ^ {0,1}

b n ^ {0,1}

где Wi - входной вектор тестовых воздействии, соответствующий тактовому циклу с порядковым номером ц п - число всех верификационных переменных в ассерционном процессе.

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

удовлетворенным (4б) на тестовом наборе W, если оно удовлетворено и сохранит это состояние при любом последующем расширении тестового набора (добавлении дополнительных произвольных wi). Если на тестовом наборе W для свойства р не было ни одного потока активации, завершившегося неудачей, но в момент завершения моделирования хотя бы один из инициированных потоков не завершен, свойство считается незавершенным (4в). Если на тестовом наборе W для свойства р хотя бы один из инициированных потоков активации завершился неудачей, свойство считается опровергнутым (4г). Наконец, если на тестовом наборе W для свойства р не было инициировано ни одного потока активации, свойство считается неактивированным (4д):

а) р! ,

б) W2N Р2 ,

в) ^ Р3 ,

Р4 ,

дт|# Р5 .

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

а) Wl|* Wl|* Р1 ,

б^|« Р-» Wl|= Р2 .

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

3. Обработка ключевых LTL-операторов на основе классической модели и

модели DRTLQ

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

1. Значительный рост количества состояний и переходов при увеличении сложности анализируемых темпоральных формул (нелинейная структурная сложность).

2. Невозможность одновременного анализа нескольких вычислительных путей. Если требуется доказательство наличия некоторой последовательности событий на всех вычислительных путях, то в модели конечных автоматов каждый из них должен быть обработан отдельно. При этом может сложиться нерациональная ситуация с точки зрения производительности. Предположим, обработка вычислительных путей, идущих первыми, не приводит к получению результата для свойства в целом и требует полного анализа тестового набора W. А вычислительный путь, следующий за уже безрезультатно обработанными, удовлетворяет свойство одним из первых поданных на анализ тестовых векторов. В таком случае ресурсы, потраченные на полный анализ безуспешных вычислительных путей, использованы впустую.

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

В ряде альтернативных моделей, в частности, на основе упорядоченных бинарных диаграмм решений (OBDD - [17]) за счет особенностей представления состояний решается проблема структурной сложности модели, однако проблемы анализа нескольких вычислительных путей за одну итерацию моделирования и нерациональности анализа альтернативных путей по-прежнему остаются в силе. В модели "меченых последовательностей" (Tag-augmented sequences - [16]), наиболее близкой к модели DRLTQ, также решаются проблемы структурной сложности, предложены методы одновременного анализа нескольких вычислительных потоков, ряд оптимизаций для альтернативных путей. Однако в этой модели возможна реализация только подмножества линейных темпоральных формул детерминированной длины.

Модель DRTLQ направлена на обеспечение высокого быстродействия верификации, здесь решены все перечисленные проблемы производительности, характерные для известных моделей анализа ассерций, при этом без существенных ограничений на обрабатываемое подмножество LTL-логики:

1. Структурная сложность модели DRLTQ линейна относительно сложности и количества уровней анализируемой темпоральной формулы. Значения параметров темпоральных операторов не влияют на количество элементов в модели и связей между ними.

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

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

Разумеется, модель DRLTQ имеет свои ограничения. Она ориентирована на программную обработку ассерций в процессе моделирования под управлением HDL-симулятора. Возможности аппаратной реализации модели весьма ограничены для изготовления самотестируемых устройств, а также для обеспечения аппаратного ускорения моделирования путем автоматического синтеза в перепрограммируемые чипы. Лишь подмножество языковых конструкций ассерций с последовательностями конечной длины может быть синтезировано в аппаратный эквивалент. Такое ограничение связано с тем, что элементы модели, реализующие конструкции недетерминированной длины, требуют динамического распределения памяти и нетривиальных вычислительных процедур, реализовать которые в виде программируемой логики затруднительно.

При использовании ассерций в рамках процесса моделирования систем на кристалле наиболее часто применяемыми операторами темпоральной логики являются временные интервалы и репетиции. Быстродействие реализации этих операторов играет ключевую роль для быстродействия системы верификации на основе темпоральных ассерций в целом. Данные операторы наиболее иллюстративно демонстрируют преимущества модели DRTLQ по характеристикам производительности.

Рассмотрим подробно алгоритмы обработки временных интервалов между проверяемыми событиями. Временной интервал имеет две границы n и m - минимальное и максимальное число циклов между событиями. Число n может принимать любое целое значение

в интервале [0,го], а число т - в интервале [п,да], кроме т = 0. Очевидно, интервал с двумя нулевыми границами не имеет смысла, поскольку это означает одновременное выполнение событий, что не требует моделирования интервала. В общем случае, когда п и т различны, обработку события временными интервалами можно условно разделить на две фазы: ожидание момента завершения п циклов с момента анализа интервала и ожидание конца интервала. В частном случае, когда п=т, вторая фаза обработки отсутствует. В другом частном случае, при п=0, отсутствует первая фаза.

Предположим, требуется проверить последовательность событий {а;[*1:3]; Ь}, что означает ожидание события Ь=1 от 2 до 4 тактов после события а=1:

^о |= а; 31 = 2..4, w, |= Ь) ^ ^ |= р).

Проверяющая модель на основе конечных автоматов для (6) имеет следующий вид (рис. 3).

]Ь ь / \ /"Л / !Ь

4S4 Y

Рис. 3. Реализация проверки временных интервалов на основе конечных автоматов Окружности соответствуют обычным состояниям, при помощи квадрата обозначается начальное состояние, а треугольники означают конечные состояния. С функциональной точки зрения данная модель полностью соответствует верифицируемому свойству. Однако принципиальным недостатком модели на базе конечных автоматов для проверки временных интервалов является линейный рост количества состояний и переходов при изменении параметров п и т для временного интервала. При увеличении числа п на 1 автомат расширяется еще одним дополнительным состоянием и одним переходом. При увеличении числа т ^ п на 1 автомат также дополняется одним новым состоянием, но уже двумя новыми переходами. Очевидно, при больших значениях п и т модель на базе автоматов становится громоздкой и неэффективной. Все же, если верхняя граница интервала бесконечна, представляется возможным осуществить оптимизацию(рис.4):

Рис. 4. Проверка бесконечных временных Рис. 5. Реализация проверки временных интервалов

интервалов на основе конечных автоматов в модели DRTLQ

В модели DRLTQ реализация анализа темпорального свойства (6) имеет структуру, изображенную на рис.5.

В виде окружностей показаны генераторы для верификационных переменных. Стрелка над переменной a означает начало потока активации, прямоугольником показана очередь, вентиль AND реализует логику последовательности в момент сопоставления с событием b, большой шестиугольник соответствует ассерционному монитору. Малый шестиугольник отражает прямую связь между генератором переменной a и монитором, позволяющую мгновенно завершить поток активации в случае, если a = 0. Очередь, реализующая временной интервал, изолирована от обработки события b=1, хотя момент выхода событий из

19

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

Быстродействие обработки очередей во многом определяется внутренней организацией хранения обрабатываемых событий. Запись о цепочке обрабатываемых событий представляет собой пару:

q = {e, t},

где e - событие-вершина левой цепочки, а t - время регистрации события в очереди.

Записи хранятся в виде односвязного списка, упорядоченного по времени регистрации цепочки в очереди. Очевидно, первой в списке находится запись, поступившая в очередь раньше всех. Очередь реагирует на два запроса: на запрос последующего за ней элемента и на тактовый сигнал. В модели DRTLQ предусматривается, что очереди реагируют на тактовые сигналы последними из всех элементов. Сущность реакции на тактовый сигнал - извлечение новой цепочки событий из входного элемента и ее регистрация в конце очереди. Запрос следующего за очередью элемента извлекает те цепочки событий, которые уже готовы к дальнейшей обработке. Если время ожидания достигло максимального, цепочка событий направляется на выход. Если минимальное время ожидания уже выполнено, а максимальное еще не достигнуто, создается копия события -альтернативная цепочка, которая направляется на выход, в то время как оригинальная цепочка остается в очереди до достижения максимума. Если известно, что последующий элемент будет уничтожать цепочку (сигнал b = 0 для (6)), то создание копии события можно пропустить. Если же минимальное допустимое время ожидания еще не достигнуто, цепочка остается в очереди.

Экспериментальные исследования показали ощутимое преимущество модели DRTLQ по сравнению с моделью на основе конечных автоматов. В ходе эксперимента для обеих моделей были произведены замеры времени анализа автоматически сгенерированных тестовых темпоральных ограничений, содержащих большое количество временных интервалов и элементарных событий, управляемых псевдослучайными входными тестовыми векторами. Наибольшее преимущество получено при обработке очередей с большими значениями параметров интервалов, что, в первую очередь, объясняется нелинейной структурной зависимостью модели на основе конечных автоматов. Рис. 6,а демонстрирует результаты сравнения быстродействия при малых значениях параметров временных интервалов (от 1 до 10) , а рис 6,б - при больших (от 50 до 100).

а) Моделирование очередей (малые б) Моделирование очередей (большие

интервалы) интервалы)

50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500

Число очередей в тесте Число очередей в тесте

а б

Рис. 6. Сравнение производительности модели DRTLQ с моделью конечных автоматов при обработке временных интервалов: а - малые значения параметров; б - большие значения параметров

Еще больший выигрыш производительности модель DRTLQ обеспечивает для операторов репетиции. Предположим, требуется проверить последовательность событий {а;Ь[*3:да]; с}. Эта запись на языке PSL означает, что на первом такте ожидается событие а = 1. Далее, начиная со второго такта, ожидается последовательное повторение от 3 до бесконечности раз события Ь = 1, завершаемое событием с = 1:

^^1,2,3 |= Ь

31 = 1.. ^^3+1 = с,^+1..(Ы) |= Ь

И

Проверяющая модель на основе конечных автоматов показана на рис. 7.

Рис. 7. Проверка ограничения (8) на основе конечных автоматов

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

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

Аналогично обработке очередей, логика обработки репетиций изолирована от следующего элемента. Обработка осуществляется лишь по запросу. В зависимости от значения переменной с алгоритм обработки репетиций принимает наиболее оптимальное решение. В целом, схема обработки репетиций имеет определенное сходство с обработкой очередей. Дополнительно к сопоставлению времени регистрации в очереди, в репетициях проверяется значение события Ь = 1. В том случае, если Ь = 0, все цепочки событий, в текущий момент хранящиеся в репетиции, поступают на выход со значением 0 по прямой связи репетиции с монитором.

Реализация goto-репетиций из языка PSL на модели DRTLQ отличается лишь дополнительной внутренней цепочкой от входа Ь, создающей копию последнего успешного события на каждом тактовом цикле до тех пор, пока не придет новое успешное событие. Непоследовательные репетиции, помимо такой буферной входной цепочки, имеют буферную выходную цепочку. Копии событий, поступивших на выход репетиции, создаются до тех пор, пока хотя бы одна из таких порожденных копий не разрешит вышестоящую группу или удовлетворит поток активации. Реализация репетиций, имеющих в качестве операнда не простую верификационную переменную, а последовательность, отличается лишь тем, что на вход репетиции подается последний элемент этой последовательности. Досрочное неудачное завершение последовательности-операнда моментально обрабатывается репетицией за счет логики расширений событий.

Рис. 8. Проверка ограничения (8) на основе модели DRTLQ

Все эти перечисленные специальные виды репетиций создают огромное количество состояний и переходов в модели на базе конечных автоматов, обуславливая крайне низкую производительность анализа. В модели DRTLQ производительность обеспечивается за счет структурной компактности. Однако ряд специфических конструкций, в частности, непоследовательностные репетиции с бесконечным интервалом, не отличаются высокой производительностью и в предлагаемой модели. Если интервал слишком велик, буферная выходная цепочка событий может породить слишком много альтернативных путей, приводя к значительному снижению быстродействия их обработки. Оптимизация данной конструкции есть одна из ключевых задач дальнейшего развития исследования.

Для сравнения производительности анализа операторов репетиции был проведен эксперимент, аналогичный эксперименту, сделанному выше для интервалов. Рис. 9 содержит сравнение времени анализа случайно сгенерированных темпоральных формул с большим количеством операторов репетиции для моделей DRTLQ и конечных автоматов. На рис. 9,а приведено сравнение для малых значений параметров репетиции (от 1 до 10), а на рис. 9,б - для больших (более 50).

а) Анализ репетиций

б) Анализ репетиций

50 40 30 20 10 0

1000 80 600 400 200 0

150 200 250 300 350 400 450 500 Число репетиций в тесте

50 100 150 200 250 300 350 400 450 500 Число репетиций в тесте

Рис. 9. Сравнение производительности модели DRTLQ с моделью конечных автоматов при обработке операторов репетиции: а - малые значения параметров; б - большие значения параметров

На рис.10 представлены результаты сравнения роста производительности верификации для обеих моделей, содержащих очереди и репетиции, в зависимости от роста значений параметров интервалов. На рис. 10, а показано сравнение по времени моделирования, а на рис 10, б - по расходу памяти. Очевидно, память, требуемая для модели на основе конечных автоматов, растет экспоненциально в зависимости от значений параметров интервалов. Рост времени моделирования также выше линейного из-за невозможности параллельной обработки нескольких потоков активации.

а) Время моделирования

б) Объем расходуемой памяти

100 80 60 40 20 0

10 20 30 40 50 60 70 80 90 100 Значения интервалов репетиций и очередей

а

10 20 30 40 50 60 70 80 90 100 Значения интервалов репетиций и очередей

б

Рис. 10. Сравнение производительности модели DRTLQ с моделью конечных автоматов в зависимости от роста значений интервалов: а - время моделирования; б - расход памяти

Немаловажную роль в достижении быстродействия верификации в модели DRTLQ играет логика разрешения вложенных расширений событий при обработке последователь-ностных функций с альтернативными путями. Сочетание таких типичных для языков описания ассерций операторов, как последовательностная конъюнкция, дизъюнкция, пересечение и принадлежность, порождает значительное число альтернатив для анализа. Пусть имеется формула на языке PSL {{а;Ь} || {с^}} && {!е[*2]} с упомянутыми последова-тельностными операторами:

: а к:!: дь*^

л

Проверяющая модель для (9) на основе конечных автоматов без отказа от параллельной обработки альтернативных путей имеет следующий вид (рис.11).

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

Реализация последовательностных операторов в модели DRTLQ обеспечивает быстродействие за счет одновременной структурной компактности и параллельной обработки альтернативных вычислительных путей (рис.12).

Рис. 12. Проверка ограничения (9) на основе модели DRTLQ Количество элементов в модели будет расти линейно относительно числа операторов в формуле. На рис.12 отчетливо видны границы последовательностных операторов: оператор

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

Поясним схему обработки на простом примере: допустим сигнал e из формулы (9) на протяжении всего времени равен 0 и, соответственно, результат активации зависит от более длинного пути с оператором OR. Предположим, и сигнал а, и сигнал с, стоящие первыми в своих альтернативных путях, равны 0 в интересующий момент времени. Сначала обрабатывается ветка, начинающаяся с события а = 1. Учитывая отрицательный результат, последующий за генератором элемент AND анализирует событие, пришедшее с другого порта, и транспортирует его непосредственно к элементу-соединителю OR. Этого недостаточно, чтобы разрешить дизъюнкцию, требуется ожидать результат второй альтернативы. Аналогично, результат на втором генераторе, транспортированный к элементу-соединителю, разрешает группу OR с отрицательным результатом. Отцепив расши-рение-OR, событие немедленно транспортируется на элемент-соединитель AND следующего уровня, для которого отрицательный результат означает завершение проверки независимо от остальных альтернативных путей. Событие незамедлительно направляется к ассерционному монитору.

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

4. Выводы

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

Достигнуты следующие основные научные и практические результаты:

- введены определения основных понятий в модели DRTLQ, рассчитанной на решение проблем эффективности верификации систем на кристалле;

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

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

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

Практическая реализация предложенной модели и алгоритмов внедрена в программный продукт Riviera одного из лидеров индустрии EDA - компании Aldec Inc. Практическая значимость результатов состоит в значительном уменьшении стоимости верификационной составляющей в цикле проектирования систем на кристалле за счет высокой производительности и точности обнаружения ошибок на ранних фазах разработки. Список литературы: 1. Smith M.J.S "Application-Specific Integrated Circuits", VLSI Systems Series, 1997. 1040p. 2. Bergeron J. "Writing testbenches: functional verification of HDL models", Springer, 2003. 512p. 3. Fazzari S. "The role of Verification IP in a Complex core Design", Cadence Design Systems, Design and Reuse electronic magazine, 2005, http://www.us.design-reuse.com/articles/article7493.html. 4. Bening L., Foster H. "Principles of Verifiable RTL Design", second edition, Kluwer Academic Publishers, 2001. 281p. 5. DrechslerR. "Advanced Formal Verification", Kluwer Academic Publishers, 2004. 277p. 6. Clarke E.M.Jr, Grubmerg O., PeledD.A. "Model Checking", The MIT Process, 2002. 314p. 7. Bormann J., Fedeli A., Frank R., WinkellmanK. "Combined Static and Dynamic Verification", Research report, PROSYD forum, 2005. 8. Foster H., Krolnik A., Lacey D. "Assertions-based Design", Kluwer Academic Publishers, 2003. 392p. 9. Yeung P. "The Four Pillars of Assertions-Based Verification", Mentor Graphics Corporation, EuroDesignCon 2004, 21p. 10. IEEE-1850 "IEEE Standard for Property Specification Language (PSL)", 2005. 143p. 11. IEEE-1800 "IEEE Standard for System Verilog Language", 2005. 586p. 12. "Open Vera Language Reference Manual: Assertions", version 1.4.1, Synopsys Inc., 2004. 136p. 13. Rashinkar P., Paterson P., Singh L. "System-on-chip Verification: Methodology and Techniques", Kluwer Academic Publishers, 2002. 393p. 14. MeyerA.S. "Principles of Functional Verification", Elsevier Science, 2004. 206p. 15. Canfield W., Emerson E.A., SahaA. "Checking formal specifications under simulations", proceedings of the International Conference on Computer Design, 1997. Р. 455-460. 16. Chang K.-H., Tu W.-T., Yeh. Y.-J., and Kuo S.-Y. "A tag-augmented temporal logic checker". 17. Groze D., Drechsler R. "CheckSyC: An Efficient Property Checker for RTL SystemC Designs", IEEE International Symposium on Circuits and Systems, 2005. Р. 41674170. 18. ForczekM., Zaychenko S. "Assertions-Based Verification for SystemC", proceedings of East-West Design & Test Worshop, 2005. Р. 54-61.

Поступила в редколлегию 12.08.2006 Хаханов Владимир Иванович, декан факультета КИУ ХНУРЭ, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: hahanov@kture.kharkov.ua.

Зайченко Сергей Александрович, аспирант кафедры АПВТ ХНУРЭ, начальник отдела разработки компании Aldec-Kharkov Ltd. Научные интересы: системы автоматизированного проектирования, моделирования и верификации цифровых систем на кристаллах. Увлечения: литература, музыка, футбол. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. (097)-367-62-93. E-mail: sergeiz@aldec.com.pl.