Реферат по теме выпускной работы

Содержание

Введение

Процесс проектирования цифровых устройств неразрывно связан с понятием верификации. Понятие верификации в общем случае подразумевает под собой проверку совпадения результатов работы разрабатываемого устройства и требований, которые к ним предъявляются. Чтобы представить всю важность верификации достаточно сказать, что она занимает более 60% от общего времени проектирования [1] и привлекает большую часть персонала, работающего над проектом. Большинство существующих методик проектирования цифровых устройств подразумевают верификацию лишь на этапе отладки готового изделия. При таком подходе даже небольшая ошибка, занесенная на ранней стадии, в дальнейшем может привести к более серьезным последствиям, что обычно выражается в дополнительных материальных и временных затратах. При сохранении существующих методик проектирования до 70% ошибок возникает на начальных этапах проектирования и только на этапе отладки готового прибора удается устранить порядка 70% ранее внесенных ошибок [2]. Данная ситуация изображена на рис. 1.

Распределение ошибок при текущей методике проектирования

Рисунок 1 — Распределение ошибок при текущей методике проектирования

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

Сложившаяся динамика развития технологических возможностей

Рисунок 2 — Сложившаяся динамика развития технологических возможностей
(анимация: 6 кадров, 5 циклов повторения, 140 килобайт)

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

1. Актуальность темы

Актуальность проблем верификации проектов цифровых устройств подтверждается как растущим количеством различных встраиваемых FPGA-систем, так и периодичностью выхода публикаций в зарубежных и отечественных изданиях, посвященных проблемам верификации цифровых устройств. Последняя обзорная публикация, посвященная методам верификации, датирована февралем 2012 года [3].

Магистерская работа посвящена актуальной проблеме разработки подхода к верификации FPGA-проектов типа СнК, погруженных в FPGA, направленного на уменьшение общего времени разработки проектов цифровых устройств. В качестве целевого базиса используется отладочные FPGA платы фирмы Xilinx, сочетающие достаточную функциональность, программируемость, реконфигурируемость и доступность широкому потребителю, а инструментальными средствами исследования и проектирования выступают САПР Xilinx ISE, Xilinx EDK, Xilinx ChipScope Pro, Aldec Active-HDL.

2. Цель и задачи исследования, планируемые результаты

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

Основные задачи исследования:

  1. Анализ существующих методик и средств верификации проектов цифровых устройств.
  2. Оценка возможности применения существующих методик верификации цифровых устройств для верификации СнК на базе FPGA.
  3. Оценка возможностей совместного использования существующих методик для достижения большей эффективности верификации.
  4. Исследование возможностей максимизации верификационного покрытия.
  5. Анализ причин возможной верификационной избыточности.
  6. Оценка возможностей применения базовых алгоритмов зондовой диагностики для верификации FPGA-проектов на аппаратном уровне.

Объект исследования: верификация FPGA-проектов.

Предмет исследования: объединение существующих методик верификации проектов цифровых устройств и их адаптация для выполнения верификации FPGA-проектов типа СнК.

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

  1. Разработка методологии верификации проектов цифровых устройств типа система-на-кристалле (СнК), погруженных в кристалл FPGA, направленной на уменьшение общего времени верификации/проектирования.
  2. Определение возможностей совместного использования существующих методик верификации на различных этапах проектирования цифровых устройств на базе FPGA.
  3. Адаптация базовых алгоритмов зондовой диагностики для верификации FPGA-проектов на аппаратном уровне.

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

3. Обзор исследований и разработок

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

3.1 Обзор международных источников

На международной арене первенство в вопросах верификации проектов цифровых устройств принадлежит таким компаниям как Mentor Graphics, Cadence и Accellera.

Компания Mentor Graphics продвигает три основные методологии функциональной верификации: верификация, основанная на использовании ассертов (ABV — Assertion Based Verification), UMV/OVM методологии и верификация, ведомая процессором (Processor-Driven Verification) [4].

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

UVM (Universal Verification Methodology) является первым промышленным стандартом методологии верификации, предоставляющим открытую и единую библиотеку классов и методологию для использования совместимых ядер верификации (Verification IP) и testbench [6]. UVM является разработкой компании Accellera, базирующейся на более ранней методологии OVM (Open Verification Methodology), над которой совместно работали специалисты компаний Mentor Graphics и Cadence. Данная методология является наиболее прогрессивной, текущее состояние исследований в данном направлении отображено на портале Verification Academy [7].

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

