Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Артемов Сергей Артемович

Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК
<
Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Артемов Сергей Артемович. Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК : диссертация... кандидата технических наук : 05.13.12 Москва, 2007 193 с. РГБ ОД, 61:07-5/3016

Содержание к диссертации

Введение

ГЛАВА 1 Сведения в области конвертирования проектов 13

1.1 Особенности применения ПЛИС и полузаказных БИС в аппаратуре 15

1.1.1 Понятие конвертирования 15

1.1.2 Способы решения задачи конвертирования 17

1.2 Обзор существующих методов конвертирования проектов 19

1.2.1 Метод перевода схемы 20

1.2.2 Метод перевода тестов 21

1.2.3 Метод сохранения временных соотношений 21

1.2.4 Метод анализа схемы 23

1.2.5 Метод доступа к базе данных 23

1.2.6 Метод локализации РВД 24

1.3 Недостатки существующих методов конвертирования 24

1.3.1 Недостатки существующих методов перевода схемы 24

1.3.2 Недостатки существующих методов перевода тестов 25

1.3.3 Недостатки существующих методов сохранения временных соотношений 26

1.3.4 Недостатки существующих методов анализа схемы 27

1.3.5 Недостатки существующих методов обработки базы данных 30

1.3.6 Недостатки существующих методов локализации РВД 30

1.4 Выводы по главе 31

1.5 Постановка задачи 31

ГЛАВА 2. Разработка методов и алгоритмов модификации проекта 33

2.1 Математические модели проекта, схемы и её тестов 33

2.1.1 Математическая модель схемы 33

2.1.2 Математическая модель тестов 36

2.1.3 Математическая модель проекта 38

2.2 Требования, предъявляемые к проекту, схеме и её тестам 41

2.2.1 Требования, предъявляемые к проекту 41

2.2.2 Требования, предъявляемые к схеме и тестам 41

2.3 Метод перевода схемы 43

2.3.1 Обработка модулей в схеме 43

2.3.2 Обработка примитивов в схеме 44

2.4 Алгоритм перевода схемы 46

2.5 Метод перевода тестов 48

2.5.1 Оптимизация теста 48

2.5.2 Масштабирование теста 48

2.5.3 Маскирование теста 49

2.6 Алгоритм перевода тестов 50

2.7 Метод сохранения временных соотношений 50

2.7.1 Постановка задачи оптимизации 50

2.7.2 Сокращение количества элементов для

задачи оптимизации 53

2.7.3 Сокращение количества типов инверторов для задачи оптимизации 53

2.7.4 Сокращение количества инверторов для задачи оптимизации 54

2.7.5 Выполнение задачи оптимизации 55

2.7.6 Оптимизация результатов выполнения задачи оптимизации 55

2.8 Алгоритм сохранения временных соотношений 56

2.9 Выводы по главе 56

ГЛАВА 3. Разработка методов и алгоритмов диагностки проекта 58

3.1 Метод локализации РВД 58

3.1.1 Создание БП 61

3.1.2 Установка виртуальных модулей в схему 63

3.1.3 Формирование множеств векторов в тесте для проверки БП 67

3.1.4 Доказательство и опровержение БП 71

3.1.5 Формирование ДП и КП 74

3.2 Алгоритм локализации РВД 77

3.3 Метод обработки базы данных 77

3.3.1 Понятие базы данных 78

3.3.2 Номера тестовых векторов 78

3.3.3 Исходные данные для метода обработки базы данных 80

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

3.3.5 Вычисление сигнала по номеру входного воздействия 84

3.3.6 Вычисление сигнала по вектору любого типа 85

3.3.7 Вычисление сигнала по номеру переходного процесса 85

3.3.8 Расчёт параметра суммы при вычислении сигнала по номеру переходного процесса 86

3.3.9 Формулы для оценки алгоритма обработки базы данных 87

3.4 Алгоритм обработки базы данных 88

3.5 Альтернативные варианты алгоритму обработки базы данных 89

3.6 Метод анализа схемы 90

3.6.1 Анализ длины тактового сигнала после управляющего фронта 91

3.6.2 Анализ времён установки и удержания данных 98

3.6.3 Анализ вырождения сигнала 99

3.6.4 Анализ расхождений ответных реакций 100

3.6.5 Анализ логических функций 101

