АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ СБИС НА БАЗЕ МАТРИЦ ВАЙНБЕРГЕРА И ТРАНЗИСТОРНЫХ МАТРИЦ
Введение. Все большую долю в общем объеме ИС составляют заказные цифровые ИС, выполненные в основном, по МОП-технологии. Сокращение сроков проектирования и повышение надежности проектов требуют применения соответствующих систем автоматического проектирования. Одним из самых перспективных направлений в настоящее время считается подход к сквозной автоматизации проектирования, называемой кремниевой компиляцией, позволяющей исходное задание на проектирование - функциональное описание, представленное на языке программирования высокого уровня, преобразовать в топологические чертежи. Кремниевые компиляторы используют в качестве базовых регулярные матричные структуры, хорошо приспособленные к технологии СБИС.Большое распространение получили программируемые логические матрицы (ПЛМ) и их различные модификации. Они ориентированы на матричную реализацию двухуровневых (И, ИЛИ) логических структур, а также для оптимизации их параметров (площади, быстродействия) известны различные методы.
Заключительный этап - реализацию в требуемом базисе принято называть технологическим отображением. Именно на этом этапе можно оценить максимальную задержку схемы - задержку вдоль критического пути. Предполагается, что в узлах схемы установлены базисные элементы.
2. Локальная оптимизация. Замена одних базисных логических операторов другими осуществляется путем анализа локальной области схемы. Поиск фрагментов и правила их замены другими может осуществляться с помощью экспериментальной системы. Так, например, устроена система LSS.
Оптимизация МВ на логическом уровне представляет более простую задачу. На этом этапе обычно минимизируетсячисло операторов f = k1 V ... V kl - по существу число столбцов МВ. Минимизация числа строк происходит на этапе топологического проектирования.
Подробно обзор многих методов оптимизации многоуровневых логических схем приведена в [4]. Заключая данный раздел, можно сказать, что актуальной проблемой является проблема разработки методов оптимизации многоуровневых структур с учетом последующей базовой топологической реализации. Проблема осложняется тем, что нужно выработать еще соответствующие критерии оптимизации. Если для ПЛМ критерий минимальности числа термов адекватен сложности последующей топологической реализации, то для МВ и, особенно для ТМ, типичной дилеммой при минимизации площади является следующая - провести дополнительную связь, либо установить дополнительный элемент. Может оказаться так, что сильная связность схемы может быть неприемлемой из-за больших затрат площади кристалла под соединения элементов.
Заключение. В обзоре представлены основные подходы к проектированию структур заказных цифровых СБИС на базе основных моделей матриц Вайнбергера и транзисторных матриц.
Модификация основной модели МВ, когда снимаются требования подключения каждого столбца к линии «земли»; реализация каждой переменной только в одной стоке матрицы; невозможности дублирования линий «земли» и нагрузки; приводит к новым формальным постановкам задач оптимизации параметров МВ, хотя и для основной модели не все проблемы решены - открыта, например, проблема синтеза МВ с заданным быстродействием.
Таким образом, важнейшими проблемами, решаемыми в настоящее время для МВ и ТМ, являются проблемы разработки формальных методов синтеза, которые позволяли бы гибко оптимизировать такие характеристики, как площадь, быстродействие, габариты, электрические параметры схем. Данные проблемы в настоящее время актуальны не только для МВ и ТМ - подобные проблемы находятся в центре внимания разработчиков САПР заказных цифровых СБИС и применительно к другим базовым структурам.
Матричные процессоры
Матричные процессоры наилучшим образом ориентированы на реализацию алгоритмов обработки упорядоченных (имеющих регулярную структуру) массивов входных данных. Они появились в середине 70-ых годов в виде устройств с фиксированной программой, которые могли быть подключены к универсальным ЭВМ; но к настоящему времени в их программировании достигнута высокая степень гибкости. Зачастую матричные процессоры используются в качестве вспомогательных процессоров, подключаемых к главной универсальной ЭВМ. В большинстве матричных процессоров осуществляется обработка 32 разрядных циклов с плавающей запятой со скоростью от 5000000 до 50000000 флопс. Как правило, они снабжены быстродействующими портами данных, что дает возможность для непосредственного ввода данных без вмешательства главного процессора. Диапазон вариантов построения матричных процессоров лежит от одноплатных блоков, которые вставляются в существующие ЭВМ до устройств, конструктивно оформленных в виде нескольких стоек, которые по существу представляют собой конвейерные суперЭВМ.
Типичными видами применения матричных процессоров является обработка сейсмической и акустической информации, распознавание речи; для этих видов обработки характерны такие операции, как быстрое преобразование Фурье, цифровая фильтрация и действия над матрицами. Для построения относительно небольших более экономичных в работе матричных процессоров используются разрядно-модульные секции АПУ в сочетании с векторным процессором, реализованным на основе биполярного СБИС-процессора с плавающей запятой.
Вероятно, в будущем матричные процессоры будут представлять собой матрицы процессоров, служащие для увеличения производительности процессоров сверх пределов, установленных шинной архитектурой.
Главным архитектурным различием между традиционными ЭВМ, предназначенными для обработки научной и коммерческой информации, является то, что последние (мини-, супермини-, универсальные и мега-универсальные ЭВМ) имеют главным образом скалярную архитектуру, а машины для научных расчетов (супер-, минисупер-ЭВМ и матричные процессоры) - векторную. Скалярная ЭВМ (рис. 1.) имеет традиционную фон-неймановскую, то есть SISD-организацию, для которой характерно наличие одной шины данных и последовательное выполнение обработки одиночных элементов данных. Векторная машина (рис. 2.) имеет в своем составе раздельные векторные процессоры или конвейеры, и одна команда выполняется в ней над несколькими элементами данных (векторами)
Векторные архитектуры - это в основном архитектуры типа SISD, но некоторые из них могут относиться к классу MIMD. Векторная обработка увеличивает производительность процессорных элементов, но не требует наличия полного параллелизма в ходе обработки задачи.
Для реализации обработки сигналов матрицы МЛМД могут быть реализованы в виде систолических или волновых матриц.
Систолическая матрица состоит из отдельных процессорных узлов, каждый из которых соединен с соседним посредством упорядоченной решетки. Большая часть процессорных элементов располагает одинаковыми наборами базовых операций, и задача обработки сигнала распределяется в матричном процессоре по конвейерному принципу. Процессоры работают синхронно, используя общий задающий генератор тактовых сигналов, поступающий на все элементы.
В волновой матрице происходит распределение функций между процессорными элементами, как в систолической матрице, но в данном случае не имеет места общая синхронизация от задающего генератора. Управление каждым процессором организуется локально в соответствии с поступлением необходимых входных данных от соответствующих соседних процессоров. Результирующая обрабатывающая волна распространяется по матрице по мере того, как обрабатываются входные данные, и затем результаты этой обработки передаются другим процессорам в матрице.
МКМД (множественный поток команд, множественный поток данных.) Множественный поток команд предполагает наличие нескольких процессорных узлов и, следовательно, нескольких потоков данных. Примерами такой архитектуры являются мультипроцессорные матрицы.
Транспьютер Inmos Т414 предназначен для построения МКМД структур; для обмена информацией с соседними процессорами в нем предусмотрены четыре быстродействующие последовательных канала связи. Имеется встроенная память большой емкости, которая может быть подключена к интерфейсу шины памяти. Разрядность местной памяти каждого транспьютера наращивает разрядность памяти системы; таким образом, полная разрядность памяти пропорциональна количеству транспьютеров в системе. Суммарная производительность также возрастает прямо пропорционально числу входящих в систему транспьютеров.
В дополнение к параллельной обработке, реализуемой транспьютерами, предусмотрены специальные команды для разделения процессорного времени между одновременными процессорами и обмена информацией между процессорами. Хотя программирование транспьютеров может выполняться на обычных языках высокого уровня, для повышения эффективности параллельной обработки был разработан специальный язык Okkam.
Транзисторные матрицы (ТМ) являются одной из популярных структур для проектирования топологии макроэлементов заказных цифровых СБИС, выполняемых по КМОП-технологии, ТМ имеют регулярную матричную топологию, получение которой может быть автоматизировано, что привлекает к ним разработчиков кремниевых компиляторов. Известные методы проектирования ТМ ориентированы на минимизацию площади кристалла, занимаемую информационными транзисторами, и оставляет в стороне вопрос о минимизации площади, требуемой для разводки шин «земли» (Gnd)и «питания» (Vdd). В данной статье предлагается метод минимизации числа шин Gnd и Vdd в ТМ, после того, как ее площадь была минимизирована с помощью методов [4,5].