Разработка системы автоматизации проектирования flip-chip корпуса Кибардин Владимир Владимирович
Корпус
Маленькая организация Крупная организация Необходимость разработки системы автоматизации
Маленькая организация Крупная организация Средняя организация
Маршрут Проблемные особенности Несколько независимых групп разработчиков Итеративность процесса проектирования Участие в разработке сторонней компании Проблемы средств визуализации и модификации Наличие графического редактора цоколевки
Маршрут Независимые группы разработчиков, итеративность Разные предметы и среды проектирования Отсутствие общего «языка» обмена информацией Повышенный риск человеческой ошибки из-за отсутствия автоматических проверок и контроля версий Наличие графического редактора цоколевки
Информационные потоки Различия в представлении данных Формат файлов и поля таблиц Пространство имен сигналов Система координат Разработчики кристалла: таблица соответствия между контактами кристалла и сигналами пространство имен: сигналы кристалла Система координат: вид сверху Специальные требования к трассировке Разработчики печатной платы: таблица соответствия между контактами корпуса и сигналами пространство имен: сигналы печатной платы Разработчикам корпуса: таблица соответствия между контактами кристалла и корпуса пространство имен: сигналы кристалла Система координат: вид сверху Специальные требования От разработчиков корпуса: таблица соответствия между контактами кристалла, чертеж пространство имен: числа Система координат: вид снизу Форматы: xls, dxf
Когерентность и проверки Модуль «Конвертор форматов» Извлечение и запись данных из текстовых файлов и таблиц XLS Работа с различным форматированием текстовых таблиц Возможность добавление новых форматов и настроек Реализация на языке perl с использованием XML
Когерентность и проверки Модуль «Экстракция цоколевки» Извлечение цоколевки из чертежа autocad (формат dwg/dxf) Чертёж конвертировался в GDSII и обрабатывался в среде milkyway, после чего извлекалась цоколевка в среде Hercules Языки реализации: perl, Tcl, Scheme (язык Milkyway), Deck (Hercules)
Когерентность и проверки Модуль «Конвертер сигналов» Приведение названий сигналов к общему виду, 2 режима работы Режим «определённости»: используется таблица переименований Режим составления таблицы: определяется соответствие названий сигналов, после с одобрения пользователя заносит его в таблиц
Когерентность и проверки Модуль «Конвертер координат» Приведение координат контактных площадок к общей системе Реализация на языке perl
Когерентность и проверки Модуль «База данных» База данных, поддерживающая простейшую систему запросов, хранит цоколевки текущей и предыдущих версий Возможно сравнение версий и выдача различий Реализация Perl + XML
Когерентность и проверки Модуль «Автономная проверка» Проверяет поступающую в БД информацию на наличие самопротиворечий (замыкания, дублированные сигналы, ошибки в номиналах напряжений и пр.) Реализован на языке perl
Когерентность и проверки Модуль «перекрестная проверка» Проверяет поступающую в БД информацию на соответствие данной версии цоколевки (используются все сигналы, правильно назначены питания и земли и пр) Реализация на языке perl
Когерентность и проверки Система в целом Обеспечивает когерентность информационных потоков Наличие проверок в каждом модуле и специализированных модулей проверок резко снижает риск человеческой ошибки Пакет Subversion контролирует версии всех данных внутри системы Модульная структура и данные в виде XML обеспечивают расширяемость
Маршрут Разработчик корпуса -- сторонняя компания Меньше доверия к разработчику корпуса Низкая эффективность и повышенный риск ошибки при «ручной» проверке чертежей Наличие графического редактора цоколевки
Верификация Модуль физической верификации Подготовка чертежа и генерация runset скриптов, задающие нормы Использование среды hercules для проверки чертежа на соответствие исходным требованиям и цоколевке Визуализация результатов для экспертного анализа Реализация на языках Perl, Tcl, Scheme, Deck
Маршрут Визуализация и модификация Ограниченность средств проектировании цоколевки Проектирование только «со стороны» печатной платы Отсутствие средств создания информативных изображений для экспертного анализа Наличие графического редактора цоколевки
Визуализация, модификация Создание цоколевки с нуля, внесение любых корректив Отображение связностей, гистограмма пересечений Отображение топологии кристалла во время редактирования Работа только с базой данных в качестве источника Реализация на языках Perl, Scheme, Tcl/Tk Графический редактор цоколевки
Результаты, перспективы Перспективы Улучшение архитектуры и повышение быстродействия Полная автоматизация создания цоколевки (PCB-oriented flow) Использование модулей физической верификации для печатных плат Результаты Успешно разработан корпус для проекта «система на кристалле R500S» Проектирование проведено в короткие сроки и при малом количеством ошибок
Спасибо за внимание!