3.6.6 Анализ полноты теста для элемента 102

3.7 Выводы по главе 103

ГЛАВА 4. Экспериментальное исследование системы "convchip" для конвертирования проектов 104

4.1 Экспериментальное исследование алгоритмов 104

4.1.1 Экспериментальное исследование алгоритмов анализа схемы 104

4.1.2 Экспериментальное исследование алгоритма обработки базы данных 111

4.1.3 Экспериментальное исследование

алгоритма локализации РВД 114

4.2 Форматы, используемые при конвертировании 117

4.2.1 Форматы схемы, используемые при конвертировании 118

4.2.2 Форматы тестов, используемые при конвертировании 120

4.3 Маршрут конвертирования проектов 122

4.3.1 Применение в маршруте методов модификации 124

4.3.2 Применение в маршруте методов диагностики 132

4.4 Выводы по главе 139

Заключение 141

Литература...

Введение к работе

Актуальность исследования

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

Одним из наиболее эффективных путей повышения технологических характеристик современной электронной аппаратуры является широкое применение в процессе ее разработки больших и сверхбольших интегральных схем (БИС и СБИС), но рост сложности вычислительных устройств приводит к значительной специализации их элементной базы, а, следовательно, и к расширению номенклатуры проектных СБИС[1].

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

7 СБИС. Одним из способов решения этой задачи является отладка разработанного проекта на программируемых логических интегральных схемах (ПЛИС).

В последнее десятилетие на рынке радиоэлектронной аппаратуры ПЛИС получили достаточно широкое распространение. Они позволяют специалисту создавать на одной или нескольких микросхемах сложные цифровые устройства, имеющие высокую степень интеграции. Главным отличительным. свойством ПЛИС является возможность их настройки на выполнение заданных функций самим пользователем. Для того чтобы изменить алгоритм работы устройства достаточно перепрограммировать ПЛИС, причем большинство ПЛИС допускают программирование уже после установки на плату. По существу разработка устройств на основе ПЛИС представляет собой новую технологию проектирования электронных схем, включая их изготовление и сопровождение. При этом, весь технологический цикл проектирования проекта ПЛИС, начиная от разработки схемы ПЛИС, её тестов и заканчивая программированием, может выполнить один специалист. Современные ПЛИС выпускаются как полностью готовые изделия. Пользователю не требуется обращаться к изготовителю для выполнения каких - либо завершающих операций, поскольку процесс программирования ПЛИС можно осуществить с помощью компьютера, к которому подключен программатор. В настоящее время ПЛИС широко используются на этапе создания опытных образцов, а также для выпуска мелко серийных партий, к которым не предъявляются жесткие требования. Микросхемы ПЛИС, выпускаемые для гражданских целей, имеют низкие параметры по спецстойкости, поэтому затруднено их применение в аппаратуре, работающей в жестких климатических условиях. Микросхемы ПЛИС, выпускаемые для военных и космических целей, обладают более высокими параметрами. Однако при среднесерийном производстве выпуск партии ПЛИС экономически менее выгоден, чем выпуск такой нее партии на основе базового матричного кристалла (БМК).

Для снижения стоимости при проектировании СБИС используются специальные заготовки - БМК, представляющие собой матрицу ячеек, нескоммутированных транзисторов и допускающих нанесение по определённым правилам индивидуальной системы межсоединений. Библиотека логических элементов определяется заранее при конструировании БМК. Таким образом, чтобы разработать СБИС на основе БМК, достаточно спроектировать и изготовить только фотошаблоны для слоев металлизации[2].

Большая часть СБИС проектируется с помощью БМК. Это обусловлено рядом взаимосвязанных технических и организационных причин, к которым можно отнести[3]:

большой накопленный опыт проектирования полузаказных микросхем;

относительно более низкая стоимость при объёмах выпуска менее 5-10 тыс. штук, что удовлетворяет большинству типов электронной аппаратуры[4];

- близость задач разработки СБИС на основе БМК и двухсторонних
печатных плат и микросборок;

быстрая аттестация микросхем военного и космического назначения;

наличие готовой измерительной и испытательной оснастки;

- наличие целого ряда коммерческих систем автоматизированного
проектирования (САПР), ориентированных только на работу со схемами в
базисе БМК[5].

