СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ
УДК 621.3.049
Маршрут проектирования с автоматической конвертацией проектов синхронных СБИС в асинхронные
А.В.Ковалев, Б.Г.Коноплев Технологический институт Южного федерального университета в г. Таганроге
П.Н.Бибило
Объединенный институт проблем информатики НАН Беларуси
Для эффективного проектирования асинхронных схем предложена автоматическая конвертация синхронных схем в асинхронные в виде маршрута сквозного проектирования, этапы выполнения которого базируются на существующих коммерческих и специально разработанных подсистемах САПР сверхбольших интегральных схем (САПР СБИС). Новизна маршрута состоит в использовании оригинальных алгоритмов и реализующих их подсистем САПР на этапах оптимизации ЯТЬ-описаний, синтеза комбинационной логики, преобразования в асинхронный базис и синтеза топологии.
Асинхронные схемы имеют следующие основные преимущества перед синхронными: сниженное энергопотребление (за счет отсутствия цепей глобального тактирования и работы каждого компонента в своем оптимальном темпе), потенциально более высокое быстродействие (отсутствие ожидания тактовых фронтов), низкое электромагнитное излучение (сглаженные пики тока), устойчивая работа без сбоев в широких диапазонах питающего напряжения, температуры и технологических параметров (необходимо только физическое сохранение переключательных свойств элементов базиса реализации), более простое интегрирование и повторное использование (интерфейсы с подтверждением), отсутствие проблем распределения и рассинхронизации фаз тактовых сигналов [1].
На заре развития цифровых систем в середине 50-х гг. XX в. синхронные схемы проектировались на основе статических моделей, а асинхронные методологии проектирования изначально были ориентированы на динамические модели схем, которые по определению более сложны. Это требовало применения развитых САПР и эффективных методологий верификации, которые отсутствовали. Данное обстоятельство в итоге определило на долгие годы выбор в пользу синхронной методологии [2]. Поэтому при всех потенциальных преимуществах асинхронных схем до сих пор преобладают синхронные системы.
За прошедшее время ситуация изменилась в лучшую сторону. В частности, переход к субмикронной технологии и необходимость ориентации САПР СБИС на поведенческий стиль проектирования привел к некоторому выравниванию сложности проектирования асинхронных и синхронных СБИС. Тем не менее, разработка асинхронных проектов СБИС - все еще достаточно трудоемкая задача, которая требует, во-первых,
© А.В.Ковалев, Б.Г.Коноплев, П.Н.Бибило, 2009
изучения особенностей асинхронной схемотехники и, во-вторых, нетривиального решения проблем функционально-временной верификации.
Разработка автоматических средств перевода схем, спроектированных традиционными «синхронными» САПР, в асинхронный базис является актуальной задачей, решение которой позволит резко сократить время и число ошибок проектирования. Конечно, еще имеются некоторые ограничения по прямой конвертации, однако уже сейчас можно без особых проблем конвертировать синхронные комбинационные схемы и конечные автоматы в асинхронные блоки СБИС.
В настоящей работе рассматривается маршрут прямой конвертации синхронных проектов, полученных на основе традиционных инструментов, таких как VHDL, Ver-ilog или схемный редактор, в их асинхронный функциональный аналог. Преимущества данного подхода в том, что все функции тестирования и отладки могут быть осуществлены на оригинальной синхронной версии проекта и прямая трансляция требует от разработчика минимального вмешательства в процесс построения асинхронного проекта.
Традиционный подход к выполнению подобной конвертации состоит в так называемой десинхронизации, когда все синхронные элементы и структуры заменяются их асинхронными аналогами. Причем заменяются не только все элементы, но и ветвления проводников. Далее проводится оптимизация по различным параметрам (скорости, площади, энергопотреблению). Например, в работе [3] описан маршрут с применением коммерческих САПР, однако он ориентирован на методологию NCL-проектирования, которая не всегда позволяет получать оптимальные решения.
Для повышения эффективности разработки асинхронных СБИС, за счет использования лучших достижений «синхроники» и новых методологий построения асинхронных схем, предлагается маршрут сквозного проектирования, этапы реализации которого базируются на существующих коммерческих и авторских специализированных подсистемах САПР. На рис.1 показана блок-схема предлагаемого маршрута. Этапы, заключенные в пунктирную область, содержат разработанные авторами алгоритмы и программные средства, подробности реализации которых описываются в других источниках.
Маршрут состоит из следующих этапов:
1. Определение требований для проекта.
2. Создание HDL-описания (HDL - Hardware Description Language) цифрового устройства.
3. Моделирование и отладка HDL-описания.
4. Логический синтез с использованием коммерческих компиляторов. Получение RTL-описания (RTL - Register Transfer Level) проекта.
5. Оптимизация RTL-описания и повторный синтез в базис универсальных n-входовых элементов (n = 1, 2, 3, 4).
6. Формальная верификация на логическом уровне.
7. Создание логических таблиц для всех универсальных элементов, входящих в синтезированную схему.
8. Схемотехнический (на транзисторном уровне) синтез каждого универсального элемента.
9. Сборка схемы на транзисторном уровне.
10. Верификация общей транзисторной схемы с использованием SPICE-симулятора.
11. Топологический синтез каждого универсального элемента.
12. Общий топологический синтез схемы из универсальных элементов.
13. Экстракция схемы из топологии.
14. Формальная верификация схемы на схемотехническом уровне.
Рис.1. Маршрут проектирования асинхронных схем
Создание HDL-описания цифрового устройства. С помощью языков описания аппаратуры высокого уровня (VHDL/Verilog) цифровая система может быть описана на поведенческом, структурном и потоковом уровнях, что в дальнейшем используется на стадиях проектирования, верификации, синтеза и тестирования аппаратуры, а также в целях передачи данных о проекте, его модификации и сопровождения. Создание исходного кода может быть осуществлено разработчиками в соответствующих коммерческих подсистемах САПР или в обычных текстовых редакторах.
Моделирование и отладка HDL-описания. Для своевременного обнаружения возможных ошибок средства HDL-моделирования должны обеспечивать возможность контроля результатов создания исходных HDL-описаний. Такой подход обеспечивает минимальное время разработки устройства и сокращает стоимость этого процесса, так как цена ошибки возрастает с каждым последующим шагом проектирования. Верифицированная функциональная модель служит основой для синтеза на уровне логических вентилей (библиотечных компонентов) [4].
На данном этапе используется любое коммерческое программное обеспечение, например пакет Model Sim корпорации Model Technology (подразделение компании Mentor Graphics) [5].
Логический синтез. Получение RTL-описания проекта. Переход от модели на функциональном или поведенческом уровне к описанию на уровне регистровых передач (RTL-уровне) осуществляется либо вручную написанием соответствующего кода на языке описания аппаратуры, либо с использованием специализированных средств синтеза высокого уровня, позволяющих получить RTL-описание на HDL [6, 7].
На данном этапе может быть применен коммерческий компилятор, осуществляющий достаточно качественный логический синтез, например Leonardo Spectrum (Mentor Graphics) [7, 8].
Оптимизация и повторный синтез в базис универсальных (1-4)-входовых элементов. Все предыдущие этапы - фактически известные этапы проектирования синхронных проектов. С данного этапа начинается использование новых специализированных процедур. Первой из таких процедур является автоматическая конвертация синхронных схем в базис, удобный для синтеза функциональных блоков асинхронных схем.
На этом этапе предлагается провести декомпозицию комбинационной части синхронной схемы в сеть из универсальных n-входовых элементов, причем n может принимать значения от 1 до 4 (рис.2). Ограничение сверху на число n входов универсального элемента обусловлено особенностями схемотехники асинхронных элементов с логическим гистерезисом.
=□1
Рис.2. Декомпозиция на универсальные элементы
Все процедуры этапа осуществляются разработанной программной системой SVTag, которая является модификацией системы СиВер [9]. СиВер - это система синтеза и верификации многовыходных комбинационных схем в базисе библиотек проектирования базовых матричных кристаллов. Исходными данными являются матричные и скобочные описания систем булевых функций, а также описания на языке VHDL. Система СиВер сопряжена по интерфейсу с системой синтеза LeonardoSpectrum и имеет программы логической минимизации и верификации, отсутствующие в LeonardoSpectrum. Совместное использование СиВер и LeonardoSpectrum позволяет получать логические схемы, имеющие меньшую сложность и задержку.
В SVTag, помимо заимствованных из СиВер функций, имеется новая процедура покрытия RTL-описаний и-входовыми универсальными логическими элементами. Таким образом, SVTag оптимизирует исходное RTL-описание и затем формирует комбинационную логику в виде сети универсальных (1-4)-входовых элементов. Результатом данного этапа является структурное VHDL-описание.
Формальная верификация. Автоматическая формальная верификация параллельных систем с конечным числом состояний позволяет проверить, удовлетворяет ли заданная модель системы формальным спецификациям. Система SVTag выполняет формальную логическую верификацию комбинационных схем и полученных RTL-описаний.
Создание логических таблиц для каждого универсального (1-4)-входового элемента схемы. На данном этапе для каждого универсального элемента схемы строится промежуточная таблица истинности, предназначенная для удобства выполнения схемотехнического синтеза на следующем этапе. Таблицы строятся и записываются в отдельные файлы специализированным программным модулем, включающим в себя синтаксический анализатор и калькулятор выражений.
Схемотехнический (на транзисторном уровне) синтез универсального элемента. На данном этапе синтезируются не чувствительные к задержкам элементы, ориентированные на работу с двухпроводными сигналами по 4-фазному протоколу.
Для каждого универсального элемента на основе таблицы истинности формируется транзисторная схема по следующему алгоритму:
- на основе исходной таблицы истинности, описывающей состояния информационных сигналов блока, составляется расширенная таблица истинности, покрывающая бистабильные состояния пары выводов информационных сигналов блока (для каждого бита информации d один проводник d.t используется для сигнализирования логической «1», а другой проводник d.f - для сигнализирования логического «0»). Пара проводников {d.f, d.t} представляет собой кодовое слово: {1,0} - кодирует логический «0», {0,1} - кодирует логическую «1», {0,0} - соответствует отсутствию данных (нулевое состояние - NULL), {1,1} - неиспользуемое, запрещенное состояние;
- составляются цепочки последовательно соединенных ^-канальных транзисторов, устанавливающих выходные сигналы C1 и C0 в состояние 0 (как показано на рис.3). Здесь строятся части схемы с именами «nulls to 0 of C1» и «nulls to 0 of C0». В последовательные цепочки включаются транзисторы, входы которых по расширенной таблице истинности находятся в состоянии 0 при нахождении C1 и C0 в состоянии 0. Далее последовательные цепочки транзисторов соответствующих компонент объединяются параллельно;
- составляются цепочки последовательно соединенных и-канальных транзисторов, устанавливающих сигналы C1 и C0 в состояние 1. Строятся части схемы с именами «nulls to 1 of C1» и «nulls to 1 of C0». В последовательные цепочки включаются транзисторы, входы которых по расширенной таблице истинности находятся в состоянии 1 при нахождении C1 и C0 в состоянии 1. Далее последовательные цепочки транзисторов соответствующих компонент объединяются параллельно;
Рис.3. Пример схемной реализации 2-входового элемента
- проводится оптимизация полученных схем путем удаления избыточных транзисторов и их цепочек, которые представляются орграфом с узлами - транзисторами и ребрами - их соединениями. Ребра такого орграфа направлены в одну выбранную сторону. После удаления избыточных узлов и ребер из орграфа путем анализа путей из направленных ребер удаляются петли и объединяются дублирующие друг друга узлы.
Данный этап выполняется с помощью специализированного программного модуля, который воспринимает файлы формата .Е1§ и выводит результат как во внутреннем формате, так и в БРГСЕ-формате для цифро-аналогового моделирования.
Общая сборка схемы на транзисторном уровне. После схемного синтеза элементов производится их общая сборка в единую схему, включающую в себя все двухсигнальные цепи и сигналы подтверждения. На рис.4 приведен пример схемы, собранной по схеме рис.2.
Верификация схемы с использованием 8Р1СЕ-подобных средств схемотехнического моделирования. Необходимость моделирования синхронных схем на детальном схемотехническом уровне определяется тем, что при их проектировании нельзя обойтись только логическим моделированием, которое не учитывает всех паразитных параметров.
Для асинхронных схем более важно логическое моделирование, а схемотехническое моделирование может быть проведено на упрощенном уровне. Это становится возможным благодаря тому, что корректность функционирования асинхронных схем гораздо менее подвержена технологическим разбросам и слабо зависит от условий эксплуатации СБИС. В этом одно из их достоинств. Полностью избежать схемотехнического моделирования асинхронных схем не получится - нужно оценить задержки, потенциальное быстродействие.
В зависимости от сложности проекта циклы схемотехнического моделирования и проектирования топологии могут выполняться на разных уровнях иерархии проекта, чередуясь с этапами верификации топологии и коррекции электрической схемы.
Топологический синтез универсальных элементов. Здесь многократно выполняется процедура формирования рисунков слоев для каждого универсального элемента. Для этой цели необходима специализированная подсистема САПР, которая будет вос-
Рис.4. Схема, собранная из универсальных элементов
принимать транзисторные схемы элементов и синтезировать их топологию с применением оптимизации по различным параметрам.
При формировании топологии применяется разработанный метод на основе стандартных ячеек. Каждая ячейка представляет собой топологический рисунок (1-4)-входового стандартного элемента фиксированной высоты. Ширина ячейки определяется технологическими нормами, количеством входов и параметризацией конкретного элемента.
Общий топологический синтез схемы на основе блоков универсальных элементов. Данный этап подразумевает сборку общей топологии СБИС с использованием рисунков элементов, полученных на предыдущем этапе. Здесь необходимыми процедурами являются размещение элементов и их трассировка. Этап может проводиться как специализированной подсистемой, так и коммерческими САПР, поскольку необходимые процедуры являются традиционными и оперируют с заранее подготовленной по правилам метода библиотекой элементов.
Экстракция схемы из топологии. Применение любой коммерческой программы контроля топологии (DRC), экстракции и сравнения (LVS), например Assura Physical Verification, Assura LVS (Cadence) [11], в едином маршруте позволяет получить полностью свободную от ошибок топологию проектируемой СБИС.
Верификация схемы. Моделирование с учетом статистического разброса параметров элементов позволяет спроектировать СБИС с максимальным процентом выхода годных кристаллов. Для асинхронных схем при прочих равных условиях выход годных будет в несколько раз выше, чем у синхронных [12].
Разработанный маршрут проектирования асинхронных СБИС основан на двух условных типах подсистем САПР: коммерческих синхронных и специализированных. Авторами привнесены усовершенствования в ряд традиционных этапов и разработаны подсистемы логической верификации, оптимизации RTL и схемного синтеза в сеть универсальных элементов, формирования логических таблиц, схемотехнического синтеза транзисторных структур универсальных элементов. Подсистемы сборки общей схемы и топологического синтеза универсальных элементов находятся на стадии разработки.
Данный маршрут может применяться разработчиками для проектирования асинхронных СБИС, используя некоторые преимущества традиционной «синхронной» концепции.
Литература
1. Muller D., Bartky W. A theory of asynchronous circuits II Annals of computation laboratory of Harvard University. - 1959. - Vol. 29. - P. 2G4-243.
2. Филин А.В., Степченков Ю.А. Компьютеры без синхронизации II Системы и средства информатики: сб. - М.: Наука. - 1999. - Вып. 9. - С. 247-261.
3. Asynchronous design using commercial HDL synthesis tools I M.Ligthart, K.Fant, R.Smith et al. II Proc. of the 6-th International Symposium on Advanced Research in Asynchronous Circuits and Systems, 2GGG (ASYNC 2GGG). - IEEE Computer Society Washington, DC, USA, 2GGG. - P. 114-125.
4. Армстронг Дж.Р. Моделирование цифровых систем на языке VHDLI Пер. с англ. - М.: Мир, 1992. - 175 с.
5. ModelSim. Advanced Simulation and Debug Datasheet II Mentor Graphics Corporation, 2GG8.
6. Бибило П.Н. Синтез логических схем с использованием языка VHDL. - М.: Солон-Р, 2GG2. - 384 с.
7. Бибило П.Н. Cистемы проектирования интегральных схем на основе языка VHDL. StateCAD, ModelSim, LeonardoSpectrum. - М.: СОЛОН-Пресс, 2GG5. - 384 с.
8. LeonardoSpectrum with Leonardolnsight. Datasheet II Mentor Graphics Corporation, 2GG3.
9. Бибило П.Н., Кардаш С.Н., Романов В.И. СиВер - система синтеза и верификации комбинационных логических схем II Информатика. - 2GG6. - № 4. - С. 79-87.
10. Ковалев А.В. Метод проектирования быстродействующих асинхронных цифровых устройств с малым энергопотреблением // Изв. вузов. Электроника. - 2009. - № 1(75). - С. 48-53.
11. Assura Layout vs. Schematic (LVS) Verifier. Datasheet // Cadence Design Systems, Inc., 2007.
12. Peter A. Beerel, Nam-Hoon Kim, Andrew Lines, Mike Davies. Slack matching asynchronous designs // In ASYNC '06: Proc. of the 12-th IEEE International Symposium on Asynchronous Circuits and Systems, IEEE Computer Society, Washington, DC, USA, 2006. - P. 184-190.
Статья поступила после доработки 10 февраля 2009 г.
Ковалев Андрей Владимирович - кандидат технических наук, доцент кафедры конструирования электронных средств ТТИ ЮФУ. Область научных интересов: методы и средства автоматизированного проектирования заказных СБИС, асинхронные цифровые устройства, микроэлектроника.
Коноплев Борис Георгиевич - доктор технических наук, профессор, декан факультета электроники и приборостроения ТТИ ЮФУ. Область научных интересов: микроэлектроника и методы автоматизированного проектирования.
Бибило Петр Николаевич - доктор технических наук, профессор, заведующий лабораторией логического проектирования Объединенного института проблем информатики НАН Беларуси. Область научных интересов: теория дискретных устройств, автоматизация проектирования дискретных устройств и цифровых СБИС.
Информация для читателей журнала «Известия высших учебных заведений. Электроника»
С тематическими указателями статей за 1996 - 2008 гг., аннотациями и содержанием последних номеров можно ознакомиться на нашем сайте:
h ttp ://www. miet.ru/static/je/os. html