Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000429.doc
Скачиваний:
23
Добавлен:
30.04.2022
Размер:
4.02 Mб
Скачать
    1. Проектирование цифровых интегральных схем

За последние два десятилетия плотность интеграции и быстродействие инте­гральных схем претерпели поражающие воображение изменения. В 1960 году Гордон Мур, тогда работавший в корпорации Fairchild Corporation и позднее ставший одним из основателей компании Intel, предсказал, что количество транзисторов, размещаемых на одном кристалле микросхемы, будет расти со временем по экспоненте. Это предсказание, позднее названное законом Му­ра, оказалось удивительно прозорливым. Величина степени интеграции приблизительно удваивается каждые один или два года. В результате с 1970 года плотность интеграции схем памяти, например, возросла более чем тысячекратно. Интересное явление представляют собой микропроцессоры. С момента их появления в начале 1970-х годов быстродействие и плотность интегра­ции микропроцессоров росли с постоянной и предсказуемой скоростью. За последнее десятилетие тактовая частота удва­ивалась каждые три года и теперь уже достигла гигагерцевого диапазона.

В условиях быстрого развития технологии проектиро­вания критически важным моментом в достижении коммерческого успеха изделия становится время до его появления на рынке.

Как результат, разработчики начали все в большей степени придержи­ваться жестких методологий проектирования и стратегий, которые были бо­лее податливы автоматизации процесса проектирования.

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

Очевиден следующий вопрос: почему такой подход оказался жизнеспособ­ным в мире цифровых приборов и не прижился (или прижился в меньшей степени) при проектировании аналоговых устройств? В данном случае крае­угольной и наиболее важной в плане преодоления проблемы сложности оказа­лась концепция абстрагирования. На каждом уровне конструирования можно абстрагироваться от внутренних деталей строения сложного модуля и заме­нить их черным ящиком, или моделью. Такая модель содержит фактически всю информацию, необходимую для проектирования блока, принадлежащего следующему уровню иерархии. Например, после того, как разработчик со­здал модуль умножителя, характеристики этого модуля могут быть описаны с высокой точностью и введены в модель. В общем случае характеристики модуля только в весьма незначительной степени зависят от способа его ис­пользования в более крупной системе. Поэтому в большинстве случаев он может рассматриваться как черный ящик с известными характеристиками. Поскольку у проектировщика системы отсутствует настоятельная необходи­мость лезть внутрь такого ящика, сложность проектирования значительно снижается. Влияние подобного подхода "разделяй и властвуй" огромно. Вме­сто того чтобы иметь дело с мириадами элементов, разработчику достаточно рассматривать всего лишь горстку компонентов, каждый из которых в плане работы и стоимости характеризуется небольшим набором параметров.

Это похоже на работу разработчика программного обеспечения, исполь­зующего библиотеку подпрограмм, например драйверов ввода-вывода. Тому, кто пишет большую программу, вовсе не надо лезть внутрь библиотечных подпрограмм. Единственное, что его волнует, так это получение ожидаемого результата после обращения к одному из таких программных модулей. Мож­но только представить себе, во что бы превратилось написание программ, если бы проходилось извлекать из жесткого диска каждый бит по отдель­ности и обеспечивать его правильность, а не просто полагаться на удобные операторы "file open" и "get string".

Обычно используемые при проектировании цифровых устройств уровни абстрагирования в порядке возрастания степени абстрагирования выглядят следующим образом: прибор, цепь, вентиль, функциональный модуль (напри­мер, сумматор) и система (например, процессор) (рис. 1). Полупроводнико­вый прибор представляет собой элемент с очень сложным поведением.

Рис. 1. Уровни абстрагирования при проектировании цифровых интегральных схем

Но ни один схемотехник в процессе разработки вентиля не будет серьезно углуб­ляться в уравнения физики твердого тела, описывающие поведение приборов. Вместо этого он просто воспользуется упрощенной моделью, которая адек­ватно описывает входные/выходные характеристики транзистора. Например, вентиль достаточным образом описывается реализуемым им булевым вы­ражением ( ), размерами охватывающего его прямоугольника, по­ложением входных и выходных выводов и величиной задержки выходного сигнала относительно входного.

