Шерекін Олександр Олександрович

Факультет: Комп'ютерні науки та технології
Кафедра: Комп'ютерна інженерія
Спеціальність: Комп'ютерні системи та мережі
Тема випускної роботи: Верифікація систем на кристалі на базі технології Boundary Scan
Керівник: к.т.н., доцент Зінченко Юрій Євгенович
Реферат з теми випускної роботи магістра
Верифікація систем на кристалі на базі технології Boundary Scan
Зміст

  1. Актуальність роботи
  2. Аналіз проблеми
  3. Цілі і завдання
  4. Огляд досліджень та розробок з теми
  5. Результати, отримані на момент написання реферату
  6. Література

Актуальність роботи

Процес розробки систем на кристалі (СнК) є тривалим і складним. Він вимагає зусиль великої кількості людей, які проектують як апаратну, так і програмну частину СнК. Через те, що до цього процесу залученно значну кількість проектувальників, поява помилок має досить високу ймовірність. Але найважливішою характеристикою будь-якого продукту є його надійність. Пристрій повинен працювати відповідно до очікувань користувача. Тому одним з етапів процесу розробки СнК є етап верифікації проекту і виявлення помилок. Верифікація і тестування займає в сумі близько 60% від усього часу проектування, що доводить їх важливість [1].

Сучасні темпи розвитку технологій вимагають аналогічного розвитку методів верифікації та тестування. Одним з найбільш поширених способів верифікації був метод зонда, що керується, коли який-небудь аналізатор — зонд — переставляється з однієї частини схеми на іншу і аналізує значення в тій чи іншій частині схеми, роблячи висновок про наявність чи відсутність несправності та правильність роботи схеми.Такий спосіб можна було легко застосовувати для малих та середніх інтегральних схем. Зі збільшенням щільності елементів у схемах, отримати безпосередній доступ до всіх необхідних для аналізу точкам схеми не було можливо, що призвело до необхідності пошуку кардинально нового способу верифікації. І він був знайдений — в 1990 році був прийнятий стандарт IEEE 1149.1-1990 Boundary Scan (BS) [2]. Основною функцією BS було тестування між’єднань інтегральних схем, а також логічних блоків всередині цих схем. Але крім цього даний стандарт виявився придатним для виконання верифікації, відлагодження і тестування, тому що надавав можливості виводити назовні і спостерігати за внутрішніми сигналами схеми.

Аналіз проблеми

Які ж особливості внесла технологія BS в сферу верифікації та тестування? Яким чином робиться доступним спостереження за внутрішніми сигналами схеми, що тестується?

Основою технології BS є додаткова надбудова, яка впроваджується в проект. Функціональний склад цієї надбудови складається з наступних елементів [3]:

  1. контролер TAP (Test Access Port) — центральний блок управління протоколом BS
  2. регістр команд — регістр, в який записується поточна команда, що виконується
  3. регістр ідентифікації — регістр, який містить ідентифікаційний номер пристрою, що використовує BS
  4. регістр обходу — регістр, який використовується для відключення системи BS в поточному пристрої
  5. основна схема, оточена периферією BS
  6. регістр граничного сканування — послідовний ланцюг зсувних регістрів, з'єднаних, з одного боку, з зовнішніми входами / виходами інтегральної схеми, а з іншого — зі внутрішніми сигналами основної схеми, що тестується

Також стандарт BS включає п'ять сигналів для управління протоколом::

  1. TDI — послідовне введення даних
  2. TDO — послідовне виведення даних
  3. TMS — управління станом контролера TAP
  4. TCK — синхронізація
  5. TRST — необов'язковий – скидання
Описана структура приведена на рисунку 1.

Узагальнена схема ІС, яка містить структуру BS
Рисунок 1 — Узагальнена схема ІС, яка містить структуру BS