Одновременно происходит расширение области применения БМК. Сейчас полузаказные СБИС используются каждой третей фирмой, выпускающей электронное оборудование. В 45% случаев БМК применяют в устройствах обработки информации, в 25% - в системах связи, в 22% - в контрольно-измерительном оборудовании. Всё это потребовало разработки различных конструкций БМК, оптимально сочетающих требования технологии и маршрута проектирования СБИС на основе БМК в рамках сквозных САПР[6].

С другой стороны, микросхему на базе БМК невозможно

запрограммировать как ПЛИС. Такой недостаток существенно затрудняет возможность использования БМК для быстрого создания опытных образцов.

В итоге, специалист для быстрого проведения разработки первоначально создаёт проект в базисе ПЛИС, а после отладки и тестирования в аппаратуре конвертирует схему в базис БМК для последующего выпуска партии полузаказных микросхем. Таким образом, после предварительного макетирования на ПЛИС появляется задача конвертирования схемы ПЛИС в базис БМК[8].

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

Для того чтобы конвертировать схему, необходимо каждому элементу в схеме ПЛИС поставить в соответствие некоторую подсхему замещения из базиса БМК. Оптимальный выбор такой подсхемы и составляет основную проблему задачи конвертирования. Однако при подстановке подсхем замещения из базиса БМК, схема часто оказывается неработоспособной. Неработоспособность проявляется в том, что ответные реакции, полученные при моделировании схемы в базисе ПЛИС, не совпадают с ответными реакциями, полученными при моделировании в базисе БМК. Таким образом, наблюдаются расхождения временных диаграмм (РВД) на внешних выводах схемы при её моделировании в базисах ПЛИС и БМК. Естественно, что рассматриваются только те моменты времени, когда схема находится в стабильном состоянии. РВД появляются, в случае логически эквивалентных схем, за счет различий в динамических параметрах базисов ПЛИС и БМК.

10 Следовательно, разработка надёжных методов и алгоритмов для конвертирования проекта ПЛИС в базис БМК является актуальной задачей[9].

Диссертационная работа посвящена созданию методов, алгоритмов и инструментальных средств разработки программного обеспечения, применяемого для конвертирования проектов ПЛИС в базис БМК. В работе проведён анализ задач по диагностике и модификации проекта, выполняемой при конвертировании.

Научная новизна

1 Разработаны методы модификации проекта. Предложенные методы
модификации позволяют сохранить временные соотношения между
элементами в базисе ПЛИС и БМК для асинхронных модулей, а также
выполнить перевод проекта ПЛИС в базис БМК. В отличие от существующих,
предложенные методы модификации позволяют выполнить оптимальный
выбор логически эквивалентных подсхем замещения в базисе БМК для'
элементов из схемы ПЛИС.

  1. Предложены методы диагностики проекта. Они позволяют локализовать причины появления РВД на внешних выводах схемы при её моделировании в базисах ПЛИС и БМК. Механизм локализации РВД в существующих методах конвертирования отсутствует.

  2. Разработаны алгоритмы модификации и диагностики проекта. В отличие от существующих алгоритмов они позволяют более качественно конвертировать проект ПЛИС в базис БМК.

Практическая и теоретическая значимость На основе полученных теоретических результатов разработана САПР ConvChip, являющаяся удобным инструментальным средством разработки схем в базисе БМК на основе проекта ПЛИС. В САПР ConvChip реализованы различные методы модификации и диагностики проекта, позволяющие конвертировать проект ПЛИС в базис БМК. Данная система имеет следующую практическую значимость:

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

сокращается время разработки проекта в базисе БМК на основе проекта ПЛИС в несколько раз;

сокращается объём ручной работы, т.к. большинство функций САПР ConvChip выполняет автоматически.

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

Достоверность полученных результатов

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

Реализация научно - технических результатов работы

Результаты диссертации, реализованные в САПР ConvChip, были использованы при конвертировании ряда проектов ПЛИС на предприятии ОАО "Ангстрем". Рассматриваемый конвертор ConvChip внедрён в организациях,, указанных в актах внедрения (см. приложение 2). Использование разработанного программного обеспечения на предприятиях показывает высокую эффективность его применения в цикле конвертирования цифровых схем.

Структура диссертации

Диссертация состоит из введения, четырех основных глав и заключения.