Вопросы тестирования встраиваемых систем, базирующихся на ядрах, освещены в статье Е. Зориана [9]. Тестирование СнК, базирующееся на использовании микропроцессора рассмотрено в статье С. А. Папахристова, Ф. Мартина и М. Нурани [10].

Написание testbench для функциональной верификации HDL моделей рассматривается в книге Б. Яника [11]. Средства функциональной верификации подробно рассматриваются в статьях А. Л. Лохова [12-15]. Обзор маршрута проектирования и верификации компании Mentor Graphics, а также средства для формальной верификации рассматриваются в статьях А. Рабоволюка [16-17].

Проектирование и верификация проектов цифровых устройств на основе ПЛИС фирмы Xilinx рассматривается в статьях В. Зотова [18-20].

3.2 Обзор национальных источников

На национальном уровне вопросы проектирования и верификации цифровых систем-на-кристалле активно исследуются в Харьковском национальном университете радиоэлектроники. Вопросы тестирования и верификации цифровых систем освещены в статьях В.И. Хаханова, В.В. Елисеева, В.И. Обризана, Ваде Гриби, Хасана Ктеймана [21-22].

Подробно проблемы синтеза, анализа и верификации цифровых систем с применением языков описания аппаратуры Verilog и System Verilog рассмотрены в книге В. И. Хаханова [23].

3.3 Обзор локальных источников

В Донецком национальном техническом университете вопросы верификации проектов цифровых устройств исследуются на кафедре компьютерной инженерии в лаборатории FPGA и HDL технологии проектирования и диагностики КС под руководством Ю. Е. Зинченко. Методы тестирования и верификации FPGA-проектов с применением технологии Boundary Scan исследуются в магистерских работах Е. А. Астахова [24], Д. О. Ковтуна [25], А. С. Мирошникова [26]. Вопросы контроля и тестирования цифровых устройств рассматриваются в магистерских работах С. В. Свистунова [27], А. А. Мядельца [28], А. С. Ритова [29], Ю. В. Блинова [30].

4. Разработка методологии верификации СнК на базе FPGA

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

Основные методы верификации

Рисунок 3 — Основные методы верификации

К динамическим методам относятся симуляционные эксперименты над разрабатываемым проектом на различных этапах проектирования — системный уровень, уровень RTL, топологический уровень. В каждом из случаев на вход системы подается набор тестовых стимулов в виде testbench либо waveform, и сверяются полученные результаты с ожидаемыми. При этом тестируемый объект может быть как физическим образцом (прототипом), так и моделью. При таком подходе к верификации может контролироваться отдельно как функциональность модели (при этом временные показатели опускаются или принимаются равными нулю), так и ее соответствие временным характеристикам (упор на удовлетворение временным показателям), а также эти факторы в совокупности. Достоинством данного метода является теоретическая возможность полного покрытия верификации. На практике же часто случается так, что тестируемое устройство представлено в виде «черного ящика» и невозможно сгенерировать стимулы так, чтобы полностью проверить функциональность, либо количество тестовых векторов для полного покрытия может оказаться слишком большим и привести к большим временным затратам. Еще одним недостатком данного подхода является возможность ситуации, когда невозможно наблюдать источник возникновения ошибки во внутренних цепях. Такие ошибки, как правило, проявляют себя на более поздних этапах проектирования, что приводит к дополнительным временным и материальным затратам.

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

Методы внедрения спецификаций проекта в его модель основаны на различных свойствах проекта, которые контролируются путем утверждений внутри самого проекта. Таким образом, модель проекта будет содержать как описание работы, так и описание контроля своих свойств. При создании модели применяются методы строгого математического доказательства соответствия обладания моделью запланированных свойств будущей системы [2]. Данные методы получили название методов ассертирования (утверждений). Простейшей реализацией такого метода является включение в код ассертов, контролирующих определенные свойства проекта. Это достигается путем применения как простейших HDL операторов типа assert, так и использованием специальных языков описания утверждений — PSL (Property Specification Language), OVA (OpenVera Assertions) для описания сложных поведенческих алгоритмов. Развитие данной методики привело к появлению целой методологии, основанной на применении ассертирования — ABD (Assertion-Based Design), в основе которой лежит идея применения целых модулей ассертирования, например, из библиотеки OVL (Open Verification Library) фирмы Accellera. Самым важным моментом в использовании ассертов является правильный выбор контролируемых свойств объекта, от которого зависит полнота покрытия верификации. При правильном выборе свойств полнота покрытия может достигать максимума.

