Магия (программное обеспечение)
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2022 г. ) |
Оригинальный автор(ы) | Джон К. Оустерхаут , Гордон Т. Хамачи, Роберт Н. Мэйо, Уолтер С. Скотт, Джордж С. Тейлор |
---|---|
Разработчик(и) | Команда разработчиков Magic |
Первоначальный выпуск | апрель 1983 года |
Стабильная версия | 8.3.479 / 8 мая 2024 г |
Репозиторий | https://github.com/RTimothyEdwards/magic |
Написано в | С |
Операционная система | Линукс |
Доступно в | Английский |
Тип | Автоматизация электронного проектирования |
Лицензия | Лицензия BSD [1] |
Веб-сайт | разомкнутая схема |

Magic — это инструмент для автоматизации электронного проектирования (EDA) для (ИС) очень большой интеграции (СБИС интегральных схем ), первоначально написанный Джоном Оустерхаутом и его аспирантами в Калифорнийском университете в Беркли . Работа над проектом началась в феврале 1983 года. Примитивная версия была введена в эксплуатацию к апрелю 1983 года. [2] когда Джоан Пендлтон, Шинг Конг и другие аспиранты-разработчики микросхем претерпели множество быстрых изменений, разработанных для удовлетворения их потребностей в разработке микросхемы ЦП SOAR, последователя Berkeley RISC .
Опасаясь, что Оустерхаут собирается предложить другое имя, начинающееся с буквы «C», чтобы оно соответствовало его предыдущим проектам Cm* , Caesar и Crystal , Гордон Хамачи предложил название Magic, потому что ему нравилась идея возможности сказать, что люди использовали магию для проектирования. чипсы. Остальная часть команды разработчиков с энтузиазмом согласилась на это предложение после того, бэкроним Manhattan придумал Artwork он Generator для интегрированных схем как . Разработчики программного обеспечения Magic называли себя волшебниками, а разработчики чипов — пользователями Magic.
Будучи бесплатным программным обеспечением с открытым исходным кодом , подпадающим под требования лицензии BSD , Magic продолжает пользоваться популярностью, поскольку его легко использовать и легко расширять для решения специализированных задач.
Различия [ править ]
Основное различие между Magic и другими инструментами проектирования СБИС заключается в использовании геометрии «сшитой по углам», в которой вся компоновка представлена в виде стопки плоскостей, а каждая плоскость полностью состоит из «плиток» (прямоугольников). Плитки должны покрывать всю плоскость. Каждый тайл состоит из координаты (X, Y) его нижнего левого угла и связан с четырьмя тайлами: самым правым соседом сверху, самым верхним соседом справа, самым нижним соседом сверху. слева и самый левый сосед снизу. С добавлением типа материала, представленного плиткой, геометрия раскладки в плоскости точно уточняется. Представление геометрии, сшитой по углам, приводит к концепции макета как «краски», которая наносится на холст или стирается с него. Это значительно отличается от других инструментов, которые используют концепцию макета как «объектов», которые можно размещать и манипулировать ими отдельно друг от друга. Каждая концепция имеет свои сильные и слабые стороны как с точки зрения практического использования, так и с точки зрения скорости вычислений. Представление со сшивкой по углам особенно хорошо подходит для поиска в одной плоскости, где оно отличается скоростью. Он не особенно хорошо подходит для очень больших баз данных: необходимость поддерживать четыре указателя для каждого фрагмента, а также необходимость хранить фрагменты, представляющие пространство между областями материала в макете, делает его более ресурсоемким по памяти, чем объектно-ориентированный. представления.
Расширение представления геометрии со сшитыми углами, называемое методом «разделенной плитки», добавленное в версии 7.1, обеспечивает истинное представление неманхэттенской геометрии . Этот метод позволяет каждой плитке в базе данных указывать два типа материала, и в этом случае плитка рассматривается как разделенная пополам диагональной линией от угла к углу, причем один тип материала находится на одной стороне диагонали, а другой тип материала - на другая сторона диагонали. Дополнительный флаг указывает, проходит ли диагональ из левого верхнего угла в правый нижний или из правого верхнего угла в левый нижний. Преимущество метода разделения плитки состоит в том, что почти все правила, применимые к геометрии со сшивкой углов, без изменений применяются и к разделению плитки. Еще одним преимуществом является то, что вся геометрия, не относящаяся к Манхэттену, должна иметь углы, лежащие на внутренней сетке базы данных. Это делает невозможным создание геометрии вне сетки в одной плоскости, что является ошибкой правил для большинства производственных процессов и является распространенной проблемой объектно-ориентированных представлений.
Проверка правил проектирования [ править ]
в режиме реального времени Magic обеспечивает проверку правил проектирования , чего нет в некоторых дорогостоящих коммерческих пакетах программного обеспечения для проектирования СБИС. Magic реализует это, рассчитывая расстояние, используя Манхэттенское расстояние , а не Евклидово расстояние , которое вычисляется гораздо быстрее. Версии Magic из версии 7.3 правильно вычисляют евклидово расстояние, если задано drc euclidean on
команда. Проверки евклидового расстояния являются тривиальным расширением проверок Манхэттенского расстояния и требуют очень небольших накладных расходов. На прямолинейном ребре манхэттенское и евклидово расстояния одинаковы. Только на углах два расстояния расходятся. При проверке углов необходимо следить только за направлением поиска от угловой точки. Любая геометрия, найденная внутри квадрата, представляющего манхэттенское расстояние от угла, подвергается дополнительной проверке, чтобы определить, находится ли та же самая геометрия за пределами радиуса четверти круга, представляющего евклидово расстояние. Поскольку эта дополнительная проверка применяется только к геометрии, нарушающей Манхэттенское правило расстояния, она вызывается нечасто, поэтому вычислительные затраты очень малы.
В настоящее время Magic работает под Linux , хотя существуют версии для DOS , OS/2 и других операционных систем . Magic часто используется вместе с IRSIM. [3] и другие программы моделирования .
Внутренности [ править ]
он использует Tcl/Tk . Под капотом [4]
Форматы файлов [ править ]
Импорт и экспорт [ править ]
См. также [ править ]
- XЦепь
- Нетген
Ссылки [ править ]
- ^ http://opencircuitdesign.com/magic/archive/papers/copyright.pdf [ пустой URL PDF ]
- ^ Сборник статей по магии .
- ^ Симулятор уровня коммутатора IRSIM
- ^ «Магическое развитие» . opencircuitdesign.com . Проверено 27 апреля 2022 г.
- Примечания
- Оустерхаут, Джон К.; Хамачи, Гордон Т.; Мэйо, Роберт Н.; Скотт, Уолтер С.; Тейлор, Джордж С. (декабрь 1983 г.). «Сборник статей по магии» . Технический отчет отдела EECS Калифорнийского университета в Беркли № UCB/CSD-83-154 .
- Оустерхаут, Джон К. (январь 1984 г.). «Сшивание углов: метод структурирования данных для инструментов компоновки СБИС» . Транзакции IEEE в области автоматизированного проектирования . 3 (1): 87–100. дои : 10.1109/TCAD.1984.1270061 . S2CID 25136284 .
- Оустерхаут, Джон К.; Хамачи, Гордон Т.; Мэйо, Роберт Н.; Скотт, Уолтер С.; Тейлор, Джордж С. (1984). «Магия: система компоновки СБИС» . Материалы 21-й конференции по автоматизации проектирования . Пискатауэй, Нью-Джерси: IEEE Press. стр. 152–159. дои : 10.1109/DAC.1984.1585789 . ISBN 0-8186-0542-1 . S2CID 6833511 .
- Тейлор, Джордж С.; Оустерхаут, Джон К. (1984). «Инкрементальная проверка правил проектирования Magic» . Материалы 21-й конференции по автоматизации проектирования . стр. 160–165. дои : 10.1109/DAC.1984.1585790 . ISBN 0-8186-0542-1 . S2CID 13191340 .
- Скотт, штат Вашингтон; Оустерхаут, Джон К. (1984). «Вспашка: интерактивное растяжение и уплотнение в Magic» . Материалы 21-й конференции по автоматизации проектирования . стр. 166–172. дои : 10.1109/DAC.1984.1585791 . ISBN 0-8186-0542-1 . S2CID 6004870 .
- Хамачи, Гордон Т.; Оустерхаут, Джон К. (1984). «Маршрутизатор распределительной коробки с функцией предотвращения препятствий» . Материалы 21-й конференции по автоматизации проектирования . стр. 173–179. дои : 10.1109/DAC.1984.1585792 . ISBN 0-8186-0542-1 . S2CID 12525813 .
- Скотт, Уолтер С.; Оустерхаут, Джон К. (1985). «Магический экстрактор цепей» . IEEE Проектирование и тестирование компьютеров . 3 (22-е): 286–292. дои : 10.1109/MDT.1986.294914 .
Внешние ссылки [ править ]
- Волшебный инструмент компоновки СБИС
- Магия , справочные страницы и руководства
- Магия , Старая версия
- ИРСИМ
- Схема СБИС 16-битного полного сумматора с использованием программного обеспечения Magic