Конвертация топологических данных с использованием параллельных вычислений

В статье рассмотрены алгоритмы конвертации топологических данных из форматов САПР в формат Т29 (формат установок автоматического контроля топологических структур на фотошаблонах производства УП «КБТЭМ-ОМО»), который напрямую не поддерживается современными САПР. Особенность таких данных – большой объ...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2012
Автори: Ганченко, В.В., Дудкин, А.А., Инютин, А.В.
Формат: Стаття
Мова:Russian
Опубліковано: Інститут проблем штучного інтелекту МОН України та НАН України 2012
Назва видання:Штучний інтелект
Теми:
Онлайн доступ:http://dspace.nbuv.gov.ua/handle/123456789/57076
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Конвертация топологических данных с использованием параллельных вычислений / В.В. Ганченко, А.А. Дудкин, А.В. Инютин // Штучний інтелект. — 2012. — № 3. — С. 60-72. — Бібліогр.: 17 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-57076
record_format dspace
spelling irk-123456789-570762014-03-04T03:01:23Z Конвертация топологических данных с использованием параллельных вычислений Ганченко, В.В. Дудкин, А.А. Инютин, А.В. Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем В статье рассмотрены алгоритмы конвертации топологических данных из форматов САПР в формат Т29 (формат установок автоматического контроля топологических структур на фотошаблонах производства УП «КБТЭМ-ОМО»), который напрямую не поддерживается современными САПР. Особенность таких данных – большой объем данных и, следовательно, время конвертации. Использование параллельных методов вычислений на базе ПЭВМ с многоядерным процессором и технологии OpenMP позволяет значительно ускорить время обработки данных. У статті розглянуті алгоритми конвертації топологічних даних з форматів САПР у формат Т29 (формат установок автоматичного контролю топологічних структур на фотошаблонах виробництва УП «КБТЕМ-ОМО»), який прямо не підтримується сучасними САПР. Особливість таких даних – великий обсяг даних і, відповідно, час конвертації. Використання паралельних методів обчислень на базі ПЕОМ з багатоядерним процесором і технології OpenMP дозволяє значно прискорити час обробки даних. In this paper, we propose algorithms and software for parallel implementation of conversion of VLSI Layout Data from CAD format Gerber and MEBES into an internal representation and then into format of automatic mask inspection system T29. The software is developed on basis of OpenMP technology to work on PC with 4-core processor. It is shown that using parallel computing speeds up a conversion process. In the future we are planning to develop similar tools for data conversion from CIF and DFX formats into the internal format, and further into format GDS-II. These tools allow developing a program complex of topological data processing to work with automatic mask inspection system made by R&D Company “KBTEM-OMO” of “Planar” Corporation. 2012 2012 Article Конвертация топологических данных с использованием параллельных вычислений / В.В. Ганченко, А.А. Дудкин, А.В. Инютин // Штучний інтелект. — 2012. — № 3. — С. 60-72. — Бібліогр.: 17 назв. — рос. 1561-5359 http://dspace.nbuv.gov.ua/handle/123456789/57076 004.424.2, 004.624 ru Штучний інтелект Інститут проблем штучного інтелекту МОН України та НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Russian
topic Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем
Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем
spellingShingle Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем
Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем
Ганченко, В.В.
Дудкин, А.А.
Инютин, А.В.
Конвертация топологических данных с использованием параллельных вычислений
Штучний інтелект
description В статье рассмотрены алгоритмы конвертации топологических данных из форматов САПР в формат Т29 (формат установок автоматического контроля топологических структур на фотошаблонах производства УП «КБТЭМ-ОМО»), который напрямую не поддерживается современными САПР. Особенность таких данных – большой объем данных и, следовательно, время конвертации. Использование параллельных методов вычислений на базе ПЭВМ с многоядерным процессором и технологии OpenMP позволяет значительно ускорить время обработки данных.
format Article
author Ганченко, В.В.
Дудкин, А.А.
Инютин, А.В.
author_facet Ганченко, В.В.
Дудкин, А.А.
Инютин, А.В.
author_sort Ганченко, В.В.
title Конвертация топологических данных с использованием параллельных вычислений
title_short Конвертация топологических данных с использованием параллельных вычислений
title_full Конвертация топологических данных с использованием параллельных вычислений
title_fullStr Конвертация топологических данных с использованием параллельных вычислений
title_full_unstemmed Конвертация топологических данных с использованием параллельных вычислений
title_sort конвертация топологических данных с использованием параллельных вычислений
publisher Інститут проблем штучного інтелекту МОН України та НАН України
publishDate 2012
topic_facet Алгоритмическое и программное обеспечение параллельных вычислительных интеллектуальных систем
url http://dspace.nbuv.gov.ua/handle/123456789/57076
citation_txt Конвертация топологических данных с использованием параллельных вычислений / В.В. Ганченко, А.А. Дудкин, А.В. Инютин // Штучний інтелект. — 2012. — № 3. — С. 60-72. — Бібліогр.: 17 назв. — рос.
series Штучний інтелект
work_keys_str_mv AT gančenkovv konvertaciâtopologičeskihdannyhsispolʹzovaniemparallelʹnyhvyčislenij
AT dudkinaa konvertaciâtopologičeskihdannyhsispolʹzovaniemparallelʹnyhvyčislenij
AT inûtinav konvertaciâtopologičeskihdannyhsispolʹzovaniemparallelʹnyhvyčislenij
first_indexed 2025-07-05T08:21:28Z
last_indexed 2025-07-05T08:21:28Z
_version_ 1836794447096971264
fulltext «Искусственный интеллект» 3’201260 2Г УДК 004.424.2, 004.624 В.В. Ганченко, А.А. Дудкин, А.В. Инютин Объединенный институт проблем информатики НАН Беларуси, г. Минск Беларусь, 220012, г. Минск, ул. Сурганова, 6 {ganchenko, avin}@lsi.bas-net.by, doudkin@newman.bas-net.by Конвертация топологических данных с использованием параллельных вычислений V.V. Ganchenko, A.A. Doudkin, A.V. Inyutin United Institute of Informatics Problems of the National Academy of Sciences of Belarus Belarus, 220012, c. Minsk, Surganova st., 6 {ganchenko, avin}@lsi.bas-net.by , doudkin@newman.bas-net.by Conversion of VLSI Layout Data Using Parallel Computing В.В. Ганченко, А.А. Дудкін, А.В. Інютін Об’єднаний інститут проблем інформатики НАН Білорусі, м. Мінськ Білорусь, 220012, м. Мінськ, вул. Сурганова, 6 {ganchenko, avin}@lsi.bas-net.by, doudkin@newman.bas-net.by Конвертація топологічних даних з використанням паралельних обчислень В статье рассмотрены алгоритмы конвертации топологических данных из форматов САПР в формат Т29 (формат установок автоматического контроля топологических структур на фотошаблонах производства УП «КБТЭМ-ОМО»), который напрямую не поддерживается современными САПР. Особенность таких данных – большой объем данных и, следовательно, время конвертации. Использование параллельных методов вычислений на базе ПЭВМ с многоядерным процессором и технологии OpenMP позволяет значительно ускорить время обработки данных. Ключевые слова: конвертации данных, параллельные вычисления, САПР, фотошаблоны. In this paper, we propose algorithms and software for parallel implementation of conversion of VLSI Layout Data from CAD format Gerber and MEBES into an internal representation and then into format of automatic mask inspection system T29. The software is developed on basis of OpenMP technology to work on PC with 4-core processor. It is shown that using parallel computing speeds up a conversion process. In the future we are planning to develop similar tools for data conversion from CIF and DFX formats into the internal format, and further into format GDS-II. These tools allow developing a program complex of topological data processing to work with automatic mask inspection system made by R&D Company “KBTEM-OMO” of “Planar” Corporation. Key Words: data conversion, parallel computing, VLSI, routing mask. У статті розглянуті алгоритми конвертації топологічних даних з форматів САПР у формат Т29 (формат установок автоматичного контролю топологічних структур на фотошаблонах виробництва УП «КБТЕМ- ОМО»), який прямо не підтримується сучасними САПР. Особливість таких даних – великий обсяг даних і, відповідно, час конвертації. Використання паралельних методів обчислень на базі ПЕОМ з багатоядерним процесором і технології OpenMP дозволяє значно прискорити час обробки даних. Ключові слова: конвертації даних, паралельні обчислення, САПР, фотошаблони. Введение Информатизация и компьютеризация современного общества требуют непрерыв- ной разработки и совершенствования микроэлектронной цифровой техники. При этом mailto:doudkin@newman.bas-net.by mailto:doudkin@newman.bas-net.by mailto:doudkin@newman.bas-net.by Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 61 2Г постоянно возрастает сложность ее аппаратных компонентов и топологий интегральных микросхем – количество топологических элементов может превышать сотни миллио- нов. Топология СБИС на выходе специализированных САПР не может напрямую быть передана на вход оборудования производства СБИС, т.к. генераторы изображений и установки автоматического контроля оригиналов топологии на фотошаблонах имеют собственное представление данных. Конвертация данных между различными САПР широко применяется в практике, например для организации сквозного проектирования с использованием нескольких различных САПР или обмена данными между такими системами и внешними при- ложениями [1-7]. Зачастую при этом используются механизмы ускорения обработки или обмена между различными подсистемами [8]. Доступность многоядерных ПЭВМ на рынке делает выгодным использование параллельных методов обработки данных при конвертации, в том числе и для оборудования для производства СБИС. То есть актуальной в практическом плане задачей является ускорение конвертации больших объемов данных. Целью данной работы является разработка алгоритмов и программных средств быстрого преобразования и анализа топологических данных из распространенных форматов САПР в данные специализированного оборудования производства СБИС. Формат данных такого оборудования разработан для высокой производительности контрольных установок, но напрямую не поддерживается распространенными на сегодня САПР. При этом высокая производительность установок автоматического контроля топологических структур на фотошаблонах производства УП «КБТЭМ-ОМО» является важным преимуществом на международном рынке оборудования производ- ства СБИС. Разрабатываемое оборудование производства СБИС ориентировано на технологии производства 0,13 мкм и менее при сложности 108 – 109 топологических элементов. Но использование существующих программных средств для конвертации топологических данных может занимать больше времени, чем сама проверка. Так, например, контроль пластины размером 157×157 мм проводится за 20 минут, а кон- вертация данных для нее на ПЭМВ занимает больше 1 часа. Такое время конвер- тации является неприемлемым и обуславливает актуальность предлагаемого прог- раммного комплекса. Главными зарубежными аналогами предлагаемого ПК ПТД являются пакеты CATS фирмы Synopsys (Mountain View, California, USA) и L-EDIT фирмы Tanner EDA (Monrovia, California, USA) [9,10]. Данные пакеты позволяют преобразовывать комплекс проектных данных в машинные инструкции для электронно-лучевых и лазерных гене- раторов, используемых для создания изображений (фотошаблонов) и производства IC, MEMS, TFT-LCD, TFH, фотоники и биочипов. Например, ядро пакета CATS выполняет следующие функции: 1) преобразование многоугольников из форматов разработки (CIF, DXF и GDS-II) в прямоугольники и трапеции файла генератора изображений или базы данных; 2) преобразование прямоугольников и повернутых прямоугольников в формат данных оптического генератора; 3) масштабирование или калибровочные операции над набором данных. Стоимость комплекта ПО, необходимого для конвертации топологических данных, составляет более 100 тыс. $ на 1 рабочее место. Пакет L-EDIT фирмы Tanner EDA представляет собой топологический редактор, предназначенный для синтеза топологии в автоматическом или интерактивном режимах, проверки правил проектирования, экстракции схемы проекта из топологии, сохране- ния топологии проекта в виде файлов стандартных форматов (CIF, DXF, GDS-II). Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201262 2Г Целью предлагаемой разработки является формирование из файлов во входном формате Gerber или MEBES файла выходного формата Т29 (формат описания топо- логии фотошаблона установок контроля) за максимально короткое время. Задача решается в три этапа: 1) из файла либо файлов во входном формате формируются файлы в формате внутреннего представления данных. В этом формате описание топологии представляет набор контуров с неотрицательными значениями координат узлов. Все операции масш- табирования, зеркального отображения, поворота изображения, аппроксимации и т.д., заданные во входном формате, должны быть выполнены; 2) из файлов в формате внутреннего представления данных формируются файлы промежуточного формата. Для этого контура должны быть разбиты на примитивы. Примитив – это контур, у которого координаты узлов по оси Х от минимальной до максимальной координаты сверху и снизу монотонно неубывающие. Кроме этого при- митивы должны быть разрезаны по границам полос; 3) из файлов промежуточного формата формируется файл выходного формата Т29. Ускорения работы программного комплекса достигается организацией вычислений на базе многоядерного процессора и использовании технологии OpenMP [11-14]. Методы распараллеливания вычислительных потоков для работы на многоядерной архитектуре ПЭВМ Наиболее распространенные методы программирования параллельных прило- жений: – метод с использованием Threads, который не требует дополнительных библио- тек, т.е. для использования этого варианта достаточно имеющихся возможностей OC. Обычно используется для сокрытия от пользователя различных операций, чтобы не допустить остановку отрисовки GUI в момент ожидания операции. Также достоин- ством является разделение адресного пространства и принадлежность потоков одному процессу. Поэтому все передачи данных между потоками выполняются максимально быстро. Чаще всего достаточно передать указатель. Синхронизация потоков не требует множества ресурсов и системных вызовов, которые являются длительными операциями с переключением контекста; – более простым методом для распараллеливания уже существующего кода явля- ется стандарт OpenMP, т.к. значительная часть работы по распараллеливанию и синхро- низации здесь переложена на компилятор и его библиотеки. Недостатки – требуется специальный компилятор, низкий уровень параллельности, необходимость следования навязываемой парадигме; – библиотека передачи сообщений MPI представляет собой собрание функций на C/C++ (или подпрограмм в Фортране), облегчающих обмен данными и синхрони- зацию задач между процессами параллельной программы с распределенной памятью. MPI чаще всего применяют для написания параллельных программ на больших класте- рах. Преимущества применения MPI – это высокая масштабируемость, высокий уровень параллельности и отличная портабельность кода. Основные минусы – сложности при программировании, относительно высокие затраты на синхронизацию и обмен данными. Поскольку, согласно техническому заданию, разработка ПК ПТД будет осуществ- ляться на основе последовательного кода, то для работы выбран стандарт OpenMP. Стандарт OpenMP был разработан в 1997 г. как API, ориентированный на напи- сание портируемых многопоточных приложений. Сначала он был основан на языке Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 63 2Г Fortran, но позднее включил в себя и C/C++. Последняя версия OpenMP — 2.0; ее полностью поддерживает Visual C++ 2005 и более новые среды разработки Microsoft. Для активации реализованных в компиляторе средств OpenMP служит появив- шийся в Visual C++ 2005 параметр компилятора /openmp. (возможна активация дирек- тивы OpenMP на страницах свойств проекта, через выбор в Configuration Properties, C/C++, Language и изменения значения свойства OpenMP Support). Встретив пара- метр /openmp, компилятор определяет символ _OPENMP, с помощью которого можно определить, включены ли средства OpenMP. OpenMP связывается с приложениями через библиотеку импорта vcomp.lib. Соот- ветствующая библиотека периода выполнения называется vcomp.dll. Отладочные версии библиотек импорта и периода выполнения (vcompd.lib и vcompd.dll соответственно) поддерживают дополнительные сообщения об ошибках, генерируемых при некоторых недопустимых операциях. Для реализации параллельных вычислений выбран открытый стандарт для распа- раллеливания программ OpenMP, который позволяет достаточно легко и прозрачно реализовывать параллельные вычисления. Сравнение производительности различных архитектур Для сравнения производительности вычислений на CPU и GPU было реализовано два программных модуля. Основным различием этих модулей является обрабаты- ваемый тип данных. Тестирование производительности CPU осуществлялось в двух режимах: режим, использующий только одно ядро, и режим, использующий четыре ядра процессора (реализовано с использованием OpenMP). Тестирование производительности осуществлялось путем выполнения неслож- ных математических операций над двумя массивами данных большой размерности (52 444 777 элементов в обоих случаях). Этими операциями являются: 22 )(2)(1 imasimas  (1) для модуля, использующего тип данных float и 22 )(2)(1 imasimas  (2) для модуля, использующего тип данных int. Вычислительные модули тестировались на следующей программно-аппаратной платформе: Процессор – AMD Phenom II X4 955 3.21 ГГц. Видеокарта – NVIDIA GeForce GTS 250. Объем ОЗУ, МБ – 4 Гбайт. ОС – Windows XP SP3. Производительность оценивалась путем измерения времени, затраченного моду- лем на выполнение одной задачи (вычисление выражений (1) и (2)) различными спо- собами: одно ядро CPU, четыре ядра CPU (OpenMP) и GPU. Результаты тестирования показаны на рис. 1. Из рис. 1 следует, что использование параллельных вычислений при обработке больших объемов данных всегда позволяет сократить временные затраты. Однако способ распараллеливания следует выбирать исходя из условий решаемой задачи. Так, использование GPU будет оправданным только в случае большого количества однотипных и достаточно сложных вычислений над данными, представленными в виде Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201264 2Г чисел с плавающей запятой. В случае же более простых вычислений либо при работе с целочисленными данными выгоднее использовать распараллеливание вычислений на отдельные ядра процессора, с помощью спецификации OpenMP. 0 0,2 0,4 0,6 0,8 1 1,2 Время работы по формуле (3.2) для int Время работы по формуле (3.1) для float Время работы по формуле (3.2) для float CPU CPU + OpenMP GPU Рисунок 1 – Временные диаграммы результатов тестирования Параллельная реализация преобразования топологических данных Формат данных MEBES Процесс конвертации исходных контуров, представленных в формате MEBES, состоит из нескольких этапов (рис. 2): 1) чтение исходного контура; 2) преобразование данных об объекте топологии; 3) сохранение полученного описания объекта топологии и в файл формата внут- реннего представления. Формат данных Gerber Процесс конвертации исходных контуров, представленных в формате Gerber, состоит из нескольких этапов: 1) чтение команд из файла формата Gerber в список; 2) выборка команд из списка прочитанных команд плоттеру и их выполнение; 3) выполнение действий по смешению, повороту и масштабированию изображения; 4) сохранение результата выполнения в файл внутреннего формата. Алгоритм разбора файла в формате Gerber RS-274X можно описать как автомат лексического разбора текстового файла, на вход которого посимвольно подаются ис- ходные данные. Файл формата состоит из многих блоков данных (команд), содержащих параметры и коды. Каждый блок данных ограничивается символом конца блока. Каждый блок данных может содержать один или несколько параметров или кодов. Файл RS-274X может содержать расширенные данные (расширенные команды или X-данные) и стандартные коды RS-274D (D, G, N, M-коды). Алгоритм разбора файла данных можно представить следующими (обобщен- ными) шагами (схема алгоритма приведена на рис. 3): 001. Проверка доступа к лог-файлу (файлу сообщений); 002. Инициализация состояния преобразования; 003. Доступ к файлам данных (.gbr + .int); 004. Инициализация состояния «плоттера» (только на первом вхождении); Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 65 2Г 005. Проверка начала команды (если расширенная команда, то разбор расши- ренной команды (на шаг 006), иначе – разбор простой команды (на шаг 010)); 006. Разбор части расширенной команды (варианты): 007. Поиск завершения части расширенной команды (если нашли – то на шаг 008, иначе – ошибка); 008. Выполнение части расширенной команды (если команда только меняет состояние плоттера, то смена состояния производится в процессе разбора команды (см. шаг 006), а не по ее завершению (по завершению только констатируется факт обработки)); 009. Поиск окончания расширенной команды (если найден конец расширенной команды, то на шаг 005, иначе на шаг 006); 010. Разбор простой команды (варианты): 011. Поиск окончания простой команды (если нашли – то на шаг 012, иначе – ошибка); 012. Выполнение найденной команды (если команда только меняет состояние плоттера, то смена состояния производится в процессе разбора команды (см. шаг 010), а не по ее завершению (по завершению только констатируется факт обработки)); 013. Переход на шаг 005; 014. Действия по смешению, повороту и масштабированию изображения (не под- держиваются внутренним форматом); В данном алгоритме при любой выявленной ошибке разбора или формирования внутреннего формата происходит аварийное завершение программы (не указано в обоб- щенной пошаговой схеме из-за сложности представления). Начало Конец Прочитать заголовок MEBES Цикл по исходным контурам Чтение исходного контура Конвертация Запись нового контура Рисунок 2 –Последовательная реализация алгоритма преобразования формата MEBES во внутреннее представление Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201266 2Г Рисунок 3 – Последовательная реализация алгоритма преобразования формата Gerber во внутреннее представление Параллельная реализация преобразования данных в форматах CAD во внутреннее представление При работе с данными в формате MEBES и Gerber, процесс преобразования можно представить в виде трех логически и функционально разделенных блоков, каждый из которых может выполняться параллельно с другими. Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 67 2Г Для обеспечения требуемого порядка контуров при параллельной работе модуля преобразования формата предлагается использовать структуру данных «очередь» для передачи данных между этапами преобразования (рис. 4). Рисунок 4 – Параллельная реализация алгоритма преобразования данных в форматах MEBES и Gerber во внутреннее представление При такой схеме передачи данных работа модуля конвертации данных в формате MEBES осуществляется следующим образом: 1) чтение заголовка MEBES-файла; 2) [Поток 1] Циклическое вычитывание контуров из исходного файла и помеще- ние их в очередь исходных контуров; 3) [Поток 2] Циклическое преобразование вычитываемых из очереди исходных контуров данных и сохранение результата обработки в очереди обработанных контуров; 4) [Поток 3] Циклическое вычитывание данных из очереди обработанных контуров и их сохранение в результирующий файл внутреннего представления. Таким образом, работа параллельного алгоритма преобразования контуров может быть представлена в виде схемы, приведенной на рис. 5. Работа модуля конвертации данных в формате Gerber может быть описана схемой, представленной на рис. 5, и осуществляется следующим образом: 1) открыть файл формата Gerber; 2) [Поток 1] циклическое чтение команд из Gerber-файла, ее разбор и запись в очередь на обработку (передача команды плоттеру на выполнение); Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201268 2Г 3) [Поток 2] вычитывание команды плоттеру для обработки и запись полученного результата в очередь на сохранение в файл внутреннего формата; 4) [Поток 3] циклическое вычитывание данных из очереди результатов выполнения команд и сохранение данных в выходной файл внутреннего формата. Рисунок 5 – Схема параллельной реализации алгоритма преобразования формата топологических данных во внутреннее представление Работа по такой схеме требует выполнения некоторых условий: 1) требуется обеспечение синхронизации доступа к очередям; 2) введение дополнительных флагов, сигнализирующих о состоянии других по- токов обработки (например, поток преобразования должен быть оповещен о том, что все исходные данные вычитаны, и цикл преобразования может быть завершен после опустошения очереди исходных контуров). Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 69 2Г Формат установок автоматического контроля Т29 Для увеличения скорости работы полной процедуры конвертации топологиче- ских данных из формата внутреннего представления в промежуточный формат исполь- зуется разбиение контуров на примитивы и дальнейшее преобразование в формат установок автоматического контроля Т29 реализовано одновременное вычисление в нескольких потоках. В качестве основы для параллельных вычислений была выбрана спецификация OpenMP [1], [9]. Такой выбор обусловлен структурой исходных прог- раммных модулей, а также используемой аппаратной платформой (персональный ком- пьютер с многоядерным процессором и большим объемом оперативной памяти). Данные программные модули используют конвертор, последовательная реализация которого разработана в УП «КБТЭМ-ОМО». Структура последовательной реализации программной системы приведена на рис. 6 а) (приведена только часть схемы, реализу- ющая процедуру конвертации из формата внутреннего представления в формат Т29). Рисунок 6 – Структурная схема а) исходной и б) переработанной программной системы Особенности реализации программной системы: 1) использование большого количества глобальных переменных; 2) использование среды разработки Borland C++ Builder 5, компилятор которой не поддерживает спецификацию OpenMP. Данные особенности не позволяют выполнить распараллеливание вычислений с использованием структуры, приведенной на рис. 6, и технологии OpenMP. Поэтому вводится дополнительный уровень, который инкапсулирует вычисления в отдельной динамически загружаемой библиотеке. При этом исходная библиотека LSeparPolPr.dll используется лишь для осуществления взаимодействия с исполняемым модулем Con- vert.exe. Новая схема приведена на рис. 6 б). В новой схеме интерфейсный модуль LSeparPolPr.dll осуществляет следующие задачи: – инициализация переменных; – подготовка данных к выполнению конвертации; – загрузка модуля параллельного разбиения контуров на примитивы (ParLSepar- PolPr.dll) и функции run_all() из данной динамически загружаемой библиотеки; – запуск вычислений; – выполняет постобработку (закрытие файловых дескрипторов, очистка памяти). Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201270 2Г Библиотека ParLSeparPolPr.dll предназначена только для выполнения вычислений. Она экспортирует только три функции: ParallelPrepFileSeparConturs(), SetParameters() и run_all(), которые предназначены для загрузки данных из интерфейсного модуля и вычислений. Также модифицирована для работы с локальными переменными функция ConturProcessing(). Код новых и модифицированных функций реализован на языке программирования С++ в среде разработки Microsoft Visual Studio 2008. Тестирование программных средств конвертации топологических данных Для оценки сокращения временных затрат было проведено тестирование, в кото- ром засекалось время конвертации для исходной версии модуля преобразования, новой версии модуля (использующей стандарт OpenMP) с одним задействованным вычисли- тельным потоком и новой версии модуля с тремя задействованными вычислитель- ными потоками. Тестирование осуществлялось на предоставленных УП «КБТЭМ-ОМО» файлах: – топологии E5189ARR5.00 и файл пакетной обработки em5189test5090.jb (формат MEBES, размером 47 МБ: файл). – ipc441_1.gbr, ipc441_2.gbr (формат Gerber, размер 1 Mb, время засекалось для 10 запусков последовательной и параллельной версий). Результаты замеров временных затрат на преобразование из формата MEBES и Gerber в формат внутреннего представления приведены в табл. 1. Таблица 1 – Сравнение времени работы различных реализаций конвертации данных Формат Время конвертации для модуля, с реализацией: Последовательная OpenMP и один поток OpenMP и три потока MEBES 1,517 1,593 1,304 Gerber 0,621 0,709 0,452 Из результатов тестирования можно заметить, что при использовании параллельной версией модуля только одного ядра и вычислительного потока время конвертации возрастает, что связано с затратами на распараллеливание, но при использовании трех потоков на трех ядрах время преобразования сокращается. Относительно невысокие результаты ускорения вычислений связаны с тем, что основными затратами при работе данного модуля (как последовательной, так и параллельной версий) являются затраты на чтение и запись данных на файловую систему. Тестирование программных средств конвертации в формат T29 осуществлялось на файлах топологических данных во внутреннем формате, полученных преобразо- ванием файла 112_01.gds. Исходный GDS файл содержит 903 контура, которые во внутреннем формате представляют собой 2030 примитивов. В табл. 2 приведены средние значения времени работы конвертера на ПЭВМ с 4-ядерным процессором. Таблица 2 – Результаты времени работы конвертера Количество вычислительных потоков Время работы 1 1,544 2 0,889 3 0,686 4 0,561 Конвертация топологических данных с использованием параллельных вычислений «Штучний інтелект» 3’2012 71 2Г Из табл. 2 видно, что для 4-ядерной ПЭВМ выгодно использование нескольких вычислительных потоков. Заключение В данной работе предложены алгоритмы и программные средства параллельной реализации преобразования топологических данных в формате Gerber и пакетного режима MEBES во внутреннее представление и далее в формат установок автоматиче- ского контроля Т29. Программные средства разработаны на базе технологии OpenMP для работы на ПЭВМ с 4-ядерным процессором. Показано, что использование парал- лельных вычислений ускоряет процесс конвертации. В дальнейшем планируется раз- работать аналогичные средства для конвертации данных из форматов CIF и DFX во внутренний формат и из него – в формат GDS-II, что позволит создать программный комплекс подготовки топологических данных для работы с установками автоматиче- ского контроля производства УП «КБТЭМ-ОМО». Литература 1. Wang W. Research on model data exchange method between different structure CAD systems / W. Wang, Zh. Hu, Ch. Liu // Proc. of International Conference on Multimedia Technology (ICMT), Hangzhou, China, 26 – 28 July 2011. – P. 3626-3629. 2. Standardized data exchange of CAD models with design intent / J. Kim [et al.] // Computer-Aided Design. – 2008. – V. 7(40). – P. 760-777. 3. Using Procedure Recovery Approach to Exchange Feature-based Data among Heterogeneous CAD Systems / X. Li [et al.] // Proceedings of the 2009 13th International Conference on Computer Supported Cooperative Work in Design (CSCWD 2009) April 22 – 24, 2009, Santiago, Chile. – P. 716-721. 4. Qi Z. Interdisciplinary Data Exchange in the Development of Assembly Systems / Zh. Qi, C. Schafer, P. Klemm // Proc. of the 4th IEEE International Conference on Industrial Informatics INDIN06, Singapore, 2006, 16 – 18 Aug. – P. 542-547. 5. Li A. An data exchange methodology of CAD and virtual assembly system / A. Li, X. Shen // Proc. of the IEEE 17Th International Conference on Industrial Engineering and Engineering Management (IE&EM), 29 – 31 Oct. 2010, Xiamen, China. – P. 307-310 6. Pajarre E. G2L: system for converting low-level geometrical designs to a higher level representation / E. Pa- jarre, T. Ritoniemi, H. Tenhunen // Proc. of the Euro ASIC '91, 27 – 31 May 1991, Paris, France. – P. 366-371. 7. Research on CAD Data Format Conversion for Transport Infrastructure Information / H. Wang [et al.] // Advanced Materials Research. – 2011. – Vol. 305. – P. 239-242. 8. An improved data communication mechanism for a SOC hardware/software co-emulation environment / A.W. Ruan [et al.] // Proc. of International Conference on Communications, Circuits and Systems ICCCAS 2009, Milpitas, California, USA, 23 – 25 July 2009. – P. 1029-1032. 9. CATS Synopsys [Электронный ресурс] – 2012. – Режим доступа : http://www.synopsys.com/tools/ manufacturing/masksynthesis/cats/pages/default.aspx. – Дата доступа: 02.07.2012. 10. Tanner EDA Software Tools - L-Edit Layout for Analog IC & Mixed Signal Design [Электронный ресурс] – 2012. – Режим доступа : http://tannereda.com/l-edit-pro. – Дата доступа: 02.07.2012. 11. The OpenMP® API specification for parallel programming [Электронный ресурс] – 2011. – Режим доступа : http://openmp.org/wp/ . – Дата доступа: 19.09.2011. 12. Антонов А.С. Параллельное программирование с использованием технологии OpenMP : учебное пособие / Антонов А.С. – М. : Изд-во МГУ, 2009. – 77 с. 13. Боресков А.В. Основы работы с технологией CUDA / А.В. Боресков, А.А. Харламов. – М. : Изд-во ДМК-Пресс, 2010. – 232 с. 14. OpenCL Programming Guide / A. Munshi [et al]. – Addison-Wesley Professional, 2011. – 648 p. Literatura 1. Wang, W. Research on model data exchange method between different structure CAD systems / W. Wang, Zh. Hu, Ch. Liu // Proc. of International Conference on Multimedia Technology (ICMT), Hangzhou, China, 26-28 July 2011. – P. 3626 – 3629. http://www.synopsys.com/tools/ http://tannereda.com/l-edit-pro. http://openmp.org/wp/ Ганченко В.В., Дудкин А.А., Инютин А.В. «Искусственный интеллект» 3’201272 2Г 2. Standardized data exchange of CAD models with design intent / J. Kim [et al.] // Computer-Aided Design. – 2008. – V. 7(40). – P. 760 – 777. 3. Using Procedure Recovery Approach to Exchange Feature-based Data among Heterogeneous CAD Systems / X. Li [et al.] // Proceedings of the 2009 13th International Conference on Computer Supported Cooperative Work in Design (CSCWD 2009) April 22-24, 2009, Santiago, Chile. – P. 716–721. 4. Qi, Z. Interdisciplinary Data Exchange in the Development of Assembly Systems / Zh. Qi, C. Schafer, P. Klemm // Proc. of the 4th IEEE International Conference on Industrial Informatics INDIN06, Singapore, 2006, 16-18 Aug. – P. 542 – 547. 5. Li, A. An data exchange methodology of CAD and virtual assembly system / A. Li, X. Shen // Proc. of the IEEE 17Th International Conference on Industrial Engineering and Engineering Management (IE&EM), 29-31 Oct. 2010, Xiamen, China. – P. 307 – 310 6. Pajarre, E. G2L: system for converting low-level geometrical designs to a higher level representation / E. Pajarre, T. Ritoniemi, H. Tenhunen // Proc. of the Euro ASIC '91, 27-31 May 1991, Paris, France. – P. 366–371. 7. Research on CAD Data Format Conversion for Transport Infrastructure Information / H. Wang [et al.] // Advanced Materials Research. – 2011. – Vol. 305. – P. 239-242. 8. An improved data communication mechanism for a SOC hardware/software co-emulation environment / A.W. Ruan [et al.] // Proc. of International Conference on Communications, Circuits and Systems ICCCAS 2009, Milpitas, California, USA, 23-25 July 2009. – P. 1029 – 1032. 9. CATS Synopsys [Jelektronnyj resurs] – 2012. – Rezhim dostupa: http://www.synopsys.com/tools/manufacturing/masksynthesis/cats/pages/default.aspx. 10.Tanner EDA Software Tools - L-Edit Layout for Analog IC & Mixed Signal Design [Jelektronnyj resurs] – 2012. – Rezhim dostupa: http://tannereda.com/l-edit-pro. 11.Kompleksy optiko-mehanicheskogo oborudovanija dlja bezdefektnogo izgotovlenija fotoshablonov urovnja 0,35mkm i 90 nm / S.M. Avakov [i dr.] //Fotonika. – 2007. – #6. – S.35–39. 12.The OpenMP® API specification for parallel programming [Jelektronnyj resurs] – 2011. – Rezhim dostupa: http://openmp.org/wp/ . – Data dostupa: 19.09.2011. 13.Antonov, A.S. Parallel’noe programmirovanie s ispol'zovaniem tehnologii OpenMP: Uchebnoe posobie. M.: Izd-vo MGU. 2009. 77 s. 14.Boreskov, A.V. Osnovy raboty s tehnologiej CUDA. Izd-vo: DMK-Press. 2010. 232 s. 15.OpenCL Programming Guide / A. Munshi [et al]. – Addison-Wesley Professional, 2011. – 648 p. 16.Widmann, D. Technology of Integrated Circuits /D. Widmann, H. Mader, H. Friedrich – Berlin: Springer, 2000. – 360 p. 17.Opisanie formata Gerber RS-274X / Barco company [Jelektronnyj resurs] – Rezhim dostupa: http://www.barco.com/ets/data/rs274xc.pdf. RESUME V.V. Ganchenko, A.A. Doudkin, A.V. Inyutin Conversion of VLSI Layout Data Using Parallel Computing In this paper, we propose algorithms and software for parallel implementation of conversion of VLSI Layout Data from CAD format Gerber and MEBES into an internal representation and then into format of automatic mask inspection system T29. The software is developed on basis of OpenMP technology to work on PC with 4-core processor. It is shown that using parallel computing speeds up a conversion process. In the future we are planning to develop similar tools for data conversion from CIF and DFX formats into the internal format, and further into format GDS-II. These tools allow developing a program complex of topological data processing to work with automatic mask inspection system made by R&D Company “KBTEM-OMO” of “Planar” Corporation. Статья поступила в редакцию 03.07.2012. http://www.synopsys.com/tools/manufacturing/masksynthesis/cats/pages/default.aspx. http://tannereda.com/l-edit-pro. http://openmp.org/wp/ http://www.barco.com/ets/data/rs274xc.pdf.