Глава 3. Алгоритм коррекции фрагмента топологии.
3.1. Общее описание алгоритма коррекции слоя металлизации.
В данном дипломном проекте разработана программа, реализующая только сам алгоритм коррекции фрагмента шаблона. Используется собственное представление топологии уровня металлизации, что позволяет абстрагироваться от конкретных форматов описания топологии. Для внедрения программы в конкретную САПР предполагается разработать интерфейсную часть, при помощи которой осуществляется чтение топологических данных, например, из файла формата GDSII, и запись результатов в надлежащем виде.
Как указывалось в предыдущей главе, обычно конкретные форматы топологических данных хранят образ топологии не целиком, а только фрагменты и ссылки на места в топологии, где необходимо разместить эти фрагменты. Таким образом, коррекция фрагмента топологии приведет автоматически к коррекции частей топологии, содержащих данный фрагмент. Общий алгоритм коррекции всех слоев металлизации имеет следующий вид:
-
Выбрать очередной слой металлизации.
-
Провести коррекцию каждого фрагмента данного слоя.
-
Повторять шаги 1 и 2 для всех слоев металлизации.
Очевидно, коррекцию последнего слоя проводить необязательно. В следующем разделе приводится описание алгоритма для коррекции фрагмента топологии, реализующего Шаг 2 общего алгоритма.
3.2. Описание алгоритма коррекции фрагмента.
3.2.1. Основные представления и понятия.
При составлении и реализации алгоритма использовались следующие представления относительно топологии уровня металлизации:
-
слой металлизации представляет собой прямоугольную область, покрытую сеткой с шагом, равным минимальному топологическому размеру l. В дальнейшем, эта величина принимается за единицу, и все размеры в дипломном проекте указываются в l. Начало координат расположено в верхнем левом углу, ось X направлена горизонтально, ось Y - вертикально.
-
все металлические проводники в данном слое имеют стандартное сечение, равное W. Минимальная длина металлического проводника равна W. Проводник определяется координатами верхнего левого угла (X, Y), длиной Len , типом ориентации (горизонтальной или вертикальной), и меткой принадлежности к «рабочим», т.е. принимающим участие в функционировании ИС, проводникам. Таким образом, горизонтально-ориентированный проводник представляет собой прямоугольник с координатами вершин углов (X, Y), (X + Len, Y), (X + Len, Y + W), (X, Y + W); вертикально-ориентированный проводник имеет координаты вершин углов (X, Y), (X + W, Y), (X + W, Y + Len), (X, Y + Len).
-
соседние металлические проводники расположены друг от друга на расстояние, не менее m.
Определим следующие понятия, использующиеся при описании алгоритма:
-
лжепроводником определим изолированный металлический проводник, не имеющего каких-либо контактов с другими элементами топологии. Лжепроводник не влияет на функционирование ИС и в описании не имеет метки принадлежности к функционирующим проводникам. При помощи лжепроводников производится коррекция уровня металлизации.
-
назовем горизонтальным слоем слой металлизации, содержащий металлические проводники преимущественно горизонтального направления. Аналогично определим вертикальный слой.
-
пустой областью называется область фрагмента слоя металлизации, не содержащей металлических проводников, но достаточную по размерам для размещения хотя бы одного лжепроводника минимальной длины.