СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ CIRCUIT ENGINEERING AND DESIGN
УДК 621.3.049.77:658.5.512.2
Особенности проектирования параметризованных аналоговых ячеек на основе согласованных КНИ матричных элементов
А.А. Журавлев1'2, Т.Ю. Крупкина1, А.В. Эннс2, В.И. Эннс2
1 Национальный исследовательский университет «МИЭТ»
2
Акционерное общество «Научно исследовательский институт молекулярной электроники» (г. Москва)
Design Features of Parameterized Analog Cells Based on Matched SOI Matrix Elements
17 1 7 7
A.A. Zhuravlev ' , T.U. Krupkina , A.V. Enns , V.I. Enns
1National Research University of Electronic Technology, Moscow JCS «Molecular Electronics Research Institute», Moscow
Рассмотрены особенности проектирования параметризованных аналоговых ячеек на основе согласованных КНИ матричных элементов. Разработана методика создания таких ячеек. Приведены примеры программного кода построения параметризованных аналоговых ячеек на основе согласованных матричных элементов.
Ключевые слова: автоматизированное проектирование топологии; параметризованная аналоговая ячейка; согласованные матричные элементы; технология кремний на изоляторе.
The design features of the parameterized analog cells based on the matched matrix elements for SOI technology have been considered. The technique of creating such cells has been developed. The examples of the program code for building the parameterized analog cells, created based on the matched matrix elements , have been presented.
Keywords: automatic layout design; parameterized analog cell; matched matrix elements; silicon-on-insulator technology.
Введение. Современные аналоговые и цифровые схемы проектируются на основе библиотечных элементов, что значительно сокращает время их разработки. Однако в этом случае необходимо построение специальных библиотечных элементов. Еще более сократить время проектирования различных аналоговых схем можно за счет автоматического проектирования топологии аналогового блока в целом.
© А.А. Журавлев, Т.Ю. Крупкина, А.В. Эннс, В.И. Эннс, 2016
Существуют различные методы автоматизированного проектирования аналоговых схем. Например, метод LAYGEN II [1] основан на эволюционном вычислении. Разработчик создает высокоуровневое описание топологии с помощью шаблона. Этот шаблон содержит ограничения по расположению элементов и разводке и не зависит от технологии. При описании шаблонов для более сложных схем используется иерархия. Топология генерируется автоматически с помощью эволюционного алгоритма. В методе ALADIN [2] генерация топологии основана на использовании относительно сложных подсхем. Разработчики могут конструировать топологии параметризованных модулей независимо от технологии. Расположение и разводка модулей выполняются автоматически с учетом ограничений, определенных пользователем. В методе, основанном на использовании библиотеки параметризованных ячеек [3], для автоматической генерации и возможности многократного использования топологий аналоговых схем и схем со смешанными сигналами используются высокофункциональные параметризованные ячейки (pCells), полностью независимые от технологий. Ячейки программируются на языке SKILL. Основным преимуществом данного метода является возможность автоматического проектирования топологии аналоговых блоков с соблюдением всех требований для построения топологии прецизионных, скоростных схем с оптимальной используемой площадью. Недостатком является необходимость создания программного кода для каждого аналогового блока.
Для проектирования аналоговых схем требуются различные функциональные блоки: дифференциальные пары, токовые зеркала и др. Эти функциональные блоки также могут представлять собой параметризованные аналоговые ячейки второго уровня, которые проектируются на основе матричных элементов [4]. Матричный элемент состоит из параметризованных ячеек первого уровня, имеющих одинаковую ориентацию и геометрические размеры.
В настоящей работе предложена разработанная и апробированная на практике методика проектирования параметризованных аналоговых ячеек второго уровня, состоящая из пяти этапов.
Методика проектирования параметризованных аналоговых ячеек второго уровня. Прежде всего следует определить набор функциональных блоков, входящих в библиотеку, и выбрать технологическую библиотеку или технологические библиотеки, на основе которых будут создаваться параметризованные аналоговые ячейки второго уровня [5]. Рассмотрим разработанную методику проектирования параметризованных аналоговых ячеек второго уровня.
Определение параметров ячейки. На первом этапе для аналоговой ячейки второго уровня определяются параметры, значения которых должен задать разработчик для получения необходимого ему элемента. Кроме того, можно задать параметры получения дополнительной информации об элементе. Значение таких параметров при проектировании схем изменять нельзя.
После этого в коде записываются необходимые для построения ячейки значения физических правил проектирования. Для того чтобы программируемая ячейка не зависела от конкретных значений, их задают параметрически. Поскольку основные физические правила содержатся в технологическом файле, их значения можно получить с помощью функций SKILL:
tchf = techGetTechFile(pcCellView ), drmPolyExtAct = techGetParam{tchf " POLY _ EXT _ ACTIVE"), drmContWidth = techGetSpa cingRule{tchf "minWidth" "contact").
Следовательно, различные численные значения физических правил можно записать в одну и ту же переменную. Эти значения будут зависеть исключительно от того, какая технологическая библиотека подключена к библиотеке проекта. Поэтому структура параметризованной ячейки не будет зависеть от конкретных значений технологических правил, так как для расчета тех или иных расстояний будут использоваться переменные. Таким образом, одна параметризованная ячейка может быть использована при проектировании схемы, например, по КНИ-технологии с технологическими нормами 180 или 240 нм, причем могут использоваться как стандартные библиотечные элементы, так и высоковольтные.
Расположение и согласование матричных элементов. На втором этапе проводится расположение и согласование матричных элементов. Важнейшими условиями построения параметризованных аналоговых ячеек второго уровня являются согласование матричных элементов, из которых состоит ячейка, и правильное расположение этих элементов [6]. Для этого при описании расположения элементов рекомендуется:
1) выбрать тип массива (например, одномерный или двумерный) или задать его параметрически;
2) разбить согласованные матричные элементы на четное число сегментов. Оптимальным является разбиение матричного элемента на число сегментов, кратное восьми. В этом случае массив сегментов будет симметричен не только относительно Х- и У-осей, но и относительно диагональных осей, сегменты каждого согласуемого элемента будут распределены максимально равномерно;
3) разместить сегменты так, чтобы они занимали наименьшую площадь. Расстояние между сегментами зависит от количества шин между ними и ширины этих шин.
Для того чтобы задать тип массива параметрически, предлагается ввести параметр «количество строк в ячейке». Зная общее количество согласованных сегментов N^ и количество строк NST, можно определить количество столбцов NCL :
ncl = nels/nst .
Общее количество согласованных сегментов NELS определяется по формуле
N
Nels =Z Nelx,
x=1
где N - количество согласованных матричных элементов; Nel - количество сегментов в одном матричном элементе.
Далее рассматриваются все возможные случаи построения массива сегментов. Учитывается как возможное количество сегментов каждого компонента, так и возможное количество строк и столбцов.
Разводка шин. На третьем этапе проводится разводка шин. Так как принадлежность сегментов к согласованным элементам определена, то расположение стоков/истоков также определено. Разработанная методика включает следующую последовательность разведения шин:
1) выбрать ширину шин в зависимости от тока, протекающего по ним (поскольку параметризованные аналоговые ячейки второго уровня предназначены для проектирования различных аналоговых и аналого-цифровых схем, оптимальным решением является ввод параметра «ширина шины», причем ширина различных шин может различаться; с целью сохранения равного расстояния между сегментами в случае
использования многомерного массива между строками должно быть равное количество шин с равной суммарной шириной);
2) соединить затворы транзисторов, набранных из сегментов, используя металлические связи;
3) разместить по возможности не менее двух контактов в местах межсоединений шин;
4) расположить шины симметрично относительно Х- и У-осей;
5) соединить стоки и истоки транзисторов, набранных из сегментов, используя металлические связи;
6) разместить по возможности не менее двух контактов в местах межсоединений шин;
7) расположить шины симметрично относительно Х- и У-осей;
8) соединить выводы подложек транзисторов (в большинстве случаев выводы подложек транзисторов соединяются с шиной питания или земли; такие шины по возможности разводятся одним металлом).
Создавать шины с различной толщиной, количеством изгибов и контактов в определенных частях шины наиболее удобно с помощью функции " rodCreateRect" или " rodCreatePath". При расчете длины той или иной шины выражения могут состоять из множества слагаемых:
MetLength = 3 *MetWidth + 2 *MetWist + Met\Div + ContWidth .
В этой формуле представлен расчет некоторой длины металла, зависящей от нескольких факторов. Для одной и той же ячейки в зависимости от входных параметров количество факторов может меняться как в большую, так и в меньшую сторону. В начале кода введены дополнительные переменные, позволяющие сократить количество слагаемых в выражении. Это позволяет сделать различные переменные более зависимыми друг от друга, за счет чего упрощается структура кода и устраняются ошибки, которые могут возникать при больших расчетах.
При проектировании параметризованной ячейки по КНИ-технологии в ячейках требуется защита от эффекта антенны. Данный эффект выражается в следующем: из-за эффекта накопления заряда на проводящих шинах, напрямую подсоединенных к затворам транзисторов во время некоторых технологических процессов (например, осаждения оксида), может ухудшаться качество подзатворного окисла. Например, в токовых зеркалах, спроектированных по технологии объемный КМОП, затворы транзисторов защищены за счет диодного включения транзистора. В токовых зеркалах, спроектированных по КНИ-технологии, такой защиты нет. С целью защиты транзисторов от разрушения в шинах, соединяющих затворы транзисторов, необходимо сделать разрыв. Соединить обратно эти шины нужно самым верхним металлом. На рис.1 представлен фрагмент разводки токового зеркала, выполненного по КНИ-технологии с технологическими нормами 180 нм, в архитектуру которого входит защита от антенны.
Расположение дополнительных элементов и терминалов ввода-вывода. На четвертом этапе осуществляется расположение дополнительных элементов в ячейках. К дополнительным элементам относятся фиктивные элементы, охранные кольца и т.д. В некоторых случаях их удобней описать в начале кода. При проектировании параметризованной ячейки по КНИ-технологии ячейки должны быть окружены фиктивными транзисторами. Эти транзисторы устраняют изменение геометрии элементов, вызванное неравномерностью травления. Кроме того, в отличие от технологии объемного кремния для фиктивных транзисторов также необходима защита от антенны. С целью
Рис. 1. Фрагмент разводки токового зеркала, в архитектуру которого входит защита от антенны
защиты этих транзисторов от разрушения все фиктивные транзисторы объединяются между собой общей шиной или несколькими шинами, которые соединяются с шиной питания или земли через самый верхний металл. Также на данном этапе производится расстановка терминалов ввода-вывода (PIN). Терминалы должны располагаться в удобных для дальнейшего использования ячейки местах.
Описание параметров ячейки. На заключительном этапе проводится описание параметров ячейки методом Component Description Format (CDF). С помощью этого метода устанавливаются единицы измерения, значения по умолчанию и ограничения для параметров, назначенных для данной ячейки. Использование функции " callback", написанной на языке SKILL, которая выполняется при изменении значения параметра, позволяет контролировать соотношения между параметрами и ограничениями, налагаемыми на эти параметры. Для того чтобы функции " callback" для всех ячеек, входящих в состав библиотеки параметризованных аналоговых ячеек второго уровня, подгружались автоматически, их нужно записать в файл "libInit il", который должен быть вложен в директорию с библиотекой.
Экспериментальные результаты. Рассмотрим пример создания параметризованной аналоговой ячейки токового зеркала по КНИ-технологии с технологическими нормами 180 нм по разработанной методике проектирования.
Основными параметрами для токового зеркала являются ширина w, длина l и количество пальцев транзисторов m, из которых он состоит. Кроме того, вводятся параметры, определяющие разводку шин: количество строк в массиве сегментов, ширина шин, объединяющих затворы, стоки и истоки транзисторов по горизонтали (в каждой строке), ширина шин, объединяющих затворы, стоки и истоки транзисторов по вертикали (объединение горизонтальных шин). Также вводятся дополнительные параметры, которые пользователь не может изменить: количество фиктивных транзисторов в ячейке и общая ширина транзистора, которая высчитывается автоматически, когда пользователь изменяет значение какого-либо параметра.
При описании расположения сегментов согласованных матричных элементов определяются все возможные массивы сегментов. Рассмотрим пример (таблица) расположения и согласования транзисторов для случая, когда количество сегментов в каждом элементе одинаково и кратно четырем.
Пример кода
Код Примечание
for{i 1 NstI 2 Y1 _ crd = Y0_ crd + RectDist1+ {i -1) * 2 * RectDistl Y2_ crd = Y1_ crd + RectDistl for{j 1 Ncl/2 X1 _ crd = X0_ crd + RectDist2 + {j -1) * 2 * RectDist2 X2 crd = X1 crd + RectDist2 Массив сегментов поделен на секции, состоящие из четырех сегментов; проведен расчет начальных координат сегментов
foreach{ {Tx Ty) list {X1 crd X2 crd X1 crd X2 crd) list{Y1_crd Y2_crd Y1_crd Y2_crd) cvID = dbOpenCelViewByType{"LIB""pmos h""layout') dbCreateParamInst( pcCellView cvID nil list {Tx Ty)" R0" 1 list{ list {"l"" string" l) list {" wb"" string' wb ) )) dbClose{cvID)) С помощью функции "/огеаек" выполнено расположение сегментов
Gate1lbx = X1 crd + RectDist 3 Gate2lbx = X2 crd + RectDist3 Gate1lby = Y1_ crd + RectDist 4 Gate2lby = Y2 crd + RectDist4 Проведен расчет начальных координат текстовых меток сегментов
foreach{{Gatelbx orig Gatelby orig LBN) list {Gate1lbx Gate2lbx Gate1lbx Gate2lbx) list{Gate1lby Gate1lby Gate2lby Gate2lby) if {{oddpi) & & oddp(j)) || {evenpi) & &evenp( j))) then list {" A"" B"" B"" A") else list {" B"" A"" A"" B") ) dbCreateLabel(pcCellView "text" Gatelbx orig Gatelby orig "centerCenter""R0" "romatf max{min{Twidth / 2 Tlength/2) 0.4))) )) С помощью функции огеаеН" выполнено расположение меток
Текстовые метки создаются исключительно для удобства разработчика, выводить их необязательно. Следующее условие определяет, к какому матричному элементу относится каждый сегмент в секции в зависимости от номера столбца и строки:
if {{oddp{i)&&oddp{j)) || {evenp{i) &&evenp{j)) then <... >
Таким образом, все последующие вычисления начальных координат и размеров шин для данного варианта массива будут привязаны к этому условию. На рис.2 представлены примеры массивов сегментов согласованных элементов, разработанных согласно критериям и правилам, приведенным в методике. Сегментом является ^-канальный транзистор Н-типа, выполненный по КНИ-технологии с технологическими нормами 180 нм.
Рис.2. Массивы сегментов согласованных элементов (ю = 2 мкм; I = 1 мкм): а - тА = 8, тВ = 8; б - тА =8, тВ =12
Как видно из рис. 2, в согласованных элементах, у которых количество сегментов кратно восьми, массив сегментов симметричен относительно обеих Х- и У-осей. Относительно диагональных осей сегменты каждого согласуемого элемента распределены максимально равномерно.
На рис.3,а представлен пример топологии параметризованной аналоговой ячейки токового зеркала, созданной по КНИ-технологии с технологическими нормами 180 нм. Для сравнения на рис.3,б приведена такая же ячейка с такими же значениями параметров, но для технологии объемный КМОП с технологическим нормами 180 нм.
Рис.3. Топология токового зеркала, выполненного по КНИ-технологии (а) и по технологии объемный КМОП (б) с технологическим нормами 180 нм (w = 2 мкм; l = 1 мкм; m = 4)
Из рис.3 видно, что архитектуры токовых зеркал, выполненных по различным технологиям на основе различных библиотечных элементов, имеют существенные отличия. В КНИ-технологии использованы транзисторы H-типа, токовое зеркало окружено фиктивными транзисторами. В технологии объемный КМОП токовое зеркало спроек-
тировано на основе стандартных симметричных МОП-транзисторов, ячейка окружена охранным кольцом. В последнем случае использование многомерного массива нарушило бы согласование элементов, поэтому в этой ячейке транзисторы в каждой строке имеют общую активную область, расстояние между строками минимальное, шины разведены вокруг транзисторов.
Заключение. По разработанной методике создана библиотека параметризованных аналоговых ячеек второго уровня по КНИ-технологии с технологическим нормами 180 нм, состоящая из следующих ячеек: дифференциальные пары, токовые зеркала, согласованные транзисторы с общим затвором, регенеративные пары и аналоговые ключи. Проектирование аналоговых схем на основе таких библиотечных элементов упрощается, а также занимает значительно меньше времени.
Литература
1. Martins R., Lourenco N., Horta N. LAYGEN II - automatic layout generation of analog integrated circuits // IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems. - 2013. - Vol. 32. - N. 11. -0278-0070. - P. 1641-1654.
2. Zhang L., Kleine U. A novel analog layout synthesys tool // International Symposium on Circuits and Systems. - 2004. - Vol. 5. - 0-7803-8251-X. - P. 101-104.
3. Jingman X., Vital J., Horta N. A SKILLTM-based library for retargetable embedded analog cores // Proc. of Design, Automation, and Test in Europe. - 2001. - 0-7803-8251-X. - P. 768-769.
4. Журавлев А.А. Исследование методов проектирования прецизионных аналоговых схем на параметризованных библиотечных элементах // 21-я Всероссийская межвузовская науч.-техн. конф. студентов и аспирантов «Микроэлектроника и информатика - 2014»: тез. докл. (Москва, 23-25 апр. 2014 г.). -М.: МИЭТ, 2014. - С. 69.
5. Журавлев А.А. Исследование методов проектирования параметризованных аналоговых ячеек второго уровня на различных технологиях // 7-я Всероссийская межвузовская науч.-прак. конф. студентов и аспирантов «Актуальные проблемы информатизации в науке, образовании и экономике - 2014»: материалы конф. (Москва, 13-14 нояб. 2014 г.). - М.: МИЭТ, 2014. - С. 159.
6. Эннс В.И., Кобзев Ю.М. Проектирование аналоговых КМОП-микросхем: краткий справочник разработчика. - М.: Горячая линия - Телеком, 2005. - 454 с.
Статья поступила 9 февраля 2016 г.
Журавлев Арсений Андреевич - инженер-конструктор АО «НИИМЭ» (г. Москва), аспирант кафедры интегральной электроники и микросистем (ИЭМС) МИЭТ. Область научных интересов: методы автоматизированного проектирования аналоговых и аналого-цифровых КМОП интегральных схем. E-mail: [email protected]
Крупкина Татьяна Юрьевна - доктор технических наук, профессор кафедры ИЭМС МИЭТ. Область научных интересов: моделирование технологических процессов и интегральных приборов, проектирование элементной базы и микросистем интегральной наноэлектроники.
Эннс Александр Викторович - кандидат технических наук, начальник лаборатории АО «НИИМЭ» (г. Москва), преподаватель Института проектирования приборов и систем МИЭТ. Область научных интересов: методы проектирования аналоговых и аналого-цифровых КМОП интегральных схем.
Эннс Виктор Иванович - кандидат технических наук, заместитель генерального директора АО «НИИМЭ» (г. Москва), преподаватель Института проектирования приборов и систем МИЭТ. Область научных интересов: методы проектирования аналоговых КМОП интегральных схем.