Ще одним нововведенням технології BS стала мова опису структур граничного сканування (BSDL — Boundary Scan Description Language). Дана мова використовується для комп'ютерно-орієнтованого опису структури BS обраної ІС та особливостей застосування даної конкретної структури. Файли, написані на цій мові, використовуються в системах автоматичної генерації тестів [4]. BSDL-надбудова може бути автоматично додана до проекту на різних етапах його існування: до виконання процесу синтезу або після нього.

Розглядаючи продукти і засоби для верифікації за допомогою BS, що надаються фірмою Xilinx, слід звернути увагу, перш за все, на систему Chip Scope Pro, яка включає:

  1. Core Generator — генератор IP-ядер (Intellectual Property Core), реалізує механізм взаємодії з BS. До початку процесу синтезу дана утиліта доповнює код проекту кодом BSDL-надбудови, яка може включати такі складові, як ILA (Integrated Logic Analyzer), ICON (Integrated Controller), VIO (Virtual Input Output), ATC2 (Agilent Trace Core 2), IBA (Integrated Bus Analyzer) та інші
  2. Core Inserter — засіб за функціональністю аналогічний Core Generator, але додавання IP-ядер виконується не перед синтезом проекту, а після нього
  3. Core Analyzer — аналізатор IP-ядер, використовується для спостереження за внутрішніми сигналами схеми, що верифікується

Найбільш важливими IP-ядрами, що входять до складу BSDL-надбудови, є ICON,ILA та VIO.

ICON забезпечує інтерфейс між BS-компонентами на ПЛІС і системою Chip Scope Pro. ICON дозволяє підключати такі IP-ядра, як ILA, VIO, в кількості не більше 15 а забезпечує зв'язок TAP-контролера BS з цими ядрами [5].

ILA — логічний аналізатор, що може налаштовуватися. Він використовується для спостереження за станом внутрішніх сигналів схеми, що верифікується. ILA має 16 тригерних портів, кожен з яких складається максимум з 256 сигналів (кількість налаштовується). Процес отримання та збереження даних від підключеної схеми відбувається автоматично при запуску ядра. Але сам момент запуску може бути налаштований необхідним чином. Умовою запуску ядра може бути будь-яка логічна функція, складена з підключених до ядра сигналів. Як тільки зазначена функція буде мати значення істини, всі сигнали з аналізованої схеми будуть записані у внутрішню RAM ILA і передані через ICON та порт JTAG на комп'ютер, де можуть бути відображені в системі Chip Scope. Рисунок 2 показує підключення ILA та ICON [6].


Підключення IP-ядер ILA и ICON
Рисунок 2 — Підключення IP-ядер ILA и ICON

VIO дозволяє спостерігати і керувати внутрішніми сигналами схеми, що тестується. VIO має 2 види вхідних і вихідних сигналів — синхронні та асинхронні. У кожній групі може бути від 1 до 256 сигналів. На відміну від ILA, VIO не використовує пам'ять для збереження значень в точках схеми, за якими ведеться спостереження. Група синхронних сигналів використовує внутрішню синхронізацію схеми, група асинхронних синхронізується сигналом від порту JTAG. Вхідні сигнали передаються в аналізатор і відображаються у вигляді діаграми. Вихідні сигнали задаються користувачем і передаються всередину схеми. Рисунок 3 показує підключення VIO та ICON [7].


Підключення IP-ядер VIO и ICON
Рисунок 3 — Підключення IP-ядер VIO и ICON

Після розгляду інструментарію, який використовується для верифікації і тестування проектів на базі ПЛІС від Xilinx, слід також визначити місце верифікації в загальному процесі проектування (рис. 4).


Верифікація в загальному процесі проектування
Рисунок 4 — Верифікація в загальному процесі проектування
(зображення www.chipinfo.ru)

