Научная статья на тему 'Эффективная функциональная верификация моделей цифровых систем на кристалле на основе ассерций глобального времени'

Эффективная функциональная верификация моделей цифровых систем на кристалле на основе ассерций глобального времени Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зайченко Сергей Александрович, Хаханов Владимир Иванович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зайченко Сергей Александрович, Хаханов Владимир Иванович

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

Effective functional verification of models of digital systems on a chip based on global time claims

An innovative approach to the functional verification of digital systems on a chip is proposed, which is oriented to reliable detection of violations of specified logical constraints (assertions) within the framework of modeling a system with test impacts with minimal additional computational costs. An effective approach to significantly reducing the time-to-merket parameter is demonstrated by efficient use of asserts for functional verification.

Текст научной работы на тему «Эффективная функциональная верификация моделей цифровых систем на кристалле на основе ассерций глобального времени»

УДК 681.326:519.613

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

ЭФФЕКТИВНАЯ ФУНКЦИОНАЛЬНАЯ ВЕРИФИКАЦИЯ МОДЕЛЕЙ ЦИФРОВЫХ СИСТЕМ НА КРИСТАЛЛЕ НА ОСНОВЕ АССЕРЦИЙ ГЛОБАЛЬНОГО ВРЕМЕНИ

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

1. Введение

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

Рынок цифровых систем является одним из самых динамично развивающихся в мировой экономике, что порождает новые требования к все более сложной функциональности. В связи с этим лидирующие компании в области автоматизации проектирования электроники (EDA) в течение последних нескольких лет концентрируют значительные силы и средства на разработку эффективных методов функциональной верификации, способных удовлетворить потребности в качестве современных проектируемых систем в приемлемых временных рамках [3,4]. Акцент ставится на обнаружение имеющихся в модели функциональных нарушений на ранних фазах проектирования, когда исправление ошибок еще не приводит к значительной потере ресурсов. Не менее важным требованием является необходимость повторного использования как разрабатываемых компонентов, так и верификационных моделей для них [5].

Классический подход, связанный с разработкой тестовых стимулов, активирующих функциональность системы, и мониторингом реакций, более не способен справиться с нуждами верификации систем из-за большого объема функциональности и быстрых изменений в требованиях к системам. Любое изменение интерфейса тестируемого блока требует значительных усилий по обновлению тестов к нему, а часто и полного переписывания теста. В качестве альтернативы индустрия EDA предлагает разработчикам широкий спектр новых высокоуровневых методов, значительно упрощающих задачи верификации (рис. 1).

Транзакции

Тестовые стимулы

Функциональная спецификация

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

Ограничения для генератора случайных тестов

Допущения

Формулы-ассерции

Среда динамического моделирования

RTL

Среда формальной верификации

Реакции на стимулы > ■ Реакции формул-ассерций

Проверка правил проектирования RTL-моделей (LINT)

Функциональное покрытие

КАЧЕСТВО

Рис. 1. Взаимодействие методов верификации в цикле проектирования систем на кристаллах

Наиболее технологичными являются: метод на основе темпоральных ассерций (Assertions-Based Verification) [6,7], высокоуровневый анализ функционального покрытия (Coverage-Driven Verification) [8], транзакционное моделирование (Transaction-Level Modeling) [9], формальная верификация темпоральных свойств (Formal Property Checking) [10], линтинг (проверка семантических ошибок для языковых конструкций HDL) [11]. Методы объединяет высокий уровень абстракции представления модели и тестовых воздействий, что значительно облегчает процесс валидации и удешевляет расходы на адаптацию системы при изменении внешних требований. Разумеется, использование любого из методов верификации предполагает определенные вычислительные затраты, которые должны быть обоснованы и принести явные преимущества в плане тестопригодности и уменьшения времени time-to-market.

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

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

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

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

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

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

- описание принципов реализации анализа ассерций глобального времени на основе существующей алгоритмической модели DRTLQ [14];

- анализ влияния предлагаемого подхода на стоимость верификации систем на кристаллах.

2. Режим глобального времени по сравнению с типичной интерпретацией

LTL-формул

Языки описания верификационных формул, такие как стандарт IEEE-1850 Property Specification Language (PSL), базируются на математическом аппарате темпоральной логики, изначально пришедшим в компьютерную инженерию из философии [15]. Предположим, моделируемая система на кристалле математически представлена в виде структуры Крипке [16]:

M = (E,S,S0 ,R,L), (1)

где £ - алфавит системы, или множество всех атомарных утверждений; М - моделируемая система; S - множество состояний системы; S0 - начальное состояние системы; R -функция переходов между каждым из состояний; L - функция, сопоставляющая каждое из состояний с подмножеством атомарных утверждений, справедливым для данного состояния. Темпоральная логика используется как механизм описания зависимостей между состояниями системы с течением времени. Темпоральная логика обычно разделяется на два класса: на линейную (Linear Temporal Logic - LTL) и ветвящуюся (Computation Tree Logic - CTL). Линейная темпоральная логика одновременно рассматривает лишь один возможный сценарий изменения будущих состояний системы, центральным понятием здесь является вычислительный путь. Ветвящаяся темпоральная логика одновременно рассматривает несколько возможных вариантов изменения будущих состояний системы, центральным объектом здесь является дерево вычислительных процессов. Данные классы темпоральной логики характеризуются различными свойствами при использовании для функциональной верификации систем. LTL-логика более проста в понимании для пользователя, более естественна при написании формул, кроме того, линейное представление времени сочетается с принципами динамического моделирования системы. CTL-логика более универсальна при описании вычислительных процессов, однако менее удобна при использовании для функциональной верификации. Ветвление времени в CTL не сочетается с принципами динамического моделирования, и такая логика применима только для формальных методов верификации. Язык PSL содержит элементы как линейной, так и ветвящейся темпоральной логики, и потому может быть эффективно использован для функциональной верификации систем как при помощи программы-симулятора с тестовыми воздействиями, так и при помощи формальных подходов.

LTL-логика применяется к выбранным последовательным вычислительным путям моделируемой системы (1), иными словами, к последовательности состояний, в которых

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

л = S0 ,S1,S2 ..., лi = Sb Si+1, Si+2 ... (2)

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

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

1) Справедливость булевого выражения b на пути р единичной длины:

л |= b ^ b е L(S0), |л| = 1, (3)

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

2) Отрицание справедливости темпоральной формулы f на пути л :

л |= -f ^ л f , (4)

отрицание формулы f удовлетворено на вычислительном пути л тогда и только тогда, когда сама формула f не удовлетворена на том же вычислительном пути.

3) Конъюнкция/дизъюнкция темпоральных формул f и g удовлетворяется на вычислительном пути р тогда и только тогда, когда справедлива конъюнкция/дизъюнкция удовлетворенности формул f и g на л по отдельности:

п |= f л g ^ (п |= f) л (п |= g), п |= f V g ^ (п |= f) V (п |= g). (5)

4) Унарный темпоральный оператор X! (next), примененный к формуле f, удовлетворяется на вычислительном пути п тогда и только тогда, когда путь содержит более одного состояния, а формула f удовлетворяется на суффиксе пути, где исключено первое состояние:

п |= X!f ^|п|> 1, ftj |= f. (6)

5) Бинарный темпоральный оператор U (strong until), примененный к формулам f и g, удовлетворяется на вычислительном пути п тогда и только тогда, когда существует некоторое число j, разбивающее п на 2 части, на второй из которых удовлетворяется формула g, а формула f удовлетворяется на всех возможных отрезках из 1 части пути:

п|= [füg] ^3j,0 < j <|п|, Г j|=g' . .1 (7)

[пo..i |= f, Vi,0 <i < jj . (7)

Все другие операторы LTL принято выражать через базовые операторы, например:

6) Унарный темпоральный оператор F (eventually holds), удовлетворяющийся в случае, если существует хотя бы одно такое число k, выделяющее суффикс вычислительного пути п, на котором формула-операнд справедлива:

п |= Ff ^3k,0 < k <|п|,пк |= f, Ff о [trueüf]. (8)

7) Унарный темпоральный оператор G (globally holds), удовлетворяющийся в случае, если для всех суффиксов вычислительного пути п формула-операнд справедлива:

п |= Gf ^Vk,0 < к <|п|,пк |= f,

Gf о-FC-f) о —[true ü -f]. (9)

