Автоматизация проектирования в вычислительной технике
История САПР в электронике и вычислительной технике берет свое начало в конце 50-х — начале 60-х годов прошлого века.
В конце 50-х годов был получен ряд результатов, позволявших создавать САПР цифровых автоматов и вычислительных машин. Эти результаты в значительной мере были предвосхищены трудами английского математика XIX века Джорджа Буля, заложившего основы математической логики; создателя математической теории информации Клода Шеннона, занимавшегося вопросами теории релейно-контактных схем; советского физика В.И.Шестакова, который одновременно с К.Шенноном предложил применять математическую логику к синтезу логических схем.
Разработка теории логического анализа и синтеза релейно-контактных, а позже и функциональных схем на основе аппарата математической логики в СССР в 40-х годах была продолжена М.А. Гавриловым и далее С.В. Яблонским, В.М.Глушковым, Д.А.Поспеловым и др.
Работы по автоматизации проектирования вычислительных машин были направлены, во-первых, на проектирование функциональных и логических схем, во-вторых, на конструирование печатных плат и оформление конструкторской документации.
Логическое моделирование применяется с конца 50-х годов. Одной из первых программ логического моделирования была программа, о которой сообщили С.Крей и Р.Киш в 1956 г. в США. В 1965 г. американские разработчики САПР начинают использовать трехзначное логическое моделирование. В 1966 г. Дж. Рот разрабатывает свой знаменитый d-алгоритм синтеза тестов для контроля и диагностики неисправностей в схемах . В 70-е годы разрабатывается концепция автоматизации проектирования цифровых систем с выделением уровней системного, регистровых передач, логического и схемотехнического.
История САПР вычислительных машин в нашей стране тесно связана с такими организациями как ИТМиВТ, НИИ автоматической аппаратуры, НИИ молекулярной электроники, ЦКБ Алмаз, ведущими инженерными вузами. В СССР еще в середине 1957 г. В.М.Глушков определяет направления стратегических исследований в области информатики, отнеся к ним разработку методов автоматизации проектирования ЭВМ и развитие методов автоматизации программирования. В 1964 г. И.Я.Ландау предложил язык моделирования логических схем ФОРОС. В 1965 г. Г.Г.Рябов в ИТМиВТ начал разработку САПР, позднее получившую название ПУЛЬС, а Н.Я.Матюхин возглавил работы по автоматизации проектирования ЭВМ. В 1967 г. вопросами САПР ЭВМ начинает заниматься О.Н.Юрин, который в 70-е годы возглавляет разработку САПР ЕСАП (Единая Система Автоматизации Проектирования) в НИЦЭВТе. В Киеве принципиальные вопросы автоматизации проектирования вычислительных машин разрабатывает В.М.Глушков с коллегами.
Рис. 1.  Г.Г.Рябов
Значительное внимание уделяется автоматизации конструкторского проектирования печатных плат и интегральных схем. Алгоритмы построения минимальных покрывающих деревьев были предложены в 50-е годы Д.Краскалом и Р.Примом, несколько позднее опубликован волновой алгоритм трассировки С.Ли. При размещении предлагаются последовательные и итерационные алгоритмы, в частности, алгоритм парных перестановок, появившийся в 1960 г.
В СССР методы и программы конструкторского проектирования РЭА (радиоэлектронной аппаратуры) и БИС во второй половине 60-х годов разрабатывают Г.Г.Рябов, Л.Б.Абрайтис, В.А.Селютин и др.
В начале 70-х годов работы по созданию САПР получили признание: в 1972 г. Государственная премия СССР была присуждена коллективу разработчиков из ЦКБ Алмаз (Е.И.Бронин, Ю.Х.Вермишев, Л.П.Рябов и др.) за создание САПР для радиотехнической промышленности (позднее эта система стала называться ПРАМ), а годом позже — специалистам из НИИ молекулярной электроники во главе с Г.Г.Казенновым за разработку САПР для микроэлектронной промышленности. В эти САПР входили программы компоновки, размещения и трассировки печатных плат (ЦКБ Алмаз) или кристаллов БИС (НИИМЭ), моделирования электронных и логических схем, синтеза тестов и др.
Автоматизация проектирования на функционально-логическом и системном уровнях во-многом связана с созданием языков проектирования (design language).
На функционально-логическом уровне проектирования радиоэлектронной аппаратуры и СБИС наиболее известны языки VHDL, Verilog, SystemC. При конструкторском проектировании для описания топологии СБИС широкую известность получил формат EDIF (Electronic Design Interchange Format).
Язык VHDL (Very high-speed integrated circuits Hardware Design Language) — язык моделирования дискретных электронных устройств, утвержденный в качестве международного стандарта IEEE 1076 в 1987 г.. В дальнейшем стандарт корректировался и расширялся, новые версии приняты в 1993 и 1999 г.г., в частности, в версии IEEE 1076.1 (1999 г.) нашли отражение особенности описания аналоговых устройств. Язык предназначен для моделирования преимущественно на уровнях вентильном, регистровых передач и корпусов микросхем, он успешно используется и при синтезе устройств.
Не менее популярен язык Verilog, созданный во второй половине 80-х и ставший стандартом IEEE 1364 в 1995 г. Этот язык проще и экономичнее языка VHDL, но уступает ему в степени универсальности.
К числу предшественников VHDL можно отнести один из первых языков для описания схем на уровне регистровых передач APL (1962 г.), разработанный в США.
Для моделирования на системном уровне было разработано большое число языков. Из числа общецелевых языков моделирования одним из первых был язык GPSS, появившийся в 1964 г. и, что удивительно, продолжающий широко использоваться и в настоящее время. В 60-е годы разработаны еще несколько известных языков системного моделирования. К ним относятся Simscript, Симула-67 и ряд других.
Автоматизация проектирования в электронике
В США первыми программами анализа нелинейных электронных схем были NET-1 (1962 г.) и ECAP (1964 г.). У истоков автоматизации проектирования в электронике стояли Ф.Брэнин, Д.Калахан, Р.Рорер и др. В 80-е годы проблемами автоматизации проектирования СБИС на логическом и схемотехническом уровнях активно занимаются А.Ньютон, А.Санджованни-Винчентелли и др.
Первая публикация о программе анализа электронных схем в СССР появилась в 1965 г. Это была программа ПАЭС, разработанная годом раньше в МВТУ им. Н.Э.Баумана И.П.Норенковым для ЭВМ Урал-2. В этой программе были использованы более ранние работы по моделированию полупроводниковых приборов, выполненные Эберсом и Моллом в США, С.Е.Жорно в СССР. В 70-е годы были созданы программы аналогичного назначения в Зеленограде В.П.Панферовым (ПАЭС-1) и коллективом под руководством Г.Г.Казеннова и Б.В.Баталова (САМРИС), в МАИ — В.Н.Ильиным, в МИФИ — А.Я.Архангельским, в Киеве — В.П.Сигорским и А.И.Петренко и др.
Уже в конце 60-х годов стала ясной необходимость комплексного подхода к автоматизации проектирования, обеспечивающего сквозной цикл разработки как БИС и СБИС, так и печатных плат. Работы по созданию САПР БИС и СБИС в министерстве электронной промышленности СССР возглавляет НИИ молекулярной электроники. Работы ведутся под руководством сначала Г.Г.Казеннова, затем главного конструктора САПР МЭП Б.В.Баталова. Из более поздних разработок следует отметить серию программ многоаспектного моделирования ПА6-ПА9, разработанных в МГТУ им. Н.Э. Баумана, и программу AVOCAD, созданную под руководством В.Н. Перминова в компании UniqueICs.
Рис. 2.  Б.В.Баталов
Американские машины были более быстродействующими, но советские программы не уступали американским по времени решения задач за счет использования разреженности матриц в математических моделях схем.
Работы по моделированию электронных схем стимулировали развитие численных методов решения возникающих задач. С 1972 г. разработчики программ анализа перешли на использование неявных методов интегрирования систем дифференциальных уравнений. Появляются А-устойчивые методы (Гира, неявно-явные), обобщаются методы разреженных матриц, разрабатываются методы ускоренного моделирования быстроосциллирующих процессов.
С ростом степени интеграции микроэлектронных схем задачи проектирования становятся все более сложными. Разработка БИС и СБИС без автоматизации проектирования уже невозможна. Для преодоления сложностей топологического проектирования СБИС Мид и Конвей в 1980 г. разрабатывают систему автоматического проектирования топологии, названную кремниевым компилятором и основанную на применении совокупности правил преобразования высокоуровневого описания в реальную топологию.
Появляются компании целиком специализирующиеся на создании средств ECAD. Среди них выделяются три гранда — Mentor Graphics, Cadence, Synopsys.