На початку для реалізації будь-якого проекту, знаючи вимоги, що пред'являються до нього, необхідно розробити еталонну модель, відповідно до якої буде перевірятися остаточний пристрій. Тому на першому етапі створюється поведінкова модель, виходячи із специфікації проекту. Вона моделюється, перевіряється правильність її роботи. Після цього виконується синтез — еталонна модель готова. Окремо від цього виконується створення нової моделі, але вже не в поведінковому, а в структурному, або регістровому (RTL — Register Transfer Level), стилі. На наступному кроці виконується порівняння двох моделей, поведінкової та регістрової. У разі якщо моделі працюють неоднаково, виконується додаткове налагодження регістрової моделі до тих пір, поки робота обох моделей не буде ідентичною. Після цього виконується генерація тестів, які покриють максимальну кількість різноманітних помилок. На даному етапі необхідно зробити вибір на користь того чи іншого алгоритму верифікації і способу генерації тестів. Після закінчення формування тестових впливів і моделювання роботи еталона при подачі їх на схему виконується аналіз покриття тестів. Якщо він не задовольняє вимогам, що пред'являються до проекту, тоді або вибирається інший метод верифікації, або збільшується кількість тестів. Коли цей процес завершиться, виконується занурення синтезованої моделі в ПЛІС, прогонка отриманих тестів і перевірка, чи відповідають результати роботи реальної схеми еталону.

Цілі і завдання

Метою даної роботи є розробка методу верифікації систем на кристалі на базі Field Programmable Gate Array (FPGA). Розроблена схема повинна відповідати описаній вище структурі проектування, але більш конкретно розкривати сутність кожного етапу і оптимізувати та полегшити процес тестування та верифікації проектів. Схема, що розробляється, повинна брати до уваги особливості використовуваної технології Boundary Scan і засобів верифікації від Xilinx, ефективно використовувати всі їхні переваги. За допомогою розробленої структури показати весь процес верифікації на прикладі конкретного пристрою.

Огляд досліджень і розробок з теми
Матеріали магістрів ДонНТУ

Національний рівень

На сайті мого наукового керівника (Hard Club) можна дізнатися про наукові роботи в галузях, близьких до теми магістерської роботи.

Глобальний рівень

Тематика, визначена в назві магістерської роботи, є, з одного боку, актуальною в світі, але з іншого боку, основна маса робіт по темі не надаються у відкритому доступі. Доступ надається лише до коротких оглядів статей. З невеликої кількості доступних матеріалів варто звернути увагу на публікації [8] та [9]. У першій з цих публікацій описується вдосконалена структура BS-регістрів, яка дозволяє економити місце на кристалі за рахунок зменшення кількості внутрішніх регістрів, що використовуються, а також прискорити роботу BS, за рахунок розпаралелювання процесу обміну даними. У другій публікації описується новий метод для виявлення несправностей в PLD (Programmable Logic Device) і FPGA, використовуючи технологію BS. З російськомовних джерел слід виділити статтю [10]. У зазначеній статті описуються сучасні засоби функціональної верифікації.

Результати, отримані на момент написання реферату

На даний момент була розроблена структура, згідно з якою буде виконуватися подальша верифікація проекту. Структура розробленої схеми наведена на рисунку 5.


Схема верифікації систем на кристалі на базі FPGA
Рисунок 5 — Схема верифікації систем на кристалі на базі FPGA

