Выпуск #6/2025
В. Сазонов, Р. Ерохин, В. Серов, М. Шеблаев
РАЗРАБОТКА ОТЕЧЕСТВЕННЫХ ПРОГРАММНЫХ СРЕДСТВ ФИЗИЧЕСКОГО ПРОЕКТИРОВАНИЯ И ВЕРИФИКАЦИИ ЦИФРОВЫХ СБИС
РАЗРАБОТКА ОТЕЧЕСТВЕННЫХ ПРОГРАММНЫХ СРЕДСТВ ФИЗИЧЕСКОГО ПРОЕКТИРОВАНИЯ И ВЕРИФИКАЦИИ ЦИФРОВЫХ СБИС
Просмотры: 1277
DOI: 10.22184/1992-4178.2025.247.6.66.75
МГУ им. М.В. Ломоносова в составе кооперации, возглавляемой МНТЦ МИЭТ, разрабатывает три компонента САПР СБИС: инструмент физического синтеза, инструмент расчета паразитных параметров и универсальную базу данных для хранения информации о разрабатываемой ИС. В статье рассматриваются задачи, решаемые в ходе выполнения данной работы.
МГУ им. М.В. Ломоносова в составе кооперации, возглавляемой МНТЦ МИЭТ, разрабатывает три компонента САПР СБИС: инструмент физического синтеза, инструмент расчета паразитных параметров и универсальную базу данных для хранения информации о разрабатываемой ИС. В статье рассматриваются задачи, решаемые в ходе выполнения данной работы.
Теги: cad parasitic parameters calculation tool physical synthesis tool universal database инструмент расчета паразитных параметров инструмент физического синтеза сапр универсальная база данных
Разработка отечественных программных средств физического проектирования
и верификации цифровых СБИС
В. Сазонов, д.ф.-м.н., Р. Ерохин, В. Серов, М. Шеблаев
Минпромторгом России принято решение о начале работ по созданию импортозамещающего программного обеспечения для проектирования СБИС. В рамках ОКР, выполняемой МГУ им. М.В. Ломоносова в составе кооперации, возглавляемой АО «МНТЦ МИЭТ», разрабатываются три компонента автоматизированного проектирования СБИС, в том числе инструмент физического синтеза, инструмент расчета паразитных параметров и универсальная база данных для хранения информации о разрабатываемом микроэлектронном устройстве. Эти компоненты предназначены для встраивания в маршрут проектирования СБИС, создаваемый в рамках головной ОКР. В статье рассматриваются задачи, решаемые в ходе выполнения данной работы.
Инструмент физического проектирования
Программный инструмент физического проектирования предназначен для синтеза топологии будущей СБИС с учетом технологических возможностей отечественных предприятий. Этот инструмент включает в себя реализацию таких этапов как: планирование кристалла, соз-
дание цепей земли и питания, размещение элементов и макроблоков, трассировку сигнальных цепей и цепей синхронизации, а также вспомогательные алгоритмы верификации временных и геометрических характеристик.
На этапе планирования кристалла определяются его геометрические параметры, задаются области размещения ячеек ввода-вывода, определяется ориентация и размещение ячеек ввода-вывода, а также местоположение и размеры функциональных блоков на кристалле. Цель – оптимизация размера кристалла, сокращение длины соединений элементов и улучшение временных характеристик. Последующие этапы (например, глобальное размещение, детальное размещение и трассировка) должны выполняться с учетом ограничений, сформированных во время процесса планирования.
На этапе создания цепей земли и питания формируется топология этих цепей на уровне кристалла и логических блоков. Программный инструмент включает в себя модуль оценки потребляемой мощности и падения напряжения для заданного размещения компонентов и созданной решетки цепей земли и питания. Если не все компоненты размещены, а план кристалла создан, предоставляются оценки энергопотребления и падения напряжения на основе расположения регионов плана кристалла с учетом плотности элементов в регионах (утилизации). На последующих этапах проектирования, когда расположение компонентов становится известно с большей точностью, оценки обновляются.
Размещение – этап физического синтеза, обеспечивающий оптимизацию положения ячеек для достижения целей и выполнения ограничений. Размещение может оказывать существенное влияние на качество схемного решения. Кроме того, развитие КМОП-технологии привело к появлению значительного числа сложных ограничений для вычисления оптимизированных позиций ячеек [17, 26].
На этапе размещения ячейки должны быть расположены на плане кристалла с учетом контроля плотности размещения, возможности подключения к созданным цепям земли и питания, технологических ограничений, временных ограничений будущих сигнальных цепей и цепей синхронизации. Естественным образом возникает задача оптимизации с большим количеством переменных при наличии соответствующего количества ограничений. Эта задача должна решаться в несколько стадий, поэтому этап размещения подразделяется на глобальное размещение, легализацию и детальное размещение.
На этапе глобального размещения создается эскиз будущего расположения ячеек при помощи методов оптимизации, использующих аналитические подходы, методы теории графов, методы непрерывной и дискретной оптимизации и др. [18–20]. Для управления качеством размещения в целевой функции могут использоваться, например, такие метрики, как полупериметр охватывающего прямоугольника для ячеек одной цепи, длина минимального остовного дерева или дерева Штейнера для ячеек одной цепи и т.д. Полученный результат размещения может не соблюдать геометрические ограничения, оставляя исправление этих нарушений на последующие подэтапы (рис. 1) [16, 25].
В схемах с ограниченной площадью стандартные ячейки могут быть плотно упакованы с высокой степенью утилизации. Это часто приводит к перегрузке трасс, когда кратчайшие реализации нескольких цепей оказываются несовместимыми, поскольку проходят по одним и тем же трассам. Подобные заторы заставляют некоторые трассы уходить в обход, поэтому в перегруженных регионах бывает трудно предсказать возможную длину сегментов трасс. Тем важнее реализация контроля перегруженности будущих трасс на этапе глобального размещения [24].
На этапе легализации ячейки выравниваются по выделенным участкам в пределах границ (рис. 2). Эта задача тоже носит характер оптимизационной – решение должно минимизировать суммарное смещение ячеек относительно предложенного на этапе глобальной трассировки. На этом этапе применяются алгоритмы дискретной оптимизации, вычислительной геометрии, теории графов [23, 8, 18].
При детальном размещении решение дополнительно оптимизируется на локальном уровне. Целевые функции детального размещения обычно включают минимизацию длины проводников, энергопотребления и нарушений синхронизации. Часто детальное размещение реализуется совместно с этапом легализации как один из итерационных шагов легализации [25].
За этапом размещения следует этап трассировки цепей синхронизации и сигнальных цепей. Большинство подходов к проектированию СБИС основано на методологии синхронно-последовательного построения схем, в которых для синхронизации работы различных компонентов по всей микросхеме используется тактовый сигнал. Как правило, этот сигнал вырабатывается макроблоком (или несколькими макроблоками), расположенным на кристалле. Внутри микросхемы тактовый сигнал распределяется по цепям синхронизации. Некачественная конструкция цепей распределения тактового сигнала очевидно приведет к снижению производительности кристалла. Поскольку источник синхросигнала соединен с большим количеством тактируемых элементов по всему чипу и обладает высокой коммутационной активностью, цепь синхронизации обычно потребляет значительную часть общих ресурсов трассировки и общей мощности чипа. Поэтому цепь синхронизации должна быть тщательно спроектирована, чтобы оптимизировать производительность микросхемы, использование ресурсов трассировки и энергопотребление. Для проектирования деревьев синхросигналов используются оптимизационные алгоритмы и активно применяются численные методы [19, 20, 27].
В процессе трассировки сигнальных цепей определяются точные пути прохождения сигналов. Чтобы справиться с высокой сложностью современного проектирования микросхем, алгоритмы трассировки часто используют многоэтапный подход. При масштабах современных конструкций в миллионы цепей глобальная трассировка становится серьезной вычислительной задачей. Трассировка всего кристалла обычно выполняется в три этапа: (высокоуровневая) глобальная трассировка, назначение треков и детальная трассировка [20, 21].
В процессе глобальной трассировки микросхема сначала разбивается на регионы (глобальные ячейки) и производится поиск путей от региона к региону для всех сигнальных цепей; выполняется трассировка на уровне глобальных ячеек и соединений между глобальными ячейками. Затем выполняется детальная трассировка, которая определяет точные пути на основе их назначения регионам.
При глобальной трассировке сегменты трасс предварительно назначаются в макет микросхемы. Область кристалла представляется в виде грубой сетки трассировки, а доступные ресурсы трассировки – в виде ребер с весами в графе сетки. Здесь широко используются алгоритмы дискретной оптимизации и графовые алгоритмы [22].
На этапе назначения треков, также известном как промежуточная трассировка, трассы назначаются в фиксированных местах, или точках пересечения, вдоль краев областей трассировки. Назначение треков позволяет масштабировать глобальную и детальную трассировку до миллионов ячеек, а также позволяет использовать распределенные и параллельные алгоритмы, поскольку области трассировки могут обрабатываться независимо при детальной трассировке. Распределение трасс сигнальных цепей на этапе назначения треков осуществляется с помощью алгоритма лабиринтной маршрутизации на графе, при этом в качестве весов используется соотношение использованных и оставшихся ресурсов в регионах.
На этапе детальной трассировки, как правило, используется волновой алгоритм на сетке с методологией «снять и переложить» (rip-up & re-route), в которой основное внимание уделяется проблемным цепям. Если цепь не может быть проложена, это может быть связано с физическими препятствиями или наличием на пути других проложенных проводников. Основная идея заключается в том, чтобы временно допустить существование нарушений, но затем итеративно удалить некоторые цепи (rip-up) и переложить их иначе (re-route), чтобы уменьшить количество нарушений.
Варианты этой схемы включают разрыв всех нарушающих цепей сразу, а затем поочередную перекладку цепей и проверку на наличие нарушений в конце каждой итерации (рис. 3). Алгоритмы rip-up & re-route всегда удовлетворяют ограничениям. После этапа детальной трассировки можно выполнить, например, временной анализ. Если цепь нарушает временные параметры из-за слишком большой взаимной емкости, необходимо переложить только эту цепь и соседние, что подразумевает локальные изменения данных дизайна.
Инструмент экстракции паразитных параметров
Программное обеспечение экстракции паразитных параметров обеспечивает вычисление при помощи математических моделей емкостей и сопротивлений межсоединений компонентов ИС после этапа физического синтеза, когда все компоненты схемы размещены и произведена трассировка всех цепей.
Входными данными являются логическая схема и топология устройства, а также сведения о технологическом процессе изготовления устройства, выходными – эквивалентная электрическая схема устройства, содержащая резисторы и конденсаторы, соответствующие паразитным емкостям и сопротивлениям межсоединений. Считается, что подаваемая на вход схема и топология устройства являются корректными и топология полностью соответствует схеме.
Топология и логическая схема СБИС задаются в формате LEF/DEF [1], металлы заполнения (metal fills), если есть, задаются в формате GDSII [2]. В указанных форматах содержатся сведения только о проектируемых размерах проводников и логической схеме устройства, но отсутствуют необходимые для вычислений емкостей и сопротивлений сведения о получаемых в рамках технологического процесса параметрах устройства: описание высоты слоев металлизации, их толщины и окружающих диэлектриках, свойств проводимости проводников на слоях металлизации и переходных отверстиях. Эти сведения содержатся в файлах описания технологического процесса – например в инструментах компании Cadence используется формат ICT, в инструментах Synopsys – формат ITF.
Вычисление паразитных емкостей и сопротивлений проводится в два этапа:
На первом этапе выявляются точки пересечения проводников и вставляются внутренние узлы, если в одной точке соединения сходятся более двух проводников. Каждый проводник разбивается на части таким образом, чтобы имел не более двух подключений, при этом подключение может быть к проводнику, к внутреннему узлу, к внешнему пину или порту компонента устройства.
Экстракция сопротивлений является начальным этапом полной экстракции RC-параметров. На этом этапе формируется разбиение проводников в слоях на части, которые будут представлены в экстрагированной схеме как отдельные резисторы.
Проводимости сегментированных частей дизайна могут вычисляться разными способами. Наиболее простым является метод вычисления сопротивления по квадратам. Также используются аналитические формулы для криволинейных и неоднородных структур [3].
Для экстракции емкостей используется метод сканирования топологии с выделением протяженных структур, для которых достаточно двумерной постановки, так называемая 2.5D-экстракция [4] (рис. 4). Вычисление емкостей протяженных проводников сводится к вычислению так называемых погонных емкостей – емкостей бесконечно длинных параллельных друг другу проводников, деленных на их длину. Погонные емкости могут быть вычислены при помощи решения двумерного уравнения Лапласа [5], для этого используется метод граничных элементов, эффективный алгоритм описан в [6].
При расчете емкостей используется принцип локальности, считается, что емкостью проводников, находящихся на расстоянии, большим некоторой величины, и экранированных другими проводниками можно пренебречь.
Поэтому имеет смысл при расчете погонных емкостей рассматривать не больше десятка соседних проводников. Но даже при таких ограничениях на количество проводников расчет при помощи численных методов занимает слишком много времени. Для ускорения вычислений погонных емкостей локальных конфигураций используются приближенные методы, например [7]. Суть данных методов – приближать значения емкостей для конкретных положений проводников, используя предварительно рассчитанные емкости для типовых конфигураций проводников – шаблонов. Примеры двумерных шаблонов приведены на рис. 5.
Стоит отметить, что достаточно точные значения получаются при помощи численного решения трехмерного уравнения Лапласа, однако для даже сравнительно небольшого количества проводников расчет может длиться неприемлемо долгое время, поэтому задача расчета приближенными методами является актуальной.
Не все паразитные емкости хорошо приближаются при помощи выделения протяженных структур. Одним из примеров являются емкости двух скрещивающихся под прямым углом проводников, расположенных в разных уровнях металлизации (рис. 6).
С целью повышения точности расчета емкостей для участков, где есть скрещивание проводников в разных слоях под прямым углом, применяются поправки, вычисляемые при помощи трехмерных шаблонов. Множество трехмерных шаблонов подлежит определению на этапе технического проектирования. Базовый трехмерный шаблон – пересечения под прямым углом двух проводников в различных уровнях металлизации.
Шаблоны зависят от набора параметров, значения емкостей вычисляются в некоторых фиксированных (так называемых, симуляционных) точках при помощи численного решения уравнения Лапласа, для промежуточных значений используются разные методы интерполяции, от линейной до использования нейронных сетей. Выбор шаблонов и симуляционных точек не зависит от самого дизайна, а обусловлен только параметрами технологического процесса, по которому предполагается изготовление анализируемого микроэлектронного устройства. Среди этих параметров – толщина и высота уровней металлизации, минимальная ширина проводника в слое и минимальное расстояние между проводниками. Вычисление емкостей для множества всех шаблонов и симуляционных точек требуется производить один раз для каждой технологии и потом использовать эти значения для вычисления паразитных емкостей любого устройства, реализация которого планируется с использованием этой технологии. Вычисленные емкости складываются в архив, который называется технологическим файлом, который обычно входит в набор файлов для разработчиков. Процедура генерации технологического файла проводится на стороне разработчиков технологического процесса.
Отдельную сложность представляет процедура послойного сканирования дизайна. Для обеспечения требуемого быстродействия и способности работать с достаточно большими дизайнами применяются алгоритмы на основе заметающей прямой [8].
При разработке программного обеспечения экстракции паразитных параметров особое внимание уделяется возможностям постоянной модернизации с целью повышения точности вычислений и обеспечения работы на новых технологических процессах. Для обеспечения требуемой точности необходимо тесное взаимодействие между командами разработчиков программного обеспечения и технологических процессов выпуска микроэлектронных устройств.
Универсальная база данных
История развития САПР СБИС началась с использования большого количества индивидуальных форматов данных, предназначенных для хранения тех или иных многочисленных информационных сущностей, необходимых в процессе проектирования. Среди них можно упомянуть наиболее широко используемые:
Необходимо подчеркнуть, что компаний, разрабатывающих отдельные инструменты САПР СБИС, было большое количество, что ставило перед разработчиками СБИС крайне сложную задачу интеграции инструментов разных разработчиков в единый маршрут проектирования [9]. Типовая схема такого маршрута в период времени до появления универсальных баз данных для EDA, таких как OpenAccess и MilkyWay, представлена на рис. 7.
Признанные мировые лидеры разработки САПР, компании из США, с начала 2000-х годов используют интегрированные базы данных в своих маршрутах проектирования, у Synopsys – это база данных проекта MilkyWay, у Cadence – OpenAccess. До этого времени, одновременно использовались несколько различных баз данных представления проекта, для отдельных инструментов или их групп. Отечественные САПР до настоящего времени были лишены возможности использования единой базы данных разрабатываемого проекта, в большей мере это связано с неполной линейкой инструментов САПР. Одна небольшая компания-разработчик САПР работает в рамках создания одного или нескольких инструментов, в то время, когда полный маршрут проектирования, например, компании Cadence, включает несколько десятков инструментов, каждый из которых реализует определенный шаг маршрута проектирования [10–12]. Типовая организация маршрута проектирования СБИС с использованием универсальных баз данных (УБД), таких как OpenAccess и MilkyWay представлена на рис. 8.
Особенностью экономики УБД является то, что ни одна из них не продается как отдельный продукт, а входит в состав всех средств разработки СБИС как ключевой компонент, обеспечивающий их работоспособность и взаимодействие друг с другом. Таким образом, монетизация затрат на ее разработку обеспечивается продажами всех остальных инструментов САПР СБИС, использующих УБД. При этом УБД существенно повышает эффективность работы всех инструментов в маршруте проектирования за счет унификации работы с данными и уменьшения проблем совместимости разных форматов. Все это приводит к многократному снижению затрат пользователей инструментов на адаптацию обновлений инструментов и включение дополнительных и сторонних инструментов в свой процесс разработки. Так, по данным компании Cadence, внедрение OpenAccess в продуктовую линейку позволило пользователям ускорить внедрение новых инструментов в процесс разработки и построение нового маршрута проектирования с двух лет до полугода. Также кратно возрастает продуктивность разработчиков СБИС, работающих с набором инструментов, использующих УБД [13].
Растущая популярность OpenAccess являлась еще одной ключевой вехой на 2012 год. Технология, которую создала компания Cadence, в настоящее время хорошо зарекомендовала себя в отрасли и позволяет создать новое поколение методологии для пользовательского/аналогового дизайна. Новые возможности, основанные
на OpenAccess, обеспечили повышение производительности программного обеспечения от 30 до 50%, что сделало существенный вклад в успех клиентов [14].
Каждый современный дизайн СБИС, на самом деле, является смешанным аналогово-цифровым. Ранее отрасль не прикладывала усилий для снижения энергопотребления у аналогового и смешанного конструктива проекта, однако ситуация быстро меняется. Одной из основных причин внедрения новой методологии проектирования аналоговых СБИС является низкая мощность, потому что цифровая схема, как правило, потребляет гораздо меньше энергии, чем аналоговая схема. Решение этих задач проектирования требует, чтобы инструменты САПР СБИС обеспечивали более тесную интеграцию между аналоговой и цифровой средой проектирования. Более жесткая интеграция данных позволяет обмениваться данными и ограничениями, оптимизировать и совместно разрабатывать, чтобы достичь наименьшего энергопотребления. Одним из способов обеспечить эту интеграцию является использование общей стандартной базы данных, такой как OpenAccess,
в аналоговой и цифровой среде проектирования [15].
Таким образом, универсальные базы данных для САПР СБИС стали важным и неотъемлемым компонентом построения набора программных инструментов проектирования СБИС и сквозных маршрутов проектирования на их основе. Эти факторы диктуют необходимость создания отечественной УБД САПР СБИС для обеспечения технологической независимости в индустрии микроэлектроники.
Наличие признанного лидера в этой области в лице OpenAccess и знакомство с ним широкого слоя разработчиков СБИС и инструментов проектирования, делает разумным создание новой УБД с использованием объектной модели и API, напоминающей OpenAccess.
Разрабатываемая УБД представляет собой открытую стандартную модель данных для процесса разработки ИС и реализующую ее объектную базу данных. База данных предназначена для взаимодействия различных средств проектирования через открытый интерфейс обращения к данным (УБД API). Модель данных УБД включает предметную область САПР СБИС и может быть использована для представления дизайна от Verilog-описания до подготовки фотошаблонов. УБД снижает затраты на доступ к данным для разработчиков программных инструментов за счет удобного для эксплуатации интерфейса.
УБД является объектно-ориентированной базой данных с API на базе С++, ее внутреннее представление основано на блочно-непрерывных разреженных массивах однородных данных, связанных общими индексами. Такое представление хорошо знакомо разработчикам реляционных баз данных и обеспечивает константное время доступа к элементам хранения. УБД является колонко-ориентированной базой данных. Ввод-вывод данных на диск оптимизирован с использованием проецирования содержимого файла данных БД в адресное пространство процесса (memory mapped IO). Это позволяет осуществить режим частичного чтения для экономии времени и памяти процесса.
УБД широко используют концепцию заголовков данных (headers), содержащих общую информацию относительно однородных объектов данных. При чтении дизайна в память на первом этапе могут загружаться только заголовки, что обеспечивает пользователя обзорным пониманием содержимого; полный набор данных загружается лишь при непосредственном вызове (загрузке) объекта.
УБД используют иерархическую настраиваемую информационную модель хранения данных ячеек проектирования СБИС (designs). Каждая ячейка представлена набором трех имен – именем библиотеки (libName), именем ячейки (cellName) и именем представления (viewName). Ячейки могут ссылаться друг на друга с использованием имен (Lib/Cell/View). Имеются также специальные ячейки для межслойных соединений (vias). Дополнительно
к этому база данных позволяет хранить описание логических межсоединений (net, term), специальных объектов, применяемых при размещении и трассировке частей проекта и СБИС в целом, таких как blockage, boundary, route, row, marker и др. По запросу пользователя возможен доступ к отдельным элементам внутри иерархии ячеек СБИС с помощью механизма Occurrence. Дополнительно любой элемент хранения может быть дополнен произвольным набором свойств и атрибутов (properties).
В случае, если всех указанных средств недостаточно, информационная модель базы данных может быть расширена с помощью определяемых пользователем столбцов данных, содержащих как простые данные, так и связи с другими столбцами (индексы).
Расширение функциональности базы данных реализовано с помощью загружаемых плагинов. Они представляют собой динамически загружаемые библиотеки, решающие конкретный тип задач: контроль хранения ячеек в библиотеке, поиск объектов заданной области геометрии, генерация текста и его охватывающего контура, программная генерация ячеек, определения рабочего набора библиотек и др. Стандартный набор плагинов предоставляется базой данных, пользователь может создавать свои собственные плагины для изменения алгоритмов их функционирования.
Для хранения информации о техпроцессе используется отдельная структура данных, называемая techLib. Она хранит информацию о физических слоях металлизации, дополнительных слоях для хранения разнообразной логической информации, об объектах межслойных соединений, а также об ограничениях на нормы проектирования (constraints). Для ввода и вывода в текстовом, читаемом пользователем виде указанных выше данных будет разработан язык, напоминающий соответствующий язык компании Cadence, и реализующий его транслятор.
УБД поддерживают механизм поиска и выбора объектов базы данных согласно их типу и геометрическому расположению. Данная функциональность реализована с помощью отдельного плагина, поставляемого вместе с базой данных.
УБД не содержит точек синхронизации процессов
и функционирует в однопоточном режиме. Имеется поддержка многопоточной обработки. Есть два специфичных режима для многопоточности:
1. режим многопоточного немодифицирующего анализа одной ячейки;
2. режим создания объектов в разных ячейках многими потоками, но одним потоком на ячейку.
Первый режим обычно используется при анализе и представлении текущего дизайна, а второй – в трансляторах. У такого алгоритма имеется преимущество, выраженное в том, что он обеспечивает максимальную производительность в однопоточном режиме и практически линейное масштабирование в многопоточном, но требует высокой культуры программирования и соблюдения всех ограничений на действия в режимах многопоточности.
УБД поддерживает доступ к данным с помощью языков расширения Python и Tcl. Язык Tcl является скриптовым языком программирования для платформ создания цифровых микросхем. Tcl-интерфейс к УБД является важным компонентом поддержания совместимости и повторного использования наработанных средств поддержки проектирования цифровых СБИС.
Язык Python является одним из широко используемых языков программирования в мире в настоящее время. Он также используется в ряде свободных и коммерческих продуктов в САПР. Авторы рассматривают интерфейс к УБД на языке Python как наиболее перспективный для будущих разработок.
Для обеспечения совместимости с форматами данных GDSII, OASIS, LEF/DEF, Liberty, Verilog, SPEF необходима реализация трансляторов соответствующих форматов данных в/из УБД, поскольку не все существующие продукты поддерживают УБД и OpenAccess и принимают на вход или генерируют указанные форматы данных. Наличие трансляторов существенно расширяет возможности интеграции различных программных интерфейсов САПР сторонних разработчиков.
ЛИТЕРАТУРА
LEF/DEF 5.8 Language Reference // https://coriolis.lip6.fr/doc/lefdef/lefdefref/lefdefref.pdf.
GDSII Stream Format Manual //http://bitsavers.informatik.unituttgart.de/pdf/calma/GDS_II_Stream_Format_Manual_6.0_Feb87.pdf.
Horowitz M., Dutton. R.W. Resistance Extraction from Mask Layout Data // IEEE Transactions
on Computer-Aided Design of Integrated Circuits and Systems, V. 2, No. 3, PP. 145–150, July 1983.
Kao W.H., Lo C-Y., Basel M., Singh R. Parasitic extraction: current state of the art and future trends // Proceedings of the IEEE, V. 89, No. 5, PP. 729–739, y 2001.
Тихонов А.Н., Самарский А.А. Уравнения математической физики. Учеб. пособие для вузов. М.: Наука, 1977. 735 с.
Cao W., Harrington R., Mantz J., Sarkar T. Multiconductor transmission lines in multilayered dielectric media // IEEE Trans. Microwave Theory Tech., V. MTT-32, PP. 439–450, Apr. 1984.
Arora N.D., Roal K.V., Schumann R., Richardson L.M. Modeling and extraction
of interconnect capacitances for multi-layer VLSI circuits // IEEE Trans. Computer-Aided Design, V. 15, PP. 58–67, Jan. 1996.
Препарата Ф., Шеймос М. Вычислительная геометрия: Введение: Пер. с англ. М.: Мир, 1989. 478 с.
Lopez A. How is the Design Process of Microchips: Analog IC Design Flow to Tapeout // https://miscircuitos.com/design-process-of-chips-asics-flow-from-design-totapeout/.
Virtuoso Studio Custom design for the real world // www.cadence.com.
Analog Design // www.synopsys.com.
IC Design, Verification & Manufacturing Products //
https://eda.sw.siemens.com/en-US/ic/products/.
Bailey B. 10X productivity boost is nothing to be sneezed // www.eetimes.com.
Bailey B. A look back on 2012: Design tools and flows // www.eetimes.com.
Wang Q. Opinion: What Comes After Power Intent Formats? // www.eetimes.com.
Lavagno L. et al. Electronic design automation for IC system design, verification, and testing // CRC Press. 2017.
Burstein M., Youssef M.N. Timing influenced layout design // 22nd ACM/IEEE Design Automation Conference. IEEE, 1985. PP. 124–130.
Alpert C.J., Mehta D.P., Sapatnekar S.S. Handbook of algorithms for physical design automation // CRC press, 2008.
Boyd S.P., Vandenberghe L. Convex optimization // Cambridge university press, 2004.
Kahng A.B. et al. VLSI physical design: from graph partitioning to timing closure // Netherlands: Springer, 2011. V. 312.
Sherwani N.A. Algorithms for VLSI physical design automation // Springer Science & Business Media. 2012.
Кристофидес Н. Теория графов. Алгоритмический подход. 1978.
Flach G. et al. An incremental timing-driven flow using quadratic formulation for detailed placement // 2015 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC). IEEE. 2015. PP. 1–6.
Kim M.C. et al. A SimPLR method for routability-driven placement // 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). IEEE. 2011. PP. 67–73.
Brenner U., Struzyna M., Vygen J. BonnPlace: Placement of leading-edge chips by advanced combinatorial algorithms // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2008. V. 27. No. 9. PP. 1607–1620.
Borkar S. Design perspectives on 22 nm CMOS and beyond // Proceedings of the 46th Annual Design Automation Conference. 2009. PP. 93–94.
Tsay R.S. An exact zero-skew clock routing algorithm // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 1993. V. 12. No. 2. PP. 242–249.
и верификации цифровых СБИС
В. Сазонов, д.ф.-м.н., Р. Ерохин, В. Серов, М. Шеблаев
Минпромторгом России принято решение о начале работ по созданию импортозамещающего программного обеспечения для проектирования СБИС. В рамках ОКР, выполняемой МГУ им. М.В. Ломоносова в составе кооперации, возглавляемой АО «МНТЦ МИЭТ», разрабатываются три компонента автоматизированного проектирования СБИС, в том числе инструмент физического синтеза, инструмент расчета паразитных параметров и универсальная база данных для хранения информации о разрабатываемом микроэлектронном устройстве. Эти компоненты предназначены для встраивания в маршрут проектирования СБИС, создаваемый в рамках головной ОКР. В статье рассматриваются задачи, решаемые в ходе выполнения данной работы.
Инструмент физического проектирования
Программный инструмент физического проектирования предназначен для синтеза топологии будущей СБИС с учетом технологических возможностей отечественных предприятий. Этот инструмент включает в себя реализацию таких этапов как: планирование кристалла, соз-
дание цепей земли и питания, размещение элементов и макроблоков, трассировку сигнальных цепей и цепей синхронизации, а также вспомогательные алгоритмы верификации временных и геометрических характеристик.
На этапе планирования кристалла определяются его геометрические параметры, задаются области размещения ячеек ввода-вывода, определяется ориентация и размещение ячеек ввода-вывода, а также местоположение и размеры функциональных блоков на кристалле. Цель – оптимизация размера кристалла, сокращение длины соединений элементов и улучшение временных характеристик. Последующие этапы (например, глобальное размещение, детальное размещение и трассировка) должны выполняться с учетом ограничений, сформированных во время процесса планирования.
На этапе создания цепей земли и питания формируется топология этих цепей на уровне кристалла и логических блоков. Программный инструмент включает в себя модуль оценки потребляемой мощности и падения напряжения для заданного размещения компонентов и созданной решетки цепей земли и питания. Если не все компоненты размещены, а план кристалла создан, предоставляются оценки энергопотребления и падения напряжения на основе расположения регионов плана кристалла с учетом плотности элементов в регионах (утилизации). На последующих этапах проектирования, когда расположение компонентов становится известно с большей точностью, оценки обновляются.
Размещение – этап физического синтеза, обеспечивающий оптимизацию положения ячеек для достижения целей и выполнения ограничений. Размещение может оказывать существенное влияние на качество схемного решения. Кроме того, развитие КМОП-технологии привело к появлению значительного числа сложных ограничений для вычисления оптимизированных позиций ячеек [17, 26].
На этапе размещения ячейки должны быть расположены на плане кристалла с учетом контроля плотности размещения, возможности подключения к созданным цепям земли и питания, технологических ограничений, временных ограничений будущих сигнальных цепей и цепей синхронизации. Естественным образом возникает задача оптимизации с большим количеством переменных при наличии соответствующего количества ограничений. Эта задача должна решаться в несколько стадий, поэтому этап размещения подразделяется на глобальное размещение, легализацию и детальное размещение.
На этапе глобального размещения создается эскиз будущего расположения ячеек при помощи методов оптимизации, использующих аналитические подходы, методы теории графов, методы непрерывной и дискретной оптимизации и др. [18–20]. Для управления качеством размещения в целевой функции могут использоваться, например, такие метрики, как полупериметр охватывающего прямоугольника для ячеек одной цепи, длина минимального остовного дерева или дерева Штейнера для ячеек одной цепи и т.д. Полученный результат размещения может не соблюдать геометрические ограничения, оставляя исправление этих нарушений на последующие подэтапы (рис. 1) [16, 25].
В схемах с ограниченной площадью стандартные ячейки могут быть плотно упакованы с высокой степенью утилизации. Это часто приводит к перегрузке трасс, когда кратчайшие реализации нескольких цепей оказываются несовместимыми, поскольку проходят по одним и тем же трассам. Подобные заторы заставляют некоторые трассы уходить в обход, поэтому в перегруженных регионах бывает трудно предсказать возможную длину сегментов трасс. Тем важнее реализация контроля перегруженности будущих трасс на этапе глобального размещения [24].
На этапе легализации ячейки выравниваются по выделенным участкам в пределах границ (рис. 2). Эта задача тоже носит характер оптимизационной – решение должно минимизировать суммарное смещение ячеек относительно предложенного на этапе глобальной трассировки. На этом этапе применяются алгоритмы дискретной оптимизации, вычислительной геометрии, теории графов [23, 8, 18].
При детальном размещении решение дополнительно оптимизируется на локальном уровне. Целевые функции детального размещения обычно включают минимизацию длины проводников, энергопотребления и нарушений синхронизации. Часто детальное размещение реализуется совместно с этапом легализации как один из итерационных шагов легализации [25].
За этапом размещения следует этап трассировки цепей синхронизации и сигнальных цепей. Большинство подходов к проектированию СБИС основано на методологии синхронно-последовательного построения схем, в которых для синхронизации работы различных компонентов по всей микросхеме используется тактовый сигнал. Как правило, этот сигнал вырабатывается макроблоком (или несколькими макроблоками), расположенным на кристалле. Внутри микросхемы тактовый сигнал распределяется по цепям синхронизации. Некачественная конструкция цепей распределения тактового сигнала очевидно приведет к снижению производительности кристалла. Поскольку источник синхросигнала соединен с большим количеством тактируемых элементов по всему чипу и обладает высокой коммутационной активностью, цепь синхронизации обычно потребляет значительную часть общих ресурсов трассировки и общей мощности чипа. Поэтому цепь синхронизации должна быть тщательно спроектирована, чтобы оптимизировать производительность микросхемы, использование ресурсов трассировки и энергопотребление. Для проектирования деревьев синхросигналов используются оптимизационные алгоритмы и активно применяются численные методы [19, 20, 27].
В процессе трассировки сигнальных цепей определяются точные пути прохождения сигналов. Чтобы справиться с высокой сложностью современного проектирования микросхем, алгоритмы трассировки часто используют многоэтапный подход. При масштабах современных конструкций в миллионы цепей глобальная трассировка становится серьезной вычислительной задачей. Трассировка всего кристалла обычно выполняется в три этапа: (высокоуровневая) глобальная трассировка, назначение треков и детальная трассировка [20, 21].
В процессе глобальной трассировки микросхема сначала разбивается на регионы (глобальные ячейки) и производится поиск путей от региона к региону для всех сигнальных цепей; выполняется трассировка на уровне глобальных ячеек и соединений между глобальными ячейками. Затем выполняется детальная трассировка, которая определяет точные пути на основе их назначения регионам.
При глобальной трассировке сегменты трасс предварительно назначаются в макет микросхемы. Область кристалла представляется в виде грубой сетки трассировки, а доступные ресурсы трассировки – в виде ребер с весами в графе сетки. Здесь широко используются алгоритмы дискретной оптимизации и графовые алгоритмы [22].
На этапе назначения треков, также известном как промежуточная трассировка, трассы назначаются в фиксированных местах, или точках пересечения, вдоль краев областей трассировки. Назначение треков позволяет масштабировать глобальную и детальную трассировку до миллионов ячеек, а также позволяет использовать распределенные и параллельные алгоритмы, поскольку области трассировки могут обрабатываться независимо при детальной трассировке. Распределение трасс сигнальных цепей на этапе назначения треков осуществляется с помощью алгоритма лабиринтной маршрутизации на графе, при этом в качестве весов используется соотношение использованных и оставшихся ресурсов в регионах.
На этапе детальной трассировки, как правило, используется волновой алгоритм на сетке с методологией «снять и переложить» (rip-up & re-route), в которой основное внимание уделяется проблемным цепям. Если цепь не может быть проложена, это может быть связано с физическими препятствиями или наличием на пути других проложенных проводников. Основная идея заключается в том, чтобы временно допустить существование нарушений, но затем итеративно удалить некоторые цепи (rip-up) и переложить их иначе (re-route), чтобы уменьшить количество нарушений.
Варианты этой схемы включают разрыв всех нарушающих цепей сразу, а затем поочередную перекладку цепей и проверку на наличие нарушений в конце каждой итерации (рис. 3). Алгоритмы rip-up & re-route всегда удовлетворяют ограничениям. После этапа детальной трассировки можно выполнить, например, временной анализ. Если цепь нарушает временные параметры из-за слишком большой взаимной емкости, необходимо переложить только эту цепь и соседние, что подразумевает локальные изменения данных дизайна.
Инструмент экстракции паразитных параметров
Программное обеспечение экстракции паразитных параметров обеспечивает вычисление при помощи математических моделей емкостей и сопротивлений межсоединений компонентов ИС после этапа физического синтеза, когда все компоненты схемы размещены и произведена трассировка всех цепей.
Входными данными являются логическая схема и топология устройства, а также сведения о технологическом процессе изготовления устройства, выходными – эквивалентная электрическая схема устройства, содержащая резисторы и конденсаторы, соответствующие паразитным емкостям и сопротивлениям межсоединений. Считается, что подаваемая на вход схема и топология устройства являются корректными и топология полностью соответствует схеме.
Топология и логическая схема СБИС задаются в формате LEF/DEF [1], металлы заполнения (metal fills), если есть, задаются в формате GDSII [2]. В указанных форматах содержатся сведения только о проектируемых размерах проводников и логической схеме устройства, но отсутствуют необходимые для вычислений емкостей и сопротивлений сведения о получаемых в рамках технологического процесса параметрах устройства: описание высоты слоев металлизации, их толщины и окружающих диэлектриках, свойств проводимости проводников на слоях металлизации и переходных отверстиях. Эти сведения содержатся в файлах описания технологического процесса – например в инструментах компании Cadence используется формат ICT, в инструментах Synopsys – формат ITF.
Вычисление паразитных емкостей и сопротивлений проводится в два этапа:
- восстановление принципиальной электрической схемы СБИС путем определения подключений каждого проводника топологии;
- послойное сканирование схемы для вычисления резистивных параметров проводников и паразитных емкостей.
На первом этапе выявляются точки пересечения проводников и вставляются внутренние узлы, если в одной точке соединения сходятся более двух проводников. Каждый проводник разбивается на части таким образом, чтобы имел не более двух подключений, при этом подключение может быть к проводнику, к внутреннему узлу, к внешнему пину или порту компонента устройства.
Экстракция сопротивлений является начальным этапом полной экстракции RC-параметров. На этом этапе формируется разбиение проводников в слоях на части, которые будут представлены в экстрагированной схеме как отдельные резисторы.
Проводимости сегментированных частей дизайна могут вычисляться разными способами. Наиболее простым является метод вычисления сопротивления по квадратам. Также используются аналитические формулы для криволинейных и неоднородных структур [3].
Для экстракции емкостей используется метод сканирования топологии с выделением протяженных структур, для которых достаточно двумерной постановки, так называемая 2.5D-экстракция [4] (рис. 4). Вычисление емкостей протяженных проводников сводится к вычислению так называемых погонных емкостей – емкостей бесконечно длинных параллельных друг другу проводников, деленных на их длину. Погонные емкости могут быть вычислены при помощи решения двумерного уравнения Лапласа [5], для этого используется метод граничных элементов, эффективный алгоритм описан в [6].
При расчете емкостей используется принцип локальности, считается, что емкостью проводников, находящихся на расстоянии, большим некоторой величины, и экранированных другими проводниками можно пренебречь.
Поэтому имеет смысл при расчете погонных емкостей рассматривать не больше десятка соседних проводников. Но даже при таких ограничениях на количество проводников расчет при помощи численных методов занимает слишком много времени. Для ускорения вычислений погонных емкостей локальных конфигураций используются приближенные методы, например [7]. Суть данных методов – приближать значения емкостей для конкретных положений проводников, используя предварительно рассчитанные емкости для типовых конфигураций проводников – шаблонов. Примеры двумерных шаблонов приведены на рис. 5.
Стоит отметить, что достаточно точные значения получаются при помощи численного решения трехмерного уравнения Лапласа, однако для даже сравнительно небольшого количества проводников расчет может длиться неприемлемо долгое время, поэтому задача расчета приближенными методами является актуальной.
Не все паразитные емкости хорошо приближаются при помощи выделения протяженных структур. Одним из примеров являются емкости двух скрещивающихся под прямым углом проводников, расположенных в разных уровнях металлизации (рис. 6).
С целью повышения точности расчета емкостей для участков, где есть скрещивание проводников в разных слоях под прямым углом, применяются поправки, вычисляемые при помощи трехмерных шаблонов. Множество трехмерных шаблонов подлежит определению на этапе технического проектирования. Базовый трехмерный шаблон – пересечения под прямым углом двух проводников в различных уровнях металлизации.
Шаблоны зависят от набора параметров, значения емкостей вычисляются в некоторых фиксированных (так называемых, симуляционных) точках при помощи численного решения уравнения Лапласа, для промежуточных значений используются разные методы интерполяции, от линейной до использования нейронных сетей. Выбор шаблонов и симуляционных точек не зависит от самого дизайна, а обусловлен только параметрами технологического процесса, по которому предполагается изготовление анализируемого микроэлектронного устройства. Среди этих параметров – толщина и высота уровней металлизации, минимальная ширина проводника в слое и минимальное расстояние между проводниками. Вычисление емкостей для множества всех шаблонов и симуляционных точек требуется производить один раз для каждой технологии и потом использовать эти значения для вычисления паразитных емкостей любого устройства, реализация которого планируется с использованием этой технологии. Вычисленные емкости складываются в архив, который называется технологическим файлом, который обычно входит в набор файлов для разработчиков. Процедура генерации технологического файла проводится на стороне разработчиков технологического процесса.
Отдельную сложность представляет процедура послойного сканирования дизайна. Для обеспечения требуемого быстродействия и способности работать с достаточно большими дизайнами применяются алгоритмы на основе заметающей прямой [8].
При разработке программного обеспечения экстракции паразитных параметров особое внимание уделяется возможностям постоянной модернизации с целью повышения точности вычислений и обеспечения работы на новых технологических процессах. Для обеспечения требуемой точности необходимо тесное взаимодействие между командами разработчиков программного обеспечения и технологических процессов выпуска микроэлектронных устройств.
Универсальная база данных
История развития САПР СБИС началась с использования большого количества индивидуальных форматов данных, предназначенных для хранения тех или иных многочисленных информационных сущностей, необходимых в процессе проектирования. Среди них можно упомянуть наиболее широко используемые:
- GDS, OASIS – форматы хранения топологии слоев металлизаций и диэлектриков и опционально дополнительной логической информации;
- LEF/DEF – формат представления как логики и межсоединений в цифровых схемах, так и их геометрии;
- SPEF/SPICE – форматы представления входных данных для физической симуляции;
- Verilog/VHDL – форматы и инструменты описания логической функциональности микросхем.
Необходимо подчеркнуть, что компаний, разрабатывающих отдельные инструменты САПР СБИС, было большое количество, что ставило перед разработчиками СБИС крайне сложную задачу интеграции инструментов разных разработчиков в единый маршрут проектирования [9]. Типовая схема такого маршрута в период времени до появления универсальных баз данных для EDA, таких как OpenAccess и MilkyWay, представлена на рис. 7.
Признанные мировые лидеры разработки САПР, компании из США, с начала 2000-х годов используют интегрированные базы данных в своих маршрутах проектирования, у Synopsys – это база данных проекта MilkyWay, у Cadence – OpenAccess. До этого времени, одновременно использовались несколько различных баз данных представления проекта, для отдельных инструментов или их групп. Отечественные САПР до настоящего времени были лишены возможности использования единой базы данных разрабатываемого проекта, в большей мере это связано с неполной линейкой инструментов САПР. Одна небольшая компания-разработчик САПР работает в рамках создания одного или нескольких инструментов, в то время, когда полный маршрут проектирования, например, компании Cadence, включает несколько десятков инструментов, каждый из которых реализует определенный шаг маршрута проектирования [10–12]. Типовая организация маршрута проектирования СБИС с использованием универсальных баз данных (УБД), таких как OpenAccess и MilkyWay представлена на рис. 8.
Особенностью экономики УБД является то, что ни одна из них не продается как отдельный продукт, а входит в состав всех средств разработки СБИС как ключевой компонент, обеспечивающий их работоспособность и взаимодействие друг с другом. Таким образом, монетизация затрат на ее разработку обеспечивается продажами всех остальных инструментов САПР СБИС, использующих УБД. При этом УБД существенно повышает эффективность работы всех инструментов в маршруте проектирования за счет унификации работы с данными и уменьшения проблем совместимости разных форматов. Все это приводит к многократному снижению затрат пользователей инструментов на адаптацию обновлений инструментов и включение дополнительных и сторонних инструментов в свой процесс разработки. Так, по данным компании Cadence, внедрение OpenAccess в продуктовую линейку позволило пользователям ускорить внедрение новых инструментов в процесс разработки и построение нового маршрута проектирования с двух лет до полугода. Также кратно возрастает продуктивность разработчиков СБИС, работающих с набором инструментов, использующих УБД [13].
Растущая популярность OpenAccess являлась еще одной ключевой вехой на 2012 год. Технология, которую создала компания Cadence, в настоящее время хорошо зарекомендовала себя в отрасли и позволяет создать новое поколение методологии для пользовательского/аналогового дизайна. Новые возможности, основанные
на OpenAccess, обеспечили повышение производительности программного обеспечения от 30 до 50%, что сделало существенный вклад в успех клиентов [14].
Каждый современный дизайн СБИС, на самом деле, является смешанным аналогово-цифровым. Ранее отрасль не прикладывала усилий для снижения энергопотребления у аналогового и смешанного конструктива проекта, однако ситуация быстро меняется. Одной из основных причин внедрения новой методологии проектирования аналоговых СБИС является низкая мощность, потому что цифровая схема, как правило, потребляет гораздо меньше энергии, чем аналоговая схема. Решение этих задач проектирования требует, чтобы инструменты САПР СБИС обеспечивали более тесную интеграцию между аналоговой и цифровой средой проектирования. Более жесткая интеграция данных позволяет обмениваться данными и ограничениями, оптимизировать и совместно разрабатывать, чтобы достичь наименьшего энергопотребления. Одним из способов обеспечить эту интеграцию является использование общей стандартной базы данных, такой как OpenAccess,
в аналоговой и цифровой среде проектирования [15].
Таким образом, универсальные базы данных для САПР СБИС стали важным и неотъемлемым компонентом построения набора программных инструментов проектирования СБИС и сквозных маршрутов проектирования на их основе. Эти факторы диктуют необходимость создания отечественной УБД САПР СБИС для обеспечения технологической независимости в индустрии микроэлектроники.
Наличие признанного лидера в этой области в лице OpenAccess и знакомство с ним широкого слоя разработчиков СБИС и инструментов проектирования, делает разумным создание новой УБД с использованием объектной модели и API, напоминающей OpenAccess.
Разрабатываемая УБД представляет собой открытую стандартную модель данных для процесса разработки ИС и реализующую ее объектную базу данных. База данных предназначена для взаимодействия различных средств проектирования через открытый интерфейс обращения к данным (УБД API). Модель данных УБД включает предметную область САПР СБИС и может быть использована для представления дизайна от Verilog-описания до подготовки фотошаблонов. УБД снижает затраты на доступ к данным для разработчиков программных инструментов за счет удобного для эксплуатации интерфейса.
УБД является объектно-ориентированной базой данных с API на базе С++, ее внутреннее представление основано на блочно-непрерывных разреженных массивах однородных данных, связанных общими индексами. Такое представление хорошо знакомо разработчикам реляционных баз данных и обеспечивает константное время доступа к элементам хранения. УБД является колонко-ориентированной базой данных. Ввод-вывод данных на диск оптимизирован с использованием проецирования содержимого файла данных БД в адресное пространство процесса (memory mapped IO). Это позволяет осуществить режим частичного чтения для экономии времени и памяти процесса.
УБД широко используют концепцию заголовков данных (headers), содержащих общую информацию относительно однородных объектов данных. При чтении дизайна в память на первом этапе могут загружаться только заголовки, что обеспечивает пользователя обзорным пониманием содержимого; полный набор данных загружается лишь при непосредственном вызове (загрузке) объекта.
УБД используют иерархическую настраиваемую информационную модель хранения данных ячеек проектирования СБИС (designs). Каждая ячейка представлена набором трех имен – именем библиотеки (libName), именем ячейки (cellName) и именем представления (viewName). Ячейки могут ссылаться друг на друга с использованием имен (Lib/Cell/View). Имеются также специальные ячейки для межслойных соединений (vias). Дополнительно
к этому база данных позволяет хранить описание логических межсоединений (net, term), специальных объектов, применяемых при размещении и трассировке частей проекта и СБИС в целом, таких как blockage, boundary, route, row, marker и др. По запросу пользователя возможен доступ к отдельным элементам внутри иерархии ячеек СБИС с помощью механизма Occurrence. Дополнительно любой элемент хранения может быть дополнен произвольным набором свойств и атрибутов (properties).
В случае, если всех указанных средств недостаточно, информационная модель базы данных может быть расширена с помощью определяемых пользователем столбцов данных, содержащих как простые данные, так и связи с другими столбцами (индексы).
Расширение функциональности базы данных реализовано с помощью загружаемых плагинов. Они представляют собой динамически загружаемые библиотеки, решающие конкретный тип задач: контроль хранения ячеек в библиотеке, поиск объектов заданной области геометрии, генерация текста и его охватывающего контура, программная генерация ячеек, определения рабочего набора библиотек и др. Стандартный набор плагинов предоставляется базой данных, пользователь может создавать свои собственные плагины для изменения алгоритмов их функционирования.
Для хранения информации о техпроцессе используется отдельная структура данных, называемая techLib. Она хранит информацию о физических слоях металлизации, дополнительных слоях для хранения разнообразной логической информации, об объектах межслойных соединений, а также об ограничениях на нормы проектирования (constraints). Для ввода и вывода в текстовом, читаемом пользователем виде указанных выше данных будет разработан язык, напоминающий соответствующий язык компании Cadence, и реализующий его транслятор.
УБД поддерживают механизм поиска и выбора объектов базы данных согласно их типу и геометрическому расположению. Данная функциональность реализована с помощью отдельного плагина, поставляемого вместе с базой данных.
УБД не содержит точек синхронизации процессов
и функционирует в однопоточном режиме. Имеется поддержка многопоточной обработки. Есть два специфичных режима для многопоточности:
1. режим многопоточного немодифицирующего анализа одной ячейки;
2. режим создания объектов в разных ячейках многими потоками, но одним потоком на ячейку.
Первый режим обычно используется при анализе и представлении текущего дизайна, а второй – в трансляторах. У такого алгоритма имеется преимущество, выраженное в том, что он обеспечивает максимальную производительность в однопоточном режиме и практически линейное масштабирование в многопоточном, но требует высокой культуры программирования и соблюдения всех ограничений на действия в режимах многопоточности.
УБД поддерживает доступ к данным с помощью языков расширения Python и Tcl. Язык Tcl является скриптовым языком программирования для платформ создания цифровых микросхем. Tcl-интерфейс к УБД является важным компонентом поддержания совместимости и повторного использования наработанных средств поддержки проектирования цифровых СБИС.
Язык Python является одним из широко используемых языков программирования в мире в настоящее время. Он также используется в ряде свободных и коммерческих продуктов в САПР. Авторы рассматривают интерфейс к УБД на языке Python как наиболее перспективный для будущих разработок.
Для обеспечения совместимости с форматами данных GDSII, OASIS, LEF/DEF, Liberty, Verilog, SPEF необходима реализация трансляторов соответствующих форматов данных в/из УБД, поскольку не все существующие продукты поддерживают УБД и OpenAccess и принимают на вход или генерируют указанные форматы данных. Наличие трансляторов существенно расширяет возможности интеграции различных программных интерфейсов САПР сторонних разработчиков.
ЛИТЕРАТУРА
LEF/DEF 5.8 Language Reference // https://coriolis.lip6.fr/doc/lefdef/lefdefref/lefdefref.pdf.
GDSII Stream Format Manual //http://bitsavers.informatik.unituttgart.de/pdf/calma/GDS_II_Stream_Format_Manual_6.0_Feb87.pdf.
Horowitz M., Dutton. R.W. Resistance Extraction from Mask Layout Data // IEEE Transactions
on Computer-Aided Design of Integrated Circuits and Systems, V. 2, No. 3, PP. 145–150, July 1983.
Kao W.H., Lo C-Y., Basel M., Singh R. Parasitic extraction: current state of the art and future trends // Proceedings of the IEEE, V. 89, No. 5, PP. 729–739, y 2001.
Тихонов А.Н., Самарский А.А. Уравнения математической физики. Учеб. пособие для вузов. М.: Наука, 1977. 735 с.
Cao W., Harrington R., Mantz J., Sarkar T. Multiconductor transmission lines in multilayered dielectric media // IEEE Trans. Microwave Theory Tech., V. MTT-32, PP. 439–450, Apr. 1984.
Arora N.D., Roal K.V., Schumann R., Richardson L.M. Modeling and extraction
of interconnect capacitances for multi-layer VLSI circuits // IEEE Trans. Computer-Aided Design, V. 15, PP. 58–67, Jan. 1996.
Препарата Ф., Шеймос М. Вычислительная геометрия: Введение: Пер. с англ. М.: Мир, 1989. 478 с.
Lopez A. How is the Design Process of Microchips: Analog IC Design Flow to Tapeout // https://miscircuitos.com/design-process-of-chips-asics-flow-from-design-totapeout/.
Virtuoso Studio Custom design for the real world // www.cadence.com.
Analog Design // www.synopsys.com.
IC Design, Verification & Manufacturing Products //
https://eda.sw.siemens.com/en-US/ic/products/.
Bailey B. 10X productivity boost is nothing to be sneezed // www.eetimes.com.
Bailey B. A look back on 2012: Design tools and flows // www.eetimes.com.
Wang Q. Opinion: What Comes After Power Intent Formats? // www.eetimes.com.
Lavagno L. et al. Electronic design automation for IC system design, verification, and testing // CRC Press. 2017.
Burstein M., Youssef M.N. Timing influenced layout design // 22nd ACM/IEEE Design Automation Conference. IEEE, 1985. PP. 124–130.
Alpert C.J., Mehta D.P., Sapatnekar S.S. Handbook of algorithms for physical design automation // CRC press, 2008.
Boyd S.P., Vandenberghe L. Convex optimization // Cambridge university press, 2004.
Kahng A.B. et al. VLSI physical design: from graph partitioning to timing closure // Netherlands: Springer, 2011. V. 312.
Sherwani N.A. Algorithms for VLSI physical design automation // Springer Science & Business Media. 2012.
Кристофидес Н. Теория графов. Алгоритмический подход. 1978.
Flach G. et al. An incremental timing-driven flow using quadratic formulation for detailed placement // 2015 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC). IEEE. 2015. PP. 1–6.
Kim M.C. et al. A SimPLR method for routability-driven placement // 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). IEEE. 2011. PP. 67–73.
Brenner U., Struzyna M., Vygen J. BonnPlace: Placement of leading-edge chips by advanced combinatorial algorithms // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2008. V. 27. No. 9. PP. 1607–1620.
Borkar S. Design perspectives on 22 nm CMOS and beyond // Proceedings of the 46th Annual Design Automation Conference. 2009. PP. 93–94.
Tsay R.S. An exact zero-skew clock routing algorithm // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 1993. V. 12. No. 2. PP. 242–249.
Отзывы читателей
eng