В первой главе рассматривается проблема конвертирования. Описываются существующие методы конвертирования, реализованные в современных САПР. Анализируются недостатки методов конвертирования. Осуществляется постановка задачи.

Вторая глава посвящена методам модификации проекта, которые позволяют выполнить предварительное конвертирование схемы и её тестов из базиса ПЛИС в базис БМК. Рассматриваются алгоритмы модификации проекта.

Третья глава посвящена методам диагностики проекта. Эти методы позволяют проанализировать причины появления РВД на внешних выводах схемы. Рассматриваются алгоритмы диагностики проекта.

Четвертая глава посвящена экспериментальному исследованию алгоритмов конвертирования проекта. Рассматривается маршрут конвертирования проекта ПЛИС в базис БМК.

Особенности применения ПЛИС и полузаказных БИС в аппаратуре

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

Решение проблемы многократного изготовления СБИС может заключаться в использовании для разработки опытных образцов аппаратуры ПЛИС, конфигурация и функции которых могут очень легко меняться программным путём. Использование ПЛИС позволяет оперативно и с минимальными затратами провести доработку аппаратуры в режиме реальной работы устройства, включая проведение натурных и полевых испытаний[10]. В настоящее время ПЛИС выпускают более двадцати ведущих западных компаний. Самыми известными из них являются - Xilinx Inc., Altera Corp., Actel Corp., AMD Inc., Intel Corp. Предлагаемые этими компаниями изделия различаются, как способом программирования, так и архитектурой[11-14].

Однако при всей привлекательности и гибкости применения ПЛИС для разработки аппаратуры приходится считаться с тем, что по сравнению с полузаказными микросхемами, ПЛИС имеют следующие недостатки: - в 5-7 раз более низкие электрические параметры (быстродействие, потребляемая мощность); - в 7-Ю раз более высокий расход кремния, чем для полузаказных СБИС; - более низкую надежность работы за счет большого объёма конфигурационной памяти; - при применении импортных ПЛИС в специальной аппаратуре может появляться проблема "встроенных жучков"; - при применении импортных ПЛИС приходится считаться с тем, что трудно рассчитывать на регулярные поставки микросхем конкретного типа в течении длительного времени. В любой момент серия ПЛИС может быть снята с производства; - серийный выпуск ПЛИС значительно дороже выпуска аналогичной партии полузаказных БИС. Например, зарубежные ПЛИС фирм Xilinx и Atmcl в несколько раз дороже БМК имеющих аналогичные характеристик 15,16]. Разница в стоимости ещё более возрастает для микросхем специального применения. Например, стоимость ПЛИС специального исполнения составляет более 20-ти тысяч рублей [17].

Всё вышесказанное делает весьма важной и актуальной задачу конвертирования проектов, отработанных на ПЛИС, в полузаказные СБИС. Особенно актуально эта задача стоит для полузаказных СБИС, разработанных на базе широко распространенных отечественных БМК серий 1537ХМ1, 1537ХМ2, 1593ХМ1, 1593ХМ2, 1515ХМ1, 5517БЦ, которые являются основной элементной базой для изделий специального применения.

Существует большое количество определений понятия конвертирования проекта ПЛИС в базис БМК. Это связанно с различиями в требованиях, которым должен удовлетворять проект, полученный после конвертирования, а также с тем, какая конкретно решается задача. При решении только задачи перевода справедливо следующее определение: "Конвертированием называют замену элементов схемы в базисе ПЛИС на логически эквивалентные им подсхемы замещения в базисе БМК". При решении задачи модификации с целью получения проекта БМК эквивалентного по временным параметрам к исходному проекту ПЛИС, справедлива следующая формулировка: "Конвертированием называют перевод и коррекцию проекта, выполняемую с целью сохранения временных соотношений между элементами схемы в базисах. ПЛИСиБМК"[19].

Достаточно универсальна следующая формулировка: "Конвертированием называют применение определённых процедур с целью подготовки проектных данных для изготовления полузаказной БИС на основе проекта ПЛИС". Именно такое понятие конвертирования будет применяться в диссертационной работе. Наиболее целесообразным представляются два способа преобразования проектов ПЛИС в БМК[20].