8) Бинарный темпоральный оператор W (weak until), подобный оператору ü (strong until), однако не требующий обязательного удовлетворения второго операнда:

п |= [f Wg] о [füg] v Gf о [füg] v -[true ü -f]. (10)

Приведем формальное описание типичного процесса верификации LTL-формул. Существует ряд алгоритмов трансформирования любой LTL-формулы к форме автомата Buchi [16]:

A = {Q, Z, d,I, F}, (11)

где Q - множество всех состояний системы; Z — конечный алфавит системы; д - функция перехода между состояниями по набору утверждений из алфавита; I e Q и F e Q - подмножества начальных и удовлетворяющих состояний системы соответственно. Аналогично, к виду (11) может быть приведена модель верифицируемой системы (1):

Q = s,i = S0,

(s e S,P e Z,s' e S) e д о (s,s') e R,L(s) = P . (12)

Пусть имеется слово w, представляющее собой последовательность булевых продвижений a0, a1, a2... в рамках алфавита системы, такая, что каждому i соответствует некоторое состояние системы q, e Q, и для всех i выполняется соотношение (q,, a,, q+;) e д. Тогда множество L(A) всех возможных слов w, порождаемых автоматом A, называется языком, принимаемым автоматом. В таком случае задача определения удовлетворения системы некоторой LTL-формуле сводится к сопоставлению языков, принимаемых автоматом, соответствующим верифицируемой системе, и автоматом, сконструированным для LTL-формулы, обратной интересующей:

L(A(M)) П L(A(-f)) = 0 . (13)

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

Соотношение (13) является основой как для динамических, так и для формальных методов. Фундаментальное отличие состоит в том, что в формальных методах шаг за

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

Исходя из сути автоматов ВисЫ, очевидна экспоненциальная вычислительная сложность процесса верификации: для системы наблюдается экспоненциальный рост количества возможных слов w, которые необходимо проверить, а для LTL-формулы в зависимости от ее длины экспоненциально растет число состояний и переходов в эквивалентном автомате. Соответственно, использование автоматов для представления LTL-формул означает, что не каждая конструкция LTL-логики может быть верифицирована с реалистичными параметрами производительности. В связи с этим типичные коммерческие реализации проверки ассерций во время моделирования, базирующиеся на использовании конечных автоматов, ограничиваются так называемым простым подмножеством [12]. Такие распространенные EDA-компаниями реализации значительно упрощают изначальную математическую интерпретацию темпоральных операторов и, таким образом, достигают быстродействия за счет ограничения языковой поддержки и выразительности темпоральной семантики. Сущность упрощения лежит в отказе от совокупного рассмотрения операторов, требующих анализа нескольких несвязанных между собой вычислительных путей. Иначе упрощения простого подмножества можно назвать дополнительным уровнем линеаризации времени [17]. Такое упрощение в значительной степени ограничивает рост количества состояний и переходов в представляющем формулу автомате. Формулы простого подмножества просты в понимании и практическом применении инженерами для ежедневных нужд верификации. Однако их использование ограничивает выразительность формул, а значит, ухудшает желаемую близость верификационных определений к требованиям спецификации, выраженным естественным языком. Ниже приведены примеры упрощения интерпретации LTL-формул типичными программами-симуляторами в реализациях на основе языка PSL (табл.1).

Таблица 1. Упрощения в интерпретации темпоральных формул типичными реализациями

Формула на языке PSL Полноценная интерпретация Упрощенная интерпретация

always f always f=Gf Vk,0 < k < л , лk |= f ^ 1 Единственный результат always f = foreach k, f Vk,0 < k < л, К |= f ^ 1,..., л, |= f ^ 1,...} Множественный результат

never f never f=!(always f) 3k,0 < k < л|, л,, И f Нет ограничений на операнд never f = foreach k !(f) Vk,0 < k < л, {л0 |И f ^ 1,...,л, |и f ^ 1,...} Операнд может быть только булевым выражением или последовательностью

eventually! f eventually! f = F f 3k,0 < k < л, л, |= f Нет ограничений на операнд, путь на котором операнд справедлив должен существовать eventually! f = {[*]; f} Операнд может быть только булевым выражением или последовательностью, удовлетворяющий путь может не существовать