Наведену структуру можна розділити на кілька основних частин / етапів виконання перевірки:

  1. Вибір HDL-редактора. Перш за все, треба визначитися з редактором, в якому буде створена еталонна модель
  2. Формування бази даних тестів (БДТ). Тести, які будуть подаватися на еталонний пристрій і на пристрій, що розробляється, для того, щоб переконатися в їх ідентичності
  3. Симуляція еталонного об'єкта. Подача розроблених тестів на налагоджену модель. Результатом цього процесу є база еталонних тестових реакцій
  4. База еталонних тестових реакцій (БЕТР). З нею буде виконуватися порівняння результатів роботи об'єкта, що верифікується. Симулятор, база даних тестів і база еталонних тестових реакцій об'єднуються в один блок TBG — Test Bench Generator
  5. BSDL-надбудова. IP-ядра, що надаються розробниками FPGA, для вбудовування в СнК вимагають спеціального апаратного засобу для отримання можливості доступу до внутрішніх сигналів проекту через порт JTAG. В якості такого засобу буде використана технологія Boundary Scan. Разом з BSDL-надбудовою в проект занурюється також компаратор, засіб для порівняння результатів роботи схеми, що тестуэться та еталону
  6. Синтез та налагодження отриманої моделі. Після виконання процесу синтезу САПР змінює вихідну модель для подальшої прошивки в FPGA. Після такого перетворення завжди треба виконувати симуляцію і порівняння результатів з БЕТР. У разі присутності помилок вихідна HDL-модель корегується
  7. Модуль пошуку помилок (МПО)
  8. Блок модуля побудови графа пошуку помилок (МП ГПП). Даний блок, виходячи з інформації, що зберігається в блоці TBG, і використовуючи можливості МПО, формує базу даних графів пошуку помилок (БД ГПП). Саме цей блок має визначальне значення для якості верифікації та покриття тестами. Граф пошуку помилок повинен бути оптимізований таким чином, щоб виконуючи мінімально можливу кількість перевірок, локалізувати джерело помилки
  9. Накопичувач еталонних тестових реакцій (ЕТР). Зберігає дані, що є результатом роботи МП ГПП
  10. Прошивка FPGA за допомогою інтерфейсу JTAG
  11. Запуск проекту. На схему автоматично будуть подаватися тестові впливи і порівнюватися з БЕТР. У разі невідповідності результатів, буде активізовано алгоритм пошуку помилок і видані результати про несправний компонент

Перевагами такого підходу є невеликий об'єм трафіку, що передається між FPGA і персональним комп'ютером через те, що аналіз контрольних точок буде виконуватися всередині ПЛІС, і швидкий доступ до контрольних точок.

До недоліків можна віднести неможливість легкої заміни алгоритму пошуку помилок, тому що він жорстко зашитий в ПЛІС і для його заміни необхідно перепрошити ПЛІС. Але з іншого боку, перепрошивка не є складним процесом, що дозволяє говорити про цю структуру як про рекомендовану до використання.

Література
  1. Megratec. Mentor Graphics Technology [Электронный ресурс] — Электрон. дан. — 2011. — Режим доступа: http://www.megratec.ru/catalog/16
  2. IEEE Standart Test Access Port and Boundary-Scan Architecture, IEEE Std. 1149.1-1990, Joint Test Action Group (JTAG), Institute of Electrical and Electronic Engineers (IEEE), New York, May 21, 1990.
  3. Городецкий А., Курилан Л. Введение в технологию граничного сканирования // Производство электроники. — 2007. — №5. — С. 1-5.
  4. Городецкий А., Курилан Л. Язык описания структур граничного сканирования // Производство электроники. — 2007. — №7. — С. 1-6.
  5. LogiCORE IP ChipScope Pro Integrated Controller (ICON) (v1.05a) Data Sheet. June 22, 2011
  6. LogiCORE IP ChipScope Pro Integrated Logic Analyzer (ILA) (v1.04a) Data Sheet. June 22, 2011
  7. LogiCORE IP ChipScope Pro Virtual Input/Output  VIO) (1.04a) Data Sheet. June 22, 2011
  8. Xiaojun M., Jiarong T. Boundary-scan Test Circuit Designed for FPGA / M. Xiaojun, T. Jiarong // 5th International Conference on ASIC. Proceedings, 21-24 October 2003. — 2003. — P. 1190-1193.
  9. Bashar A.K. A Test Procedure for Boundary Scan Circuitry in PLDs and FPGAs // The International Arab Journal of Information Technology. — 2010. — №2. — P. 124-128.
  10. Лохов А. Обзор средств функциональной верификации компании Mentor Graphics // Современная электроника. — 2005. — №5. — С. 50-54.

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: грудень 2012. Повний текст роботи та матеріали з теми можуть бути отримані у автора або його керівника після зазначеної дати.