Первый способ состоит в конвертировании структурного описания схемы, которое представляет собой список соединений и связей между ними. Этот, способ основан на трансляции элементов из библиотеки ПЛИС в конкретную библиотеку БМК. При этом каждый библиотечный элемент из базиса ПЛИС заменяется функционально аналогичным ему элементом из базиса БМК. Однако эта переработка не означает однозначного переноса из одной технологии в другую. На этом этапе возможно внесение каких-либо корректив и дополнений в схему. Данный подход предполагает постоянное развитие и совершенствование библиотек макроблоков в базисе БМК[21].

Второй способ состоит в конвертировании описания схемы на уровне регистровых передач RTL. Этот способ заключается в изначальном описании проектов на языке VHDL, Verilog, AHDL и др.[22-25]. Для адекватного преобразования рекомендуется описывать проект на уровне представления объекта в понятиях переходов состояний и динамического распространения сигналов[26,27]. На данном этапе проводится моделирование и контроль функциональной работоспособности устройства. После этого проект синтезируется и оптимизируется в конкретном базисе (в данном случае в базисе ПЛИС или в базисе БМК). В каждой реализации проект необходимо моделировать и верифицировать с учетом топологии[28,29].

Математические модели проекта, схемы и её тестов

Обозначим схему ПЛИС за ориентированный граф G=G(A,R), вершины А которого обозначают элементы, их выводы и связи, a R(a,b) - ребро между вершинами а,ЬєА. Ребро R(a,b) характеризует наличие связи в схеме между-элементами а и Ь. Множество вершин А разделяется на три типа подмножеств A=N(J PjjE, где N - обозначает множество связей, Е - элементы, Р - множество выводов для VeeE. Рассмотрим состав каждого из трёх этих множеств: 1 P=P (JP", где Р - множество выводов, которые имеют место в БИС. Р" - множество виртуальных выводов схемы, т.е. выводов, которые отсутствуют в схеме и вводятся только для получения результатов моделирования с внутренних связей. Под внутренними связями понимаются выводы вентилей внутри схемы. 2 E=E (JE", где Е - множество примитивов и Е" - множество модулей.

Примитивом называют структурную единицу, которая всегда является неделимым целым в рамках базиса конкретной САПР. Модулем называют множество взаимосвязанных примитивов. 3 N=N (jN", где N - множество связей внутри элементов и N" - множество связей для соединения элементов между собой. Элементом называют примитив или модуль схемы.

Любому примитиву еєЕ соответствует граф G. Количество в схеме ПЛИС таких модулей будет Q . Введём для G следующие обозначения: 1 G - количество вершин в G . 2 G - быстродействие G . G - флуктуационная устойчивость G которая вычисляется при флуктуационном моделировании. Здесь под флуктуационным моделированием понимается моделирование, выполняемое с псевдослучайным разбросом временных параметров. При флуктуационном моделировании обычно генерируется несколько вариантов схемы и несколько вариантов запаздывания входного воздействия. Для выбора конкретных значений уменьшения задержек сигналов и запаздываний входного воздействия, используются генераторы случайных чисел, имеющие линейное распределение вероятности в заданном интервале[130]. 4 F(G ) - выполняемая логическая функция G . Эта функция показывает на языке булевой алгебры способ вычисления значения сигнала на выходе элемента G . 5 D(G ) - временная задержка от входа до выхода G . 6 D(G ) - функция отбрасывания дробной части задержки G . Функция А может также применятся для любого вещественного числа А. Любому модулю еєЕ" соответствует граф G", для которого вводятся обозначения, аналогичные для примитива G . Количество в схеме ПЛИС таких модулей будет Q".

Как следует из определения, примитив является неделимым целым, а модуль состоит из примитивов и других подмодулей. На рисунке 2.1 показан пример примитива и его эквивалентный граф G [131]. Ш Ь-КРЗ Рисунок 2.1- Пример примитива и его эквивалентный граф G . Следовательно, структура любого примитива описывается как: vG cG, VR(a,b)G = aN Hb6P.

В модули и примитивы не входят вершины neN", которыми они соединены между собой. Эти вершины образуют граф g. Любые модули и примитивы соединены между собой вершинами neN". На рисунке 2.2 показан пример соединения вершиной N1 двух примитивов из рисунка 2.1, т.е. g={Nl}. PI El -К N1) S -WP3 Рисунок 2.2 - Пример соединения вершиной N1 двух примитивов. Следовательно, для любого соединения Gi и G2 справедливо, следующее: VR(n,a)Gg = nGN", aePjeGiGG или aeP2eG2eG. На рисунок 2.3 показан-пример модуля и его эквивалентный граф G". Аналогично G для схемы ПЛИС, обозначим за В схему в базисе БМК, для которой действительны есе вышеуказанные обозначения. Причём q и q" количество примитивов В и модулей В" в схеме в базисе БМК.

Такая математическая модель позволяет описать схему в виде модулей, которые иерархически вложены друг в друга. Самый верхний уровень содержит только один модуль, выводы которого совпадают с выводами схемы. Нижний уровень иерархии содержит примитивы, которые известны только конкретной САПР. Примитивы не имеют в схеме дальнейшего описания через другие элементы или примитивы и представляют собой не делимое целое. Эти примитивы составляют базисы БМК или ПЛИС, в зависимости от САПР. Однако, схема в САПР может описываться и другими способами: а)языками описания аппаратуры VHDL, AHDL, SystemVerilog, VerilogHDL; б)таблицами истинности элементов; в)временными диаграммами для внешних выводов схемы и г) заданием логических функций [132-134].

