Автоматизация проектирования цифровых СБИС на базе матриц Вайнбергера
Автоматизация проектирования цифровых СБИС на базе матриц Вайнбергера
МАТРИЧНЫЕ МИКРОПРОЦЕССОРЫ
Матричные микропроцессоры можно рассмотреть с двух сторон: на уровне транзисторных матриц и матриц процессоров.
Использование матриц при проектировании процессоров может быть двухсторонним: матрицы транзисторов для проектирования микропроцессоров и матрицы микропроцессоров для проектировании процессорных систем.
Использование матриц при построении процессорных систем не ограничивается соединением процессоров по конвейерному принципу. Подобную архитектуру можно использовать также и при проектировании ИС с использованием транзисторных матриц, выполненных по МОП-технологии. Рассмотрим оба варианта применения матриц.
ТРАНЗИСТОРНЫЕ МАТРИЦЫ
Сокращение сроков проектирования микропроцессоров и повышение надежности проектов требуют применения соответствующих систем автоматизации проектирования. Одним из самых перспективных направлений в настоящее время считается подход к сквозной автоматизации проектирования, называемой кремниевой компиляцией, позволяющий исходное задание на проектирование - функциональное описание, представленное на языке высокого уровня, преобразовать в топологические чертежи. Кремниевые компиляторы используют в качестве базовых регулярные матричные структуры, хорошо приспособленные к технологии СБИС. Большое распространение получили программируемые логические матрицы (ПЛМ) и их различные модификации. Они ориентированы на матричную реализацию двухуровневых (И, ИЛИ) логических структур, а также для оптимизации их параметров (площади, быстродействия) известны различные методы. Реализация многоуровневых логических структур СБИС часто опирается на матричную топологию: в этом случае компиляторы генерируют топологию по ее матричному описанию.
Транзисторные матрицы
Особым стилем реализации топологии в заказных КМОП СБИС являются транзисторные матрицы. В лэйауте (англ. layout - детальное геометрическое описание всех слоев кристалла) транзисторных матриц все p-транзисторы располагаются в верхней половине матрицы, а все n-транзисторы - в нижней. Транзисторные матрицы имеют регулярную структуру, которую составляют взаимопересекающиеся столбцы и строки. В столбцах матрицы равномерно расположены полосы поликремния, образующие взаимосвязанные затворы транзисторов. По другим полюсам транзисторы соединяются друг с другом сегментами металлических линий, которые размещаются в строках матрицы. Иногда, для того чтобы соединить сток и исток транзисторов, находящихся в различных строках, вводят короткие вертикальные диффузионные связи. В дальнейшем ТМ будет представляться абстрактным лэйаутом.
Абстрактный лэйаут - схематический рисунок будущего кристалла, где прямоугольники обозначают транзисторы, вертикальные линии - поликремниевые столбцы, горизонтальные - линии металла, штриховые - диффузионные связи, точки - места контактов, стрелки - места подключения транзисторов к линиям Gnd и Vdd. При переходе к послойной топологии стрелки должны быть заменены полосками в диффузионном слое, по которому осуществляются соединения между строками ТМ.
На рис. 1.а представлена транзисторная схема, а на рис. 1.б - транзисторная матрица, реализующая данную схему.
Символическое представление топологии транзисторных матриц.
Одной из завершающих стадий получения топологии транзисторных матриц является переход от символического лэйаута к топологическому описанию схемы на уровне слоев. Символические лэйауты конструируются путем размещения символов не решетке, которая служит для создания топологии заданной схемы. Каждый символ представляет геометрию, которая может включать любое число масочных уровней. Схемотехника транзисторных матриц позволяет использовать небольшое число различных символов, требуемых для описания лэйаута:
N - n-канальный транзистор;
P - p-канальный транзистор;
+ - надпересечение - металл над диффузией; металл над поликремнием; пересекающиеся вертикальный и горизонтальный металлы;
- контакт (к поликремнию либо диффузии);
! - p-диффузия;
- n-диффузия, либо поликремний;
: - металл в вертикальном направлении;
- металл в горизонтальном направлении.
Каждый символ транзистора соответствует транзистору минимального размера. Однако ширина канала может увеличиваться многократным повторением символа. Только один символ «+» требуется для того, чтобы обозначить пересечение всех трех уровней взаимосвязей: а именно, металл над диффузией, металл над поликремнием и пересекающийся вертикальный и горизонтальный металлы. Символ контакта «» используется для того, чтобы определить контакт металла к поликремнию или диффузии. Символ «» используется для представления либо поликремниевых, либо n-диффузионных проводников. Символ для диффузии p-типа «!» требуется для различия ее от диффузии n-типа, которая может существовать в том же столбце. Символы для металла «:» либо «-» обозначают вертикальные или горизонтальные линии металла соответственно. На рис. 1.в. дано символьное представление лэйаута транзисторной матрицы, а на рис. 1.г. - заключительный лэйаут.
Если логическая схема построена на базе элементов, для которых нет транзисторных описаний в библиотеках, то возникает сложная задача получения требуемых представлений схемы, особенно, когда имеются дополнительные требования к параметрам - площади, быстродействию и т.д. Задача перехода от логического описания комбинационной логики в одном базисе к описанию в другом базисе в настоящее время решается по нескольким направлениям.
1. Глобальная оптимизация. Сначала осуществляется переход к системе дизъюнктивных нормальных форм (ДНФ), которая обычно минимизируется, а затем представляется в виде многоуровневой логической сети, реализуемой в требуемом базисе. Основная оптимизация ведется при построении многоуровневой сети - обычно это сеть в базисе И, ИЛИ, НЕ, а основным критерием сложности является критерий числа литералов (букв) в символическом (алгебраическом) представлении булевых функций. Методы оптимизации опираются либо на функциональную декомпозицию, либо на факторизацию (поиск общих подвыражений) в алгебраических скобочных представлениях функций, реализуемых схемой. Заключительный этап - реализацию в требуемом базисе принято называть технологическим отображением. Именно на этом этапе можно оценить максимальную задержку схемы - задержку вдоль критического пути. Предполагается, что в узлах схемы установлены базисные элементы.
2. Локальная оптимизация. Замена одних базисных логических операторов другими осуществляется путем анализа локальной области схемы. Поиск фрагментов и правила их замены другими может осуществляться с помощью экспертной системы. Так, например, устроена система LSS.
Подробно обзор многих методов оптимизации многоуровневых логических схем приведен в [0].
МАТРИЧНЫЕ ПРОЦЕССОРЫ
Матричные процессоры наилучшим образом ориентированы на реализацию алгоритмов обработки упорядоченных (имеющих регулярную структуру) массивов входных данных. Они появились в середине 70-х годов в виде устройств с фиксированной программой, которые могли быть подключены к универсальным ЭВМ; но к настоящему времени в их программирования достигнута высокая степень гибкости. Зачастую матричные процессоры используются в качестве вспомогательных процессоров, подключенных к главной универсальной ЭВМ. В большинстве матричных процессоров осуществляется обработка 32-х разрядных чисел с плавающей запятой со скоростью от 5000000 до 50000000 флопс. Как правило они снабжены быстродействующими портами данных, что дает возможность для непосредственного ввода данных без вмешательства главного процессора. Диапазон вариантов построения матричных процессоров лежит от одноплатных блоков, которые вставляются в существующие ЭВМ, до устройств, конструктивно оформленных в виде нескольких стоек, которые по существу представляют собой конвейерные суперЭВМ.