Научная статья на тему 'МЕТОДИ ВЕРИФІКАЦІЇ ТЕМПОРАЛЬНИХ ВЛАСТИВОСТЕЙ ЦИФРОВИХ АВТОМАТІВ'

МЕТОДИ ВЕРИФІКАЦІЇ ТЕМПОРАЛЬНИХ ВЛАСТИВОСТЕЙ ЦИФРОВИХ АВТОМАТІВ Текст научной статьи по специальности «Математика»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
System Verilog / formal verification / functional verification / System Verilog assertions / assertion / property / functional coverage

Аннотация научной статьи по математике, автор научной работы — Пшеничний Кирило Юрійович, Хаханова Ганна Володимірівна

Для верифікації HDL-моделей пристроїв реального часу пропонується застосовувати механізм властивостей та асерцій мови System Verlog. Обґрунтовується доцільність механізму властивостей для більш вичерпного та ретельного тестування. Застосування цих підходів ілюструється конкретним прикладом.

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

Похожие темы научных работ по математике , автор научной работы — Пшеничний Кирило Юрійович, Хаханова Ганна Володимірівна

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

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

УДК 681.326

МЕТОДИ ВЕРИФ1КАЦП ТЕМПОРАЛЬНИХ ВЛАСТИВОСТЕЙ ЦИФРОВИХ АВТОМАТ1В

ПШЕНИЧНИЙК.Ю., ХАХАНОВА Г.В._

Для верифкацп HDL-моделей пристро!в реального часу пропонуеться застосовувати мехашзм властиво-стей та асерцш мови System Verlog. Обгрунтовуеться доцшьшсть механiзму властивостей для бiльш вичерп-ного та ретельного тестування. Застосування цих тд-ходiв iлюструеться конкретним прикладом. Ключовi слова: System Verilog, formal verification, functional verification, System Verilog assertions, assertion, property, functional coverage. 1. Вступ

Вщомо, що пристро! логiчного управлiння, побу-доваш на 0CH0Bi автоматного шаблону, функщонують в автоматному часi. Автоматним часом е дискретнi вiдрiзки часу, за яК автомат переходить з одного стану в iнший. Тривалють автоматного такту, як правило, визначаеться частотою синхросигналу. Проте, з шшого боку, пристро! лопчного керування являють собою си-стеми керування реального часу, i переходи мiж станами визначаються часовими параметрами алгоритму функщонування.

Для внесення реального часу в опис структурного автомату використовуеться розширена функцiя переходiв (1), в якш аргументом виступае реаль-ний час [3]:

Z(t+1)= f(X(t),Z(t),T), (1)

де X(t) - функцiя входiв; Z(t) - стан автомата в поточному такпв; T - поточний такт. Граф, який описуе функщонування автомата реального часу, називаеться темпоральним графом переходiв (рис. 1). В такому графi кожна вершина мае затримку T, впродовж яко! автомат перебувае в даному сташ. Затримку в кожнiй вершиш темпорального графа реалiзують за допомогою переходу в той же самий час впродовж певного часу. В ПЛ1С це реалiзуеться за допомогою лiчиль-никiв, в мшроконтролерах — за допомогою тай-Mepie з перериванням.

count < Т -1

Рис. 1. Реалiзацiя затримок в темпоральному графi автомата Мура

Мета дослщження - розробка та обгрунтування верифiкацiйних моделей на базi асерцiй для HDL-моделей пристро!в реального часу.

Задач1:

- аналiз моделювання реального (метричного) часу на рiвнi HDL-опису;

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

- порiвняння розроблених моделей.

2. Два напрями верифжацп

Вичерпним джерелом функцiональних вимог е специфшащя. На основi специфшацп iнженер створюе тестовi набори. Класичний шдхщ ве-рифшацн полягае у написанш тесту, моделюваннi та аналiзi результатiв. У разi виявлення неправильно! поведшки iнженер аналiзуе часовi дiаграми та шукае потенцiйне мюце помилки в HDL-описi. Головним недолгом такого пiдходу е час, який шженер мае витрачати на виявлення, по-шук та виправлення несправностг Для значного зменшення цього часу юнуе механiзм властивостей (property). Головна щея даного пiдходу полягае у явному вираженш певних характеристик дизайну за допомогою спещальних мов (SVA, PSL). Таю характеристики е правилами коректного функщонування пристрою. У разi !х порушення середовище моделювання видае вiдповiдне по-вiдомлення, що мiстить час та опис порушено! властивостг

3. Приклад автоматноТ моделi пристрою реального часу

Розглянемо модель пристрою для лопчного керування дорожним свгглофором. На рис. 2 представлено граф переходiв даного пристрою керування.

дорожним свгтлофором 1нтерфейс даного пристрою складасться з двох множин сигналiв:

— множина вхiдних сигналiв {Опп, St}, де Опп {0, 1} — включення свiтлофора, St {0, 1} — сигнал запуску стандартного циклу роботи;

— множина вихщних сигналiв {Я, Y, G}, де R — сигнал включення червоного св^ла, Y — сигнал включення жовтого св^ла, G — сигнал включення зеленого св^ла.