В этих случаях, для применения математической модели, схема с помощью средств САПР должна быть переведена в непосредственное задание элементов и связей между ними. Если это не возможно, то необходимо рассматривать модули, описанные способами с а) по г) в рамках математической модели как "чёрный ящик".

Математические модели проекта, схемы и её тестов

После формирования БП и установки виртуальных модулей, выполняется ранжирование следствий БП. Ранжирование необходимо для того, чтобы во время моделирования установить порядок включения (SE=1) виртуального модуля для проверки БП из (3.1). Ранг №1 соответствует следствию БП, наиболее близко стоящему ко входу схемы (например А и В на рисунке 3.1), а-максимальный ранг №N соответствует следствию БП на выходе схемы (например О и Y на рисунке 3.1). Таким образом, множество БП разделяются по номеру ранга j, указанного в них следствия, на отдельные группы[159].

Пусть (еі ,Є2 ,..ек)єЕ множество элементов, участвующих в БП и имеющих следствие е одинакового ранга je[l,N], т.е. еі- е, е2- є, ..,Є- е,.., ек- е.

Обозначим за символ "+" объединение нескольких разных причин имеющих одно одинаковое следствие е. Тогда запишем более компактную форму этого БП: е,+е2+, ..,+еь ..,+ек- е (3.3)"

Поскольку е является следствием ранга j для всех ej, то назовём это выражение БП ранга j. Необходимо проверить не только БП ej- e, но и их комбинации между собой. Следовательно, необходимо проверить jk -} таких комбинаций. Это необходимо, поскольку Vi,je[l,k]: е-»е, ek- e не следует Є(+ек- е. Иными словами, при иоочерёдном(!) включении виртуального модуля (SE=1) на е;, ек состояние выхода на е может отличаться от состояния при одновременном ) включении виртуального модуля на % ек. Рассмотрим возможные 2к -\ комбинации: 1)Є]- е; 2)е2-»е;.., i)ej— е;.., k)ek- e; k+1) еі+е2-»е; k+2) еі+е2+е3- е ... 2K-2) e, + e2+..+еы- e; 2K-l)ei + e2+..+ ek.,+ek- e. (3.4) Введем операцию #, для сокращенной записи этих комбинаций. Тогда вместо выражения (3.4) получим:

Таким образом, для (3.5), необходим перебор 2k -\ комбинаций. Обозначим за операцию объединение нескольких разных следствий е- ej, е- eic имеющих одну общую причину, т.е. БП е- Є Єк. Для проверки этих 2к _\ комбинаций образуемых БП из (3.5) на одном y TV є y TV формируется

VOTV I»" VOTV 2K-i в количестве 2k-l ШТУК- Напомним, что y TV множество тестовых векторов, на которых наблюдаются РВД. Каждому уоту ставится в соответствие множество Уо ТУ, которое проверяет все БП типа (3.1), имеющих следствия всех рангов je[l,N], для РВД, появляющихся на конкретном V OTV V OTV Аналогично (3.5) для проверки БПе ]- е , е 2- е ,.. e j— е ,.. е и-»е для причин (е і,е 2,..е и)єЕ , имеющих ранг j и следствие в виде е е, формируются другие 2й -і штук оптимальных тестовых векторов VOTV і»" VOTV 2U-1 слеДОватЄЛЬНО:

