Поиск по сайту: |
|
По базе: |
|
Главная страница > Статьи |
|
|||||||||
Программное обеспечение для перевода проектов ПЛИС из САПР Maxplus II в базис БМКВведение В последнее время получили широкое применение программируемые логические устройства (ПЛУ). Эти устройства позволяют конечному пользователю задавать конкретные операции с помощью процесса, который называется программированием структуры связей схемы. Применение ПЛУ увеличивает эффективность проектирования и упрощает процесс разработки, поэтому большая часть современных цифровых систем разрабатывается именно на программируемых логических интегральных схемах (ПЛИС). Работа разработчика схем заключается при этом в обозначении выводов, расстановки логических элементов, связей между ними и написании тестов. Микросхема ПЛУ поставляется с соединительными звеньями, которые находятся внутри интегральной схемы, чтобы получить доступ к перемычкам, микросхему надо перевести в специальный режим, в котором на её определённые выходы подаются специальные (более высокие) напряжения. Этот процесс называется программированием ПЛУ. Микросхема помещается в специальный прибор - программатор. Большая часть современных программаторов присоединяется к персональному компьютеру с программным обеспечением, содержащим библиотеки с заложенной информацией о множестве типов программируемых устройств[1]. В микросхемах базовых матричных кристаллах (БМК) возможность такого программирования отсутствует. Такой недостаток существенно затрудняет возможность использования БМК для быстрого создания опытных образцов. С другой стороны использование ПЛИС, при среднесерийном производстве по сравнению с БМК экономически не выгодно. Поэтому в целях наиболее быстрого получения опытного образца, схема разрабатывается в системе проектирования ПЛИС, затем файлы проекта конвертируются в систему проектирования для БМК. Именно о таком процессе конвертирования пойдет речь далее. В настоящее время широкое распространение получило программное обеспечение Max+Plus II для проектирования ПЛИС фирмы Altera. Программа ConvChip разработанная автором данной статьи, позволяет конвертировать проект схемы из системы проектирования Max+Plus II, в систему моделирования Невод для микросхем на базе БМК. В процессе конвертирования, программа ConvChip осуществляет перевод структуры схемы, тестовых векторов и сопутствующей технической информации. При переводе тестов конвертор оставляет только те тестовые вектора, на которых реакция схемы полностью определена. Происходит определение значений, не задействованных выводов в тесте и объединение в один тест нескольких файлов временных диаграмм. Поскольку в Max+Plus II время поступления данных на входы микросхемы на протяжении всего теста постоянно изменяется, то происходит вычисление оптимального периода одинакового для всех тестовых воздействий. Вычисление данного периода необходимо, если контрольное и измерительное оборудование (КИО), на котором происходит тестирование схемы БМК не в состоянии менять период на протяжении теста. Коррекция тестовых воздействий осуществляется, конвертором с помощью множества опций и настроек, учитывающих специфику КИО и выбранной библиотеки БМК в системе Невод. Структура экспортного файла из Max+Plus II записана на языке EDIF - 2.0, который широко распространен на сегодняшний день. В процессе перевода проекта, конвертор преобразует данный язык во внутренний формат STR для системы моделирования. Базисы ПЛИС и БМК существенно отличаются, поэтому в процессе конвертирования структура схемы существенно модифицируется. Рассмотрим различные способы обработки структуры схемы. Организация синхронизации для триггеров различных типов Сразу после включения ПЛИС, происходит сброс всех триггеров. Таким образом, перед подачей первого тестового вектора содержимого каждого триггера известно[2]. После включения БМК состояние триггеров не определено, поэтому, после подачи тестовых векторов, реакция схемы становится не предсказуемой на протяжении нескольких тестов. Триггер может сохранять неопределённость на выходе на протяжении всего теста. Для устранения данной проблемы, конвертор устанавливает цепи сброса для всех триггеров. На рис. 1 показана исходная схема подключения для синхронного D - триггера из стандартной библиотеки Max+Plus II[3].
Конвертор устанавливает цепь сброса, которая включается только перед началом тестирования для обнуления содержимого всех триггеров. На рис. 2. показано подключение цепи сброса для данного D - триггера.
На схеме обозначены следующие выводы:
Если Reset =1, то CLRN=0, PRN=1 и сигналы Circuit_CLRN, Circuit_PRN игнорируются, т.е. триггер сбрасывается в нулевое значение. При Reset=0 цепь синхронизации отключается, и сигналы Circuit_CLRN и Circuit_PRN проходят на триггер. Устранение конфликтов источников для двунаправленных выходов. На рис. 3. показан фрагмент схемы с двунаправленными выводами.
Элемент с тремя состояниями TRI при сигнале OE=1 пропускает сигнал с входа Input на двунаправленный вывод Inout и выход Output. При сигнале OE=0 цепь входного сигнала Input отключена и сигнал с двунаправленного вывода Inout поступает на выход Output. Таким образом, с помощью элемента TRI в Max+Plus II осуществляется управление двунаправленным выводом. В Max+Plus II такое подсоединение не вызывает особых проблем, но в схеме полученной после конвертирования в базис БМК, в точке А. могут происходить конфликты источников сигналов. Выводов Input, Output и Inout в одной связи может быть несколько, поэтому и точек, где появляются конфликты сигналов, может быть очень много. Причем выводы могут быть разделены большим числом различных вентилей и функциональных блоков, число которых может достигать несколько тысяч. На рис.4 показан изначальный фрагмент схемы в базисе ПЛИС, в котором конвертор устраняет возможные конфликты источников при переводе проекта.
Для сокращения размеров рисунка, многоточием обозначаются элементы аналогичные изображенным с индексами 1,K,Q. Cir - произвольный фрагмент схемы разделяющий рассматриваемые выводы, её устройство на имеет принципиального значения. Эти схемы не рассматриваются конвертором при замене элементов TRI на схему TRI-BMC. Номера 1,K,Q после имени обозначают, что данные элементы аналогичны друг другу. Точки A(1..K..Q) показывают места возможных конфликтов источников входа с двунаправленным выводом. Точки B(1..K..Q) показывают места возможных конфликтов источников входа с выходом. Конвертор устраняет конфликты источников, путем замены элементов TRI на схему TRI-BMC, которая управляет режимом двунаправленного вывода. Рассмотрим алгоритм модификации схемы:
На рис.5. представлен фрагмент схемы после модификации по данному алгоритму.
Элемент TRI-BMC разрабатывается в базисе БМК, под конкретную библиотеку системы моделирования Невод. Принцип действия данного элемента состоит в управлении двунаправленным выводом путём разделения входящих потоков от вывода Input и вывода Inout работающего в режиме входа. Сокращение количества вентилей в структуре схемы после конвертирования Экспорт схемы в формат EDIF из программы Max+Plus II имеет множество недостатков:
Остановимся на последнем недостатке подробнее. На рис.6. показан типичный фрагмент схемы в формате EDIF после экспорта из Max+Plus II, который выполняет логику "ИЛИ" на элементе OR2. Cir - любая схема не представляющая интерес в данном случае. Элементы DELAY,AND1,OR1 и XOR2 не влияют на логику работы данной схемы. Поэтому их можно удалять из схемы, но при этом надо учитывать появившиеся "гонки" сигналов.
На рис.7. показан типичный фрагмент схемы, который сделан сразу в формате EDIF, без использования Max+Plus II. Данная схема также реализует логику "ИЛИ", но при этом число используемых вентилей на порядок меньше. Поэтому и ячеек БМК, необходимых для данного фрагмента схемы тоже будет на порядок меньше.
В процессе конвертирования структуры EDIF происходит упрощение многовходовых вентилей у которых часть выводов подключается на шину земли и питания. Поясним процесс упрощения. Пусть Е(К) - исходный многовходовый элемент с К входами, а Е(С) - преобразованный элемент с С входами. Если у элемента Е(К) существует А входов подключённых на землю или питание и эти входы не влияют на логику элемента, то С=К-А. Если А>=К-1, то С=0 или С=1, тогда элемент Е(С) удаляется из схемы. На пример, имеется элемент ИЛИ(10) у которого три входа подключены на землю, тогда этот элемент можно преобразовать к ИЛИ(7) . Попутно происходит удаление элементов с одним входом, которые не влияют не логику работы схемы. Иными словами, конвертор ConvChip производит "чистку" проекта от тех вентилей, которые практически не приводят к "гонкам" сигналов. Затем проект в базисе БМК моделируется. Затем проект в базисе БМК моделируется повторно. Если конвертор исправить "гонки" не в состоянии, то разработчик задаёт конвертору для анализа необходимые ветви схемы и исправляет "гонки" вручную. Как показывает практика, такая "чистка" сокращает изначальную схему в полтора - два раза, что существенно сказывается на экономии ресурсов кристалла БМК. Основные опции и настройки программ ConvChip Конвертор ConvChip содержит более двух сот различных опций, которые позволяют настраивать перевод проекта схемы под конкретные требования. Рассмотрим основные группы настроек:
Остановимся подробнее на каждом пункте.
Существует категория ошибок, которые не влияют на процесс моделирования конвертированной схемы в базисе БМК, но такие ошибки приведут к неопределённому поведению схемы, на этапе её изготовления[5]. Примером таких ошибок является нарушение нагрузочных способностей элементов. Для устранения этой ошибки конвертор ConvChip автоматически находит "перегрузки" и формирует цепь усиления сигнала. Естественно, что на логику процесса моделирования такая ошибка не повлияет, но реальная схема может работать не корректно. Заключение Рассматриваемый конвертор, имеет большое количество различных инструментальных средств, позволяющих анализировать работу схемы. В настоящее время существуют пакеты программ, позволяющие выполнять рассматриваемый перевод схем, но ни один из них не имеет функций необходимых для оптимального перевода проектов их базиса ПЛИС в базис БМК. Как правило, данные программы только переводят схему и тесты из одного формата в другой, без каких - либо изменений, которые рассматривались в данной статье. К тому же, они не имею гибкой настройки под конкретную библиотеку БМК. Литература
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|