Пристрiй мае два цикли роботи:

— шчний (аварiйний) — блимання жовтим кольо-ром з штервалом Т1;

— стандартний цикл роботи {Y - R - Y - G -Y} i3 затримкою в станах R та G T2 такпв, а в сташ Y — Т1.

Головною особливiстю HDL-реалiзащl автомат-них моделей реального часу е наявнiсть лiчиль-никiв. Данi лiчильники пiдраховують кiлькiсть тактiв, впродовж яких автомат перебувае в пев-ному сташ. Для дано! моделi T1 дорiвнюе 1 такту, T2 — 5 тактам (рис. 3).

reg [2:0] count, countl; parameter T1 = З'ЬОЮ; parameter T2 = 3'blOl;

Рис. 3. Декларацiя лiчильникiв та затримок на мовi SystemVerilog

При переходах мiж станами необхщно врахо-вувати значення лiчильникiв. Дана перевiрка ви-ражае умову реального часу. На рис. 4 наведено приклад реалiзацil такого переходу мiж станами a2 та a3.

а2: begin

if(count < Tl - 1) begin nextstate = а2; countl = countl + l'bl; end

else if(!onn || 1st) begin nextstate = al; countl = 3'bOOO; end else begin

nextstate = a3; countl = 3'b000; end

end

Рис. 4. Приклад реалiзащl переходiв мiж двома станами з урахуванням значень лiчильника

4. Вериф1кац1я темпоральних характеристик за допомогою миттевих асерцш

Верифiкацiя за допомогою миттевих асерцiй по-лягае у перевiрцi значення репстру стану впро-довж певного часу затримки. Впродовж цього часу (певно! кiлькостi тактiв) регiстр мае збертати одне значення. На рис. 5 наведено приклад реалiзацil тако! перевiрки на мовi SystemVerilog.

Синхросигнал

Рис. 5. Послвдовшсть логiчних подш для перевiрки темпоральних властивостей автомата

Пiд час кожного переднього фронту синхросигналу необхщно перевiрити, що автомат перебувае у бажаному сташ та внутршнш лiчильник перебувае у початковому сташ. Це перевiрка показуе,

що автомат щойно перейшов в даний стан. Далi необхiдно перевiрити, що стан не змшюеться впродовж N-1 такпв. Для цього використовуеться конструкцiя assert.

У разi порушення дано! умови середовище моде-лювання видасть вщповщне повiдомлення. Даний метод мае таю недолши:^

— неявнiсть вираження властивосн дизайну;

— неможливiсть використання такого шдходу з формальними середовищами верифшаци;^

— вiдсутнiсть способу перевiрки активiзацil ве-рифiкацiйного коду (виконання умови кон-струкцн if).

5. Верифжащя темпоральних властивостей за допомогою паралельних асерцш

Бажану темпоральну властивiсть можна описати натуральною мовою так: якщо автомат перейшов зi стану а1 в стан а2, то вiн мае перебувати у сташ а2 N-1 такт та перейти у стан а3. 1ншими словами, властивють складаеться з трьох логiчних частин: передумова, цикл та наслщок. На рис. 6 представлено три складовi перевiрки темпорально1 властивостi мiж станами a3 та a4 на мовi SystemVerilog Assertions (SVA).

sequence Red2YellowPrecondition;

(Spast(state) == a2) && (state == a3); endsequence

sequence Red2YellowStay;

(state == аЗ) [*4]; endsequence

sequence Red2YellowPostCondition;

state == a4; endsequence

Рис. 6. Складовi темпорально! властивостi на MOBi SVA

Red2YellowPrecondition — послiдовнiсть, що опи-суе передумову властивостi. Вбудована функщя $past повертае значення регiстру state на попе-редньому тактi. Для дано1 властивостi попереднiм станом мае бути стан а2.

Red2YellowStay — послщовнють, що описуе за-тримку у сташ а3. Оператор [*4] вказуе, що вираз (state == a3) мае повертати логiчне значення "1" впродовж 4 такпв.

Red2YellowPostCondition — послiдовнiсть, що описуе наступний стан автомата шсля затримки. ^ Далi необхiдно об'еднати описанi вище послщов-ностi у конструкцiю property за допомогою спещальних операторiв. Приклад тако1 кон-струкцп наведено на рис. 7.

property Red2Yellow;

@(posedge elk) disable iff (!onn II 1st I reset) Red2YellowPrecondition |=> Red2Yel1owStay ##1 Red2Yel1owPostcondi ti on; endproperty

Рис 7. Конструкцiя property для nepeBipKH темпоральних властивостей

Конструкщя property Red2Yellow встановлюе вiдношення мiж трьома послiдовностями. Пiд час кожного переднього фронту синхросигналу clk перевiряеться послщовшсть-передумова

Red2YellowPrecondition. Якщо ця умова викона-лася — пiд час кожного наступного переднього фронту синхросигналу вщбуваеться перевiрка за-тримки у сташ a3 за допомогою послщовност Red2YellowStay. Останньою послiдовнiстю у цш властивостi е перехiд у стан а4 — послiдовнiсть Red2YellowPostcondition.

