Введение
Исторический редактор макетов VLSI IC, инструмент VLSI. Magic – это инструмент автоматизированного проектирования (EDA) для интегральных схем (IC) сверхбольшой интеграции (СБИС), первоначально разработанный Джоном Остерхаутом и его аспирантами в Калифорнийском университете в Беркли. Работа над проектом началась в феврале 1983 года. Работоспособная версия была создана к апрелю 1983 года, когда Джоан Пендлтон, Шинг Конг и другие студенты-разработчики чипов столкнулись с множеством быстрых итераций, разработанных для удовлетворения их потребностей при проектировании чипа SOAR CPU, являющегося продолжением Berkeley RISC. Опасаясь, что Остерхаут предложит очередное название, начинающееся с буквы "C", чтобы соответствовать его предыдущим проектам Cm*, Caesar и Crystal, Гордон Хамачи предложил название Magic, потому что ему понравилась идея говорить о том, что люди используют магию для проектирования чипов. Остальная команда разработчиков с энтузиазмом поддержала это предложение после того, как он придумал аббревиатуру Manhattan Artwork Generator for Integrated Circuits. Разработчики Magic называли себя магами, а проектировщики чипов – пользователями Magic. Как бесплатное программное обеспечение с открытым исходным кодом, распространяемое по лицензии BSD, Magic остается популярным благодаря простоте использования и возможности расширения для специализированных задач.
the VLSI tool
Magic is an electronic design automation (EDA) layout tool for very large scale integration (VLSI) integrated circuit (IC) originally written by John Ousterhout and his graduate students at UC Berkeley. Work began on the project in February 1983. A primitive version was operational by April 1983, when Joan Pendleton, Shing Kong and other graduate student chip designers suffered through many fast revisions devised to meet their needs in designing the SOAR CPU chip, a follow on to Berkeley RISC. Fearing that Ousterhout was going to propose another name that started with "C" to match his previous projects Cm*, Caesar, and Crystal, Gordon Hamachi proposed the name Magic because he liked the idea of being able to say that people used magic to design chips. The rest of the development team enthusiastically agreed to this proposal after he devised the backronym Manhattan Artwork Generator for Integrated Circuits. The Magic software developers called themselves magicians, while the chip designers were Magic users. As free and open source software, subject to the requirements of the BSD license, Magic continues to be popular because it is easy to use and easy to expand for specialized tasks.
Различия
Основное различие между Magic и другими инструментами проектирования VLSI заключается в использовании геометрии "угловой сшивки", в которой весь макет представлен в виде стека плоскостей, а каждая плоскость состоит исключительно из "плиток" (прямоугольников). Плитки должны полностью покрывать плоскость. Каждая плитка содержит (X, Y) координаты своего нижнего левого угла и ссылки на четыре соседние плитки: ближайшую справа сверху, ближайшую сверху справа, ближайшую слева снизу и ближайшую снизу слева. С добавлением информации о типе материала, представленного плиткой, геометрия макета в плоскости определяется однозначно. Геометрическое представление с угловой сшивкой приводит к концепции макета как "заливки", которую можно наносить или удалять с холста. Это существенно отличается от других инструментов, использующих концепцию макета как "объектов", которые размещаются и манипулируются независимо друг от друга. Каждая концепция имеет свои сильные и слабые стороны с точки зрения практического применения и скорости вычислений. Геометрия с угловой сшивкой особенно хорошо подходит для поиска в пределах одной плоскости, где она демонстрирует высокую скорость. Однако она не очень подходит для работы с чрезвычайно большими базами данных: необходимость поддерживать четыре указателя для каждой плитки, а также хранить плитки, представляющие пространство между областями материала в макете, делает её более требовательной к памяти, чем объектные представления. Расширение представления геометрии с угловой сшивкой, известное как метод "разделенной плитки", добавленное в версии 7.1, позволяет точно представлять неманхэттенскую геометрию. Этот метод позволяет каждой плитке в базе данных указывать два типа материалов, в этом случае плитка считается разделенной диагональю от угла до угла, с одним типом материала по одну сторону диагонали и другим – по другую. Дополнительный флаг указывает, идет ли диагональ от верхнего левого угла к нижнему правому или от верхнего правого угла к нижнему левому. Метод разделенной плитки имеет то преимущество, что почти все правила, применимые к геометрии с угловой сшивкой, остаются без изменений применимыми и к разделенным плиткам. Дополнительным преимуществом является то, что все углы неманхэттенской геометрии должны лежать на внутренней сетке базы данных. Это исключает возможность создания геометрии, не соответствующей сетке, в пределах одной плоскости – ошибки, часто возникающей в объектных представлениях и являющейся проблемой для большинства технологических процессов.
Проверка правил проектирования
Magic имеет проверку правил проектирования в реальном времени, которой нет в некоторых дорогостоящих коммерческих пакетах программного обеспечения для проектирования СБИС. Magic реализует это, вычисляя расстояние по метрике Манхэттена, а не по евклидовой метрике, что значительно быстрее. Начиная с версии 7.3, Magic корректно вычисляет евклидово расстояние при использовании команды `drc euclidean`. Проверка евклидова расстояния является тривиальным расширением проверки расстояния Манхэттена и требует незначительных вычислительных затрат. На прямых краях расстояния Манхэттена и евклидовы совпадают. Расхождения возникают только в углах. При проверке углов достаточно отслеживать направление поиска от угловой точки. Любая геометрия, обнаруженная внутри квадрата, представляющего расстояние Манхэттена от угла, подвергается дополнительной проверке на предмет ее расположения за пределами четверти круга, представляющего евклидово расстояние. Поскольку эта дополнительная проверка применяется только к геометрии, нарушающей правило расстояния Манхэттена, она вызывается нечасто, поэтому вычислительные затраты очень малы. В настоящее время Magic работает под Linux, хотя существуют версии для DOS, OS/2 и других операционных систем. Magic часто используется совместно с IRSIM и другими программами моделирования.
Внутренние
Он использует Tcl/Tk в основе.
Импорт и экспорт
Magic поддерживает файлы CIF/Calma GDS.