Все множества, которые описывают БП ранга j, объединяются в множествоУфТУ .. Например, для выражений (3.5) и (3.6) это множество VOTV J=(VOTV "-VOTV f-\ M VOTV , "" VOTV 2"-\ B бЩЄМ ВВДЄ ДЛЯ 0Д"0Г ранга j для конкретного y rv eyoTV получается множество: ICjl VOTV IUVOTV , VOTV 2 -V TV f(Q) (3-7) где Cj - множество следствий ранга j, входящие в БП. Причём 2 1 "количество оптимальных тестовых векторов, формируемых для проверки і-го следствия

Здесь f(Cj) - функция, вычисляющая количество следствий. Например, для выражений (3.5) и (3.6) получим Q ={е,е }. Поскольку е е , то будет f(Cj)=2. В свою очередь такие VOTV J из (3-7) объединяются в множество Vo TV формируемых для всех БП формируемых из элементов Е , т.е. Vorv =UVOTV j- О-8) и На каждом векторе из множества y .v} проверяется одна из 2к _\ комбинаций. Например, для выражения (3.5) при к=3 множество YQTV ,будет иметь IVOTV J 1=8-1=7. Иными словами, из (3.5) получим Єі#Є2#Єз— е, которые проверяются векторами в количестве 2 _1 =7 штУк: 1) SE]=0, SE2=0, SE3=1, проверяется ез е; 2) SEpO, SE2=1, SE3=0, проверяется e2- e; 3) SE]=0, SE2=1, SE3=1, проверяется е2+ез- е; 4) SEi=l, SE2=0, SE3=0, проверяется Є- е; 5) SE!=1, SE2=0, SE3=1, проверяется еі+е3- е; 6) SEi=l, SE2=1, SE3=0, проверяется ei+e2- e; 7) SE[=1, SE2=1, SE3=1, проверяется Є+е2+е3- е. Если бы все (!) 7 этих комбинаций БП были бы доказаны, то вместо них для более компактной записи возможно написать Єі#е2#ез-»е.

Будем считать БП доказанным, если РВД исчезли после динамической имитации на элементе, который является следствием. Например, если хотя бы одна комбинация из 7 оказалось бы опровергнутой, то БП, через операцию #. записывать нельзя[159]. Итак, для каждого вектора изуоту, на котором наблюдаются РВД, для элементов Е , ставится в соответствие множество YQ типа (3.8). Такие множества формируются для всех предположений (3.1), для каждого YOTV є VOTV на К0Т0Р0М наблюдается РВД. Комментарии, к примеру, из рисунка 3.1 для данного этапа

Экспериментальное исследование алгоритмов

Рассмотрим выполнение алгоритма для рисунка 4.1 от т.А до Т.Е.: 1 Выполняется статическое моделирование с периодом Рсо=17нс. 2 Выбирается библиотечный синхронный D-триггер, с номиналом в базисе ПЛИС Тмр=5нс, а после перевода Q в базис БМК номиналом Тмв=3.5нс. 3 Поскольку в т. А, В, С, Е изменился уровень в тест ПЛИС. Поэтому интервал с т.А до т.Е по (3.2) разбивается на три интервала: -ЗАТ=Т:-Т т; Тл 8 8 8 гДеТя=4нс 8 я=0,8І=ЬТІ=10нс; -3AT=Tc:3T,R T S,B = Sc S S,B eTR=12HC5SK=1 S3 И.Т Знс; -3AT=T; T: T S SB S S;wT R=14HC,s:=0,Se=l,Tc=15"c Поскольку на интервале [А,Е] все уровни при сравнении Тсв с Тер одинаковы, то результаты применения (3.1) и (3.2) тоже будут одинаковы.

Поскольку в T.D появляется новое 2-е входное воздействие yjj, то в соответствии с (3.3) интервал [А,Е] разбивается на [A,D] и [D,E]: ЗДТ = TE_To 3At= t co0 VD VIT Voe VIT VD6 V,T VF. V,T Итого, получается четыре интервала: [A,B],[B,C],[C,D],[D,E]. Для каждого такого интервала формируется команда #AL (более подробно см. прил.1.).

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