На рис. 8 рiзними кольорами позначено момент обчислення певно! послiдовностi, а саме: червоним — Red2YellowPrecondition, зеленим — Red2YellowStay,

властивостей

Варто зауважити, що ця властивiсть описуе стан-дартний цикл роботи автомата, тобто коли сиг-нали onn та st мають логiчне значення '1'. OKpiM того, автомат у будь-який момент може бути вста-новлений у початкове положення за допомогою сигналу скидання reset. Yci щ умови виражаються за допомогою конструкци disable iff. Якщо вико-нуеться лопчна умова у тiлi disable iff, обчислення ушх послщовностей буде завершено. Далi необидно задати перевiрку властивостi. Оскiльки властивiсть носить темпоральний характер, використовуеться мехашзм паралельних асе-рцiй (concurrent assertion). О^м ретельно! ве-рифiкацiï, асерцп можуть надавати вичерпну ш-формащю щодо покриття функцiональностi пiд час тестування. Для ща задачi використовуеться мехашзм cover property (рис. 9), який надасть таку шформащю юлькосп:

— спроб вирахувати властивiсть;

— усшшних проходжень властивостi;

— невдалих проходжень властивостi;

— "вакуумних усmхiв" властивостi (не було акти-вовано послщовшсть Red2YellowPrecondition).

assert property (Red2Yellow); cover property (Red2Yellow); Рис. 9. Дсфшщя паралельшн асерцп

Механiзм паралельних асерцш дае такi переваги:

— явне вираження властивостi дизайну завдяки прив'язщ до подiй синхросигналу як засобу вира-ження часу;

— можливють використання як з динамiчними, так i з формальними середовищами верифiкацiï;

— можливють проаналiзувати статистику спрацювань верифшацшного коду за допомогою шформацп про покриття. Висновки

Розглянуто та проведено дослщження методiв ве-рифшаци темпоральних характеристик моделей пристро1в реального часу.

Запропоновано та обгрунтовано апарат темпоральних властивостей як зашб вираження часових вимог. Доведено, що використання мехашзму паралельних асерцiй дае таю переваги: 1) змен-шення часу локалiзацil помилок у HDL-описц 2) можливiсть використання даного шдходу як з ди-намiчними, так i з формальними середовищами верифшаци; 3) наявнiсть механiзму перевiрки ак-тивiзацil верифiкацiйного коду. Лiтература:

1. Harry D. Foster, Adam C. Krolnik, David J. Lacey. Assertion-Based Design. New York: Springer US. 2005. 390 p. 2. Srikanth Vijayaraghavan, Meyyappan Ramanthan. A Practical Guide for SystemVerilog Assertions. New York: Springer US, 2005. 333 c. 3. ШкильА.С., КулакЭ.Н., Филиппенко И.В., Кучеренко Д.Е., Гога М.В. Автоматизированное проектирование систем логического управления с использованием шаблонов автоматного программирования // Радиоэлектроника и информатика. 2018. №3 С. 75-81. Transliterated Bibliography:

1. Harry D. Foster, Adam C. Krolnik, David J. Lacey. Assertion-Based Design. New York: Springer US, 2005. 390 p.

2. Srikanth Vijayaraghavan, Meyyappan Ramanthan. A Practical Guide for SystemVerilog Assertions. New York: Springer US, 2005. 333 p.

3. Shkil A.S., Kulak E.N., Filippenko I.V., Kucherenko D.E., Goga M.V. Avtomatizirovannoe proektirovanie sistem logicheskogo upravleniya s ispolzovaniem shablonov avtomatnogo programmirovaniya // Radioelectronics & Informatics. 2018. #3 P. 75-81.

Надшшла до редколегп 11.09.2019 Рецензент: д-р техн. наук, проф. Кривуля Г.Ф. Пшеничний Кирило Юршович, мапстрант кафедри АПОТ ХНУРЕ. Науковi штереси: проектування та ве-рифiкацiя цифрових систем. Адреса: Украша, 61166, Харюв, пр. Науки, 14. E-mail:

kyrylo.pshenychnyi@nure.ua

Хаханова Ганна Володимiрiвна, канд. техн. наук, доцент кафедри АПОТ ХНУРЕ. Науковi штереси: стис-нення та ввдновлення двшково! шформацп. Адреса: Украша, 61166, Харшв, пр. Науки, 14. e-mail: anna.hahanova@nure.ua

Pshenichny Kirill Yuryevich, Master Student, Design Automation Department, NURE. Scientific Interests: design and verification of digital systems. Address: Ukraine, 61166, Kharkov, Nauky Ave, 14, e-mail: kyrylo.pshenych-nyi@nure.ua

Khakhanova Anna Vladimirovna, PhD., Associate Professor, Design Automation Department, NURE. Scientific Interests: compressed and binary information recovery. Address: Ukraine, 61166, Kharkov, Nauky Ave., 14, email: anna.hahanova@nure.ua

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