Метод доказательства эквивалентности моделей основан на сравнении работы проектируемой модели с другой моделью. При этом возникает проблема определения правильности работы другой модели, которая берется в качестве эталонной. Примером использования данного метода является сравнение на эквивалентность RTL- и gate- представлений.

Достоинством применения формальных методов является достаточно большая полнота покрытия по сравнению с динамическими методами при условии правильного и полного выбора контролируемых свойств, а также возможность проверки контрольных точек системы. Недостатком данных методов является невозможность их применения на стадии аппаратной реализации, в отличие от динамических, которые предполагают работу с опытным образцом проекта; также недостатком является сложность САПР, реализующих методы формальной верификации. Сравнительная характеристика скоростных показателей методов верификации [31] приведена на рис. 4.

Сравнительная характеристика скоростных показателей

Рисунок 4 — Сравнительная характеристика скоростных показателей

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

Разработка новой методологии должна решать следующие проблемы:

Маршрут проектирования/верификации СнК на базе FPGA приведен на рис. 5.

Маршрут проектирования/верификации СнК на FPGA

Рисунок 5 — Маршрут проектирования/верификации СнК на FPGA

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

Выводы

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

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

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

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

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

Список источников

  1. Немудров В., Мартин Г. Системы-на-кристалле. Проектирование и развитие [текст] / В. Немудров, Г. Мартин — М.: Техносфера. — 2004. — 216 с.
  2. Грушвицкий Р., Михайлов М. Проектирование в условиях временных ограничений: верификация проектов (1 часть) [Электронный ресурс]. — Режим доступа: http://www.kit-e.ru/assets/files/pdf/2008_3_96.pdf.
  3. Verification Horizons. A publication of Mentor Graphics — volume 8, issue 1 [Электронный ресурс]. — Режим доступа: http://www.mentor.com/products/fv/verificationhorizons/.
  4. Methodologies of Functional Verification, Mentor Graphics [Электронный ресурс]. — Режим доступа: http://www.mentor.com/products/fv/methodologies/.
  5. Assertion-Based Verification, Mentor Graphics [Электронный ресурс]. — Режим доступа: http://www.mentor.com/products/fv/methodologies/abv/.
  6. UVM/OVM, Mentor Graphics [Электронный ресурс]. — Режим доступа: http://www.mentor.com/products/fv/methodologies/uvm-ovm/.
  7. Verification Academy - The Most Comprehensive Resource for Verification Training [Электронный ресурс]. — Режим доступа: http://verificationacademy.com/.
  8. Processor-Driven Verification, Mentor Graphics [Электронный ресурс]. — Режим доступа: http://www.mentor.com/products/fv/methodologies/pdv/.
  9. Zorian Y. Test Requeirements for Embedded Core-Based Systems and IEEE P1500 / Y. Zorian // In Proceedings IEEE International Test Conference (ITC). — Washington, DC. — November 1997. — IEEE Computer Society Press. — pp. 191-199.
  10. Papachristou C. A. Microprocessor based testing for core-based system on chip / C. A. Papachristou, F. Martin, M. Nourani // In Proceedings of the 36th ACM/IEEE conference on Design automation conference. — ACM Press. — 1999. — pp. 586-591.
  11. Janick B. Writing testbenches: functional verification of HDL models / B. Janick. — Boston. — Kluwer Academic Publishers. — 2001. — 354 pp.
  12. Лохов  А. Л. Функциональная верификация СБИС / А.Л. Лохов // Электроника: Наука, Технология, Бизнес. — 2004. — № 1.
  13. Лохов А. Л. Современный функциональной уровень верификации СБИС / А. Л. Лохов // Труды конференции «Проблемы разработки перспективных микроэлектронных систем (МЭС - 2005)» — 2004.
  14. Лохов А. Л. Обзор средств функциональной верификации компании Mentor Graphics / А. Л. Лохов // Современная электроника №5. — 2005. — с. 50-54.
  15. Лохов А. Л. Современные методы функциональной верификации цифровых HDL-проектов: методология ABV, библиотеки OVL и QVL / А. Л. Лохов // Современная электроника №1. — 2010. — с. 56-59.
  16. Рабоволюк А. Обзор маршрута проектирования ПЛИС FPGA Advantage компании Mentor Graphics / А. Рабоволюк // Компоненты и технологии №7. — 2005.
  17. Рабоволюк А. Применение средств Mentor Graphics O-In и Mentor Graphics Questa для верификации проекта с использованием формальных методов / А. Рабоволюк // Современная электроника №6. — 2005. — с. 52-54.
  18. Зотов В. Средства внутрикристальной отладки цифровых устройств и встраиваемых микропроцессорных систем, разрабатываемых на базе ПЛИС с архитектурой FPGA фирмы Xilinx — ChipScope Pro / В. Зотов // Компоненты и технологии №10. — 2008. — с. 41-45.
  19. Зотов В. Практический курс сквозного проектирования цифровых устройств на основе ПЛИС фирмы Xilinx (Часть 2) / В. Зотов // Современная электроника №2. — 2007. — с. 72-77.
  20. Зотов В. Практический курс сквозного проектирования цифровых устройств на основе ПЛИС фирмы Xilinx (Часть 20) / В. Зотов // Современная электроника №2. — 2009. — с. 48-55.
  21. Хаханов В. И. Иерархическое тестирование программно-технических комплексов / В. И. Хаханов, В. В. Елисеев, В. И. Обризан, Ваде Гриби, Хасан Ктейман // АСУ и приборы автоматики № 1. — 2005. — с. 93-102.
  22. Хаханов В. И. Accept-метод верификации цифровых систем на основе стандарта IEEE 1500 SECT / В. И. Хаханов, В. В. Елисеев, В. И. Обризан, Ваде Гриби, Хасан Ктейман // АСУ и приборы автоматики № 3. — 2005. — с. 93-105.
  23. Хаханов В. И. Проектирование и верификация цифровых систем на кристаллах. Verilog & System Verilog / В. И. Хаханов, И. В. Хаханова, Е. И. Литвинова, О. А. Гузь. — Харьков: ХНУРЭ. — 2010. — 528 с.
  24. Астахов Е. А. Разработка и исследование метода верификации FPGA проектов по методологии ведомого зонда на базе технологии Boundary Scan [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2009/fvti/astahov/diss/index.htm.
  25. Ковтун Д. О. Разработка и исследование методов тестирования FPGA-устройства с использованием технологии Boundary-Scan [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2010/fknt/kovtun/index.htm.
  26. Мирошников А. С. Разработка алгоритмов тестирования FPGA-устройств по технологии периферийного сканирования [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2002/fvti/miroshnikov/diss/index.htm.
  27. Свистунов С. В. Исследование и разработка на FPGA SPP-архитектуры поста контроля цифровых устройств [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2008/fvti/svistunov/diss/index.html.
  28. Мяделец А. А. Разработка и исследование метода синтеза тестов для типовых элементов замены (ТЭЗ) [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2006/fvti/myadelets/diss/index.htm.
  29. Ритов А. С. Розробка діагностичної моделі FPGA-пристроїв та синтез тестів на її базі [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2002/fvti/rytov/dissert.htm.
  30. Блинов Ю. В. Разработка и исследование методов и структур аппаратной генерации тестов и анализа тестовых реакций на базе FPGA [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2010/fknt/blinov/index.htm.
  31. Chong-Min Kyung Current Status and Challenges of SoC Verification for Embedded Systems Market — IEEE International SoC Conference [Электронный ресурс]. — Режим доступа: http://www.docstoc.com/docs/55759007/Current−Status−and−Challenges−of−SoC−Verification−for−Embedded.
  32. Верификация FPGA-проектов [Электронный ресурс]. — Режим доступа: https://sites.google.com/site/electricgorokhov/home.