Подобная философия проектирования сделала возможным появление развитых систем автоматизированного проектирования (САПР), ориенти­рованных на цифровые интегральные схемы, — без них никогда бы не был достигнут тот уровень сложности, который мы имеем на сегодняшний день. Современные системы САПР имеют в своем составе средства для модели­рования на различных иерархических уровнях, средства верификации про­екта, генерации топологии и синтеза разработки в целом.

Кроме того, чтобы избежать перепроектирования и повторной верифика­ции часто используемых ячеек, например базовых вентилей и арифметиче­ских модулей и модулей памяти, разработчики прибегают к созданию биб­лиотек ячеек. Такие библиотеки содержат не только топологии, но также обеспечивают полное документирование и описание характеристик поведения ячеек.

Приведенный выше анализ демонстрирует, что автоматизация процесса проектирования и практика модульного проектирования эффективно справ­ляются с некоторыми проблемами, связанными со сложностью разрабатывае­мых систем и присущими современным разработкам цифровых интегральных схем. Это приводит к неизбежно возникающему вопросу: если автоматизация проектирования решает все проблемы, то зачем тогда вообще переживать по поводу проектирования цифровых интегральных схем? Придется ли раз­работчику когда-либо волноваться из-за транзисторов и паразитных связей, или наименьшими рассматриваемыми им объектами проектирования будут вентиль и модуль?

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

Во-первых, кто-то по-прежнему должен будет проектировать и реализовывать библиотеки модулей. Полупроводниковые технологии продолжа­ют с каждым годом совершенствоваться. До тех пор, пока кто-нибудь не разработал надежного метода "портирования" ячейки из одной техноло­гии в другую, каждое изменение в технологии, а это происходит примерно каждые два года, будет требовать перепроектирования библиотеки.

Создание адекватной модели ячейки или модуля требует глубокого пони­мания того, как они работают внутри. Например, чтобы идентифициро­вать главные параметры, определяющие быстродействие, сначала необхо­димо выделить критический путь, задающий временную диаграмму функ­ционирования.

Библиотечный подход хорошо работает в тех случаях, когда налагаемые на разработку ограничения (быстродействие, стоимость или потребляемая мощность) не слишком жесткие. Тут возможны разнообразные специфич­ные для конкретного применения проектные решения, когда в качестве главной цели выступает получение более интегрированного варианта си­стемы, а требования по быстродействию не выходят за рамки возмож­ностей технологии. К сожалению, для большого количества других про­дуктов, например процессоров, успех зависит от быстродействия, и по­этому разработчики стремятся выйти на пределы возможностей техноло­гии. В таких обстоятельствах иерархический подход становится несколько менее привлекательным. Если вернуться к упомянутой ранее аналогии с методологиями разработки программного обеспечения, то в тех случаях, когда критически важным является время исполнения, программист скло­няется к "индивидуализации" подпрограмм; компиляторы — или средства проектирования — еще не достигли того уровня, который могут дать упор­ный человеческий труд и изобретательность.

Еще более важным является то наблюдение, что основанный на абстра­гировании подход корректен только до определенной степени. Например, быстродействие сумматора может существенным образом зависеть от спо­соба его подключения к окружению. Вносят вклад в общую задержку и сами межсоединения, поскольку они обладают паразитными емкостью, со­противлением и даже индуктивностью. В будущем по мере масштабиро­вания технологий в сторону уменьшения размеров влияние паразитных элементов межсоединений будет только возрастать.

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

• Еще одним следствием развития технологии является появление со време­нем новых особенностей проектирования и новых ограничений. Примером этого является периодическое возникновение в качестве ограничивающего фактора величины рассеиваемой мощности, о чем уже говорилось в исто­рическом обзоре. В качестве другого примера можно привести изменение в пропорциях величин паразитных элементов прибора и межсоединений. Чтобы преодолеть эти непредвиденные факторы, необходимо, по крайней мере, уметь смоделировать и проанализировать их воздействие, что опять же требует глубокого понимания топологии цепи и ее поведения.

Наконец, если что-то может пойти не так, то обычно так и происходит. Изготовленная микросхема не всегда имеет на выходе сигналы с той фор­мой, которую можно было бы ожидать по результатам предварительного моделирования. Отклонения могут вызываться изменениями параметров процесса изготовления, индуктивностью корпуса или плохим моделиро­ванием тактового сигнала. Устранение ошибок проектирования требует квалификации в области схемотехники.