А) Между т.А и т.В в тесте ПЛИС содержать результаты моделирования "0000ХХНННН11111111111111" и в тесте БМК содержать результаты моделирования "0ХХХНН1Ш1". Следовательно, уровень сигнала на С меняется с 0 до 1 через промежуточные состояния X и Н. Здесь Тсв=Знс Тмв,-Тср=Знс Тмр поэтому триггер на [А,В] не успевает срабатывать в базисах ПЛИС и БМК, т.е. TCB=TSCB TMB и Tcp=Tscp TMp.

Б) Между т.В и т.С в тесте ПЛИС содержать "0000000" и в тесте БМК содержать "00000". Следовательно, уровень между т.В и т.С. отсутствует. Здесь Тсв=0нс Тмв, Тср=0нс Тмр поэтому триггер на [В,С] не срабатывает в базисах ПЛИС и БМК.

В) Между т.С. и T.D для теста ПЛИС содержать сигналы "0ХХХХХ11" и в тесте БМК содержать сигналы "ОХХНННПП". Следовательно, уровень меняется с 0 до 1. Здесь Тср=Тсв=2нс Тмв. Однако, на интервале [C,D] уровень-представлен не полностью и частично переносится на [D,E], поэтому здесь Тс в и Тер не анализируется.

Г) Между т.С. и T.D в тесте ПЛИС содержаться сигналы "0ХХХХХ11" и в тесте БМК содержаться сигналы "ОХХНННПП". Следовательно, уровень меняется с 0 до 1. Здесь Тсв=2нс Тмв, Тср=2нс Тмр, однако с учётом длительности на [C,D] получаем Тсв=4нс Тмв, Тср=4нс Тмр, поэтому триггер на [А,В] в базисе ПЛИС не успевает срабатывать, а в базисе БМК успевает, т.е. Тсв= Тісв Тмв и Tcp=Tscp TMp.

5 Выводы: A) Поскольку на [А,В]: TSCB =Tscp, то вариант 1; Б) Поскольку на [В,С]: TSCB =Tscp, то вариант 17; B) Поскольку на [C,D]u [D,E]= [С,Е]: Тісв =Tscp, то вариант 2;

Пример нарушения установки и удержания данных. 1 Выполняется статическое моделирование с периодом Рсо=350нс. 2 Выбирается синхронный D-триггер, который срабатывает по переднему фронту имеет параметры Ts=10 не и Тн=5нс. 2 Выбирается D-триггер, который срабатывает по переднему фронту. 3 Пусть, рассматривается управляющий фронт, который начинается при Т-200нс (CM.T.F), а заканчивается при Т -ЗООнс (CM.T.L), тогда точками A,B,C,D,F,L, V1,V2,V3,V4,V5,V6,V7 - обозначаются времена векторов, которые записаны в тест ПЛИС для рассматриваемого фрагмента. Причём т. С начинается у.т, а в T.D соответствует VOTV Всем остальным точкам соответствуют некоторые переходные процессы у

4 Выбирается Ро=50%.Пусть, для удобства анализа этого управляющего фронта, диапазон [Т ,Т"] был расширен до диапазона [Тв,Те] путём установки значений Т мі=30,Т мг=60,Тмі=90,Тмг=80, тогда вычисляться: Г-300, Т-200, - Тв=200-90-10=1 OOHC,Te=300+80+20=400HC,TsH = 200+50 (400 100) = 250нс - — 100 Таі=К)нс-поскольку на 90нс нет вектора, а ближайший вектор находится в т.С. Таг=20нс-поскольку на 380нс нет вектора, а ближайший вектор находится в T.D. - Гв=250-10-30-20=190нс и Ге=250+5+60+5=320нс. (см. прил.1). Здесь:Т аі=20нс-поскольку на 170нс нет вектора, а ближайший находится в т.А Т аг=5нс-поскольку на 315нс нет вектора, а ближайший находится в т.В 5 Поскольку в течении промежутка времени [TSHS,TSH] сигнал на управляющем входе данных D, изменялся с L до X, то произошло нарушение условия установки данных. Поскольку в течении промежутка времени [TSH,TSH+TH] сигнал на управляющем входе данных D, изменялся с X до Н, то произошло нарушение условия установки данных.

Похожие диссертации на Методы и алгоритмы для конвертирования проектов ПЛИС в базис БМК