f until! g f until! g = [f U g] 3j,0 < j <|л|, К g } 1 [л0..i |= f, Vi,0 < i < j Нет ограничений на операнды f until! g = {f[*];g} Первый операнд может быть только последовательностью или булевым выражением, а второй -только булевым выражением

Предлагаемые простым подмножеством ограничения делают невозможными запись полезных высокоуровневых составных утверждений, например PSL-формулы «always f || never g» (либо формула f справедлива всегда, либо формула g не удовлетворяется ни на одном из вычислительных путей). Проверка такого утверждения невозможна с учетом упрощений для PSL-операторов always и never.

Гибкость структур данных и их близость к понятиям LTL-логики в предлагаемой алгоритмической модели DRTLQ в виде ассерций глобального времени делает возможным интерпретацию семантики LTL-формул без упрощений простого подмножества. Также ассерции глобального времени не накладывают описанных выше ограничений на формулы-операнды. Ничего не изменяя в основном принципе верификации LTL-формул, приведенном в соотношении (13), предлагаемое решение обеспечивает полноценный результат верификации за счет более высокоуровневого и компактного представления сложных темпоральных операторов.

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

3. Реализация ассерций глобального времени на основе модели DRTLQ

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

Пусть имеется следующее утверждение на языке PSL:

property p = always {a;b} |=> {[*2]; c}; означающее, что для всех вычислительных путей последовательность событий a=1 на первом такте, b=1 на следующем такте должна сопровождаться событием c=1 по прошествии трех тактов. Ниже представлена математическая интерпретация данной формулы:

П k 1= a

k..|= p. (14)

п к+1 1= Ь п к +4 1= с

к+1 I* Ь _

к И а

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

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

Как показано на рис. 2 и 3, упрощенная интерпретация стремится заменить высокоуровневый темпоральный оператор always и оператор последовательностной импликации |=> на эквивалентные элементы булевого и последовательностного уровней. Решения на основе модели конечных автоматов таким образом сдерживают рост количества состояний и переходов в модели, который бы неизбежно возник при полноценной интерпретации формул. Для модели DRTLQ, характеризующейся линейной структурной сложностью, данное упрощение не оказывает столь значительного влияния на производительность анализа. Тем не менее, режиму глобального времени свойственно улучшение производительности анализа по сравнению с простым подмножеством LTL, реализованным на базе DRTLQ.

Рис. 2. Упрощенная интерпретация темпоральной формулы в модели DRTLQ

Рис. 3. Полноценная интерпретация темпоральной формулы в модели DRTLQ

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

Ниже представлены результаты моделирования на одинаковом тест-векторе в двух режимах (табл.2). Как показано в примере, в упрощенном режиме для 6 векторов имеется 6 ответов об удовлетворении формулы, ответ для вычислительного пути, начинающегося с первого такта, является отрицательным, в то же время для последующих вычислительных путей результат положительный. В режиме глобального времени имеется единственный отрицательный результат, поскольку на 5 такте выясняется ошибка на первом вычислительном пути, и дальнейшая обработка не имеет смысла.

Таблица 2. Сравнение результатов верификации модели на тест-векторе в режимах упрощенной и

полноценной интерпретации линейных темпоральных формул

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

# a b c simple global time

1 1 0 1 - -

2 1 1 0 - -

3 1 1 1 - -

4 0 0 0 P3 P4 -

5 0 0 0 F1 P5 F0

6 0 0 1 P2 P6 -

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

property p = eventually! {a;b;c}; утверждающая, что хотя бы однажды за время моделирования выполнится описанная последовательность-операнд. На рис. 4 и 5 показано представление данной формулы в упрощенном и полноценном режимах соответственно.

Рис. 4. Упрощенная интерпретация оператора eventually! в модели DRTLQ

Рис. 5. Полноценная интерпретация оператора eventually! в модели DRTLQ Эквивалентную роль повторной активации последовательности-операнда по завершению анализа неудачного вычислительного пути играют бесконечная очередь #[0..] в упрощенной модели и простое темпоральное свойство в полноценной модели соответственно. При идентичном функциональном поведении режимов интерпретации использование очереди с бесконечным интервалом требует большего объема вычислительных ресурсов, поскольку генерирует на каждом такте дополнительные связи по правой цепочке между транспортируемыми событиями. Вариант глобального времени здесь лишь блокирует верификацию при появлении успешного события, не накапливая никаких дополнительных данных в памяти.

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

Например, такое PSL-утверждение property p = a until {b[*2]};

(левый операнд until может быть только булевым) следует интерпретировать как property p = {a[0:?];{b[*2]}};

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

Рис. 6. Представление оператора until с ограничениями простого подмножества

Интерпретация семейств операторов until и before в режиме глобального времени не проявляет таких проблем: внутри соответствующих темпоральных свойств заложен алгоритм логарифмической сложности, обрабатывающий номера тактов завершения отдельно проанализированных свойств-операндов (разумеется, какие-либо ограничения на подмножество языковых конструкций на операнды в режиме глобального времени отсутствуют).

4. Выводы

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

Время одной итерации верификации при типичной интерпретации LTL-формул можно грубо оценить следующим соотношением:

NCLK X (tSIM + N a X tev ) , (15)

где NCLK - число тактов моделирования; tSIM - среднее время моделирования одного такта; NA - число ассерций в модели; tev - среднее время обработки ассерции на одном такте. Следует отметить, что это суммарное время одинаково вне зависимости от результатов верификации. В режиме глобального времени соотношение изменяется:

_ na _

n MA^X x tsiM +z n Clk x t ev.

'CLK

i=1

(16)

Здесь число тактов моделирования может быть меньше и соответствует максимальному числу тактов, необходимому для выявления единственного ответа для каждой из ассерций. Это число различно для каждой из них. Кроме того, за счет более легковесных структур данных в режиме глобального времени типичное время анализа ассерции на одном такте будет меньше. Сравнивая соотношения (15) и (16), можно сделать такие выводы:

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

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

Многие программные решения в данной области, популярные на рынке EDA и функционирующие на основе модели конечных автоматов, значительно уступают предложенному подходу по производительности вычислений (от 25 до 500% в зависимости от характера

формул) и по эффективности локализации ошибок, что очевидно имеет существенное влияние на уменьшение параметра time-to-market.

Таким образом, в ходе исследования были решены поставленные задачи:

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

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

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

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

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

Список литературы: 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. Bening L., Foster H. Principles of Verifiable RTL Design, second edition, Kluwer Academic Publishers, 2001. 281p. 4. Rashinkar P., Paterson P., Singh L. System-on-chip Verification: Methodology and Techniques, Kluwer Academic Publishers, 2002. 393p. 5. 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. 6. Foster H., KrolnikA., Lacey D. Assertions-based Design Kluwer. Academic Publishers, 2003. 392p. 7. Yeung P. The Four Pillars of Assertions-Based Verification. Mentor Graphics Corporation, EuroDesignCon 2004. 21p. 8. Kloss C., Chao D. Coverage and Assertion-Based Verification Coverage Based DV from Testplan to Tapeout using generation and RTL Assertions", DVCon 2004. 9. Rose A., Swan S., Pierce J., Fernandez J.-M. Transaction Level Modeling in SystemC. 2004. White paper. www.systemc.org. 10. DrechslerR. Advanced Formal Verification // Kluwer Academic Publishers. 2004. 277p. 11. KeatingM., BricaudP. Reuse methodology manual for system-on-chip designs // 2nd edition, Kluwer Academic Publishers. 2000. 279p. 12. IEEE-1850 "IEEE Standard for Property Specification Language (PSL)", 2005. 143p. 13. IEEE-1800 "IEEE Standard for System Verilog Language", 2005. 586p. 14. Zaychenko S., Hahanov V., Zaharchenko O. Dynamic Register Transfer Level Queues Model for High-Performance Evaluation of the Linear Temporal Constraints // Proc. of East-West Design & Test Workshop 2006. Sochi, Russia. Р. 132-139. 15. EmersonE.A. Temporal and modal logic // In J. Van Leeuwen, editor, "Handbook of Theoretical Computer Science", Elsevier Science Publishers, 1990. Vol. B. Р. 996-1072. 16. Clarke E.M.Jr, Grubmerg O., PeledD.A. Model Checking // The MIT Process. 2002. 314 p. 17. Havlicek J., Fisman D., Eisner C. Basic Results on the Semantics of Accellera PSL 1.1 Foundation Language // Accellera Technical Report, 2004. 57p.

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

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

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