Автоматизацията на проектирането в електрониката (популярни са английските съкращения EDA и ECAD = Electronic CAD) е използването на програмни средства (програмни инструменти, специализиран софтуер) за проектиране на електронни системи, като например печатни платки (ПП) и интегрални схеми (ИС). Средствата участват съвместно в протичането на процеса на проектиране и оформят т.нар. работен поток (), ясно определена комбинация от EDA-инструменти, които проектантите на ИС последователно или в цикъл използват за проектиране и анализ на конкретни полупроводникови чипове.
Тази статия описва EDA специално по отношение на ИС.
История Ранни етапи В началото интегралните схеми са проектирани на ръка и тяхната схема е също разчертавана ръчно върху милиметрова хартия с последващо ръчно изрязване на геометрични фигури върху фолио с цел оформяне на фотомаските, необходими за производството.
Малко по-късно проектантските отдели започват да се снабдяват с дигитайзер и със софтуер за обработка на геометрични фигури, който генерира ленти за автоматичен плотер (например на фирмата Calcomp) с монтиран движещ се резец вместо писец или за фотоплотер на фирмата Gerber, но дори и в тези случаи всъщност само се дигитализират координати на ръчно начертани компоненти. При тези системи тип „дигитайзер-плотер“ процесът е в основата си графичен, като превеждането от хартия към фотомаски все още се прави ръчно. Софтуерът създава все пак редица улеснения, като автоматично разчертаване на повтарящи се структури, проверка на допустимите размери и отстояния, и др.
Появата на интерактивни компютърни дисплеи със светлинна писалка или графични таблети облекчава създаването на схемната геометрия и значително увеличава производителността. Най-известната компания от този етап на развитие е Calma, създала формата GDSII за описание на проектираните фотомаски.
Към средата на 1970-те години разработчиците започват да автоматизират и самото проектиране, а не само разчертаването. Създадени са първите програмни средства за Place and route – автоматично разполагане на компоненти и трасировка на връзките между тях.
Следващият етап на развитие започва с публикуването на основополагащата книга „Въведение във VLSI-системите“ от Карвър Мийд и Лин Конуей„Introduction to VLSI Systems“ by Carver Mead and Lynn Conway, 1980 през 1980 година. Авторите предлагат при проектирането на чипове (т.е. на хардуер) да се използва натрупаният опит при проектирането на софтуер. Проектът на чипа да се описва на език за програмиране и описанието да се компилира до физическата структура на проектирания чип по същия начин, както описание на софтуер се компилира до машинни инструкции. Непосредственият резултат от последвалите разработки на т.нар. „силициеви компилатори“ довежда до значително нарастване на сложността на чиповете при подобрена верификация на проекта (верификация = проверка дали резултатът съответства на заданието), използващи логическа симулация. Фактическото разположение на схемните компоненти и свързващите проводници, представено чрез геометрични фигури в отделните технологични слоеве върху повърхността на силициевата пластина вече се създава по-лесно и при това вероятността чипът да заработи правилно още при първата опитна серия е по-голяма. Това се дължи на факта, че функционалността вече може да бъде симулирана и проверена по-задълбочено и по-акуратно още преди изготвянето на физическата структура.
Новият подход прави възможно проектирането да става на по-високо (по-абстрактно) ниво, където подробностите са значително по-малко. Транзисторите – тези доста непознати дотогава за системните проектанти градивни компоненти – остават някъде дълбоко в библиотеките и се включват автоматично в логическите и по-сложните функционални модули, съставящи проектираната система.
Макар че оттогава езиците за описание и програмните инструменти еволюират непрекъснато, този общ подход (на спецификация на желаното поведение с помощта на текстов език за програмиране и след това предоставяне на програмните инструменти да извлекат в подробности физическия проект) остава основата на проектирането на цифрови ИС. Първоначалният стремеж за пълна автоматизация – да се състави компактен универсален „силициев компилатор“,Ronald F. Ayres, VLSI: Silicon compilation and the art of automatic microchip design, 1983 който да получава на входа си езиково описание на поведението на чипа, а на изхода му автоматично да излиза носител, с който да се произведе правилно функциониращ чип – постепенно отшумява, защото се оказва, че това е възможно само за тесен клас ИС, т.е. за всеки клас чипове трябва да има отделен силициев компилатор.
Най-ранните EDA-инструменти са произведени в академичните среди. Калифорнийският университет в Бъркли е шампион в това отношение. Там е разработен придобилият широко разпространение и популярност симулатор на аналогови електронни схеми SPICE. Оттам са и транзисторните модели BSIM. Все още се използват евристичният минимизатор на логика Espresso, програмата за създаване на лейаут Magic, както и многобройни помощни програми, работещи под UNIX. Университетът в Бъркли и най-напред Станфордският университет са в основата на появата и развитието на Силициевата долина. В Европа също се работи по отношение на EDA, като най-високи са постиженията на Католическия университет в Льовен, Белгия, лондонския университет Брюнел и др.
Поява на EDA-бизнес 1981 г. бележи началото на EDA като индустрия. В продължение на много години, по-големите електронни компании като Hewlett-Packard, Tektronix и Intel развиваха EDA вътрешно, за собствени нужди. През 1981 г., мениджъри и разработчици се отделят от тези компании и се концентрират изключително върху EDA като бизнес. Фирмите Daisy Systems, Mentor Graphics и Valid Logic Systems са основани по това време и колективно биват споменавани като DMV по различни поводи. В рамките на няколко години много компании се специализират в EDA, всяка с малко по-различен акцент. В Европа могат да бъдат посочени фирмите Lisco (Leuven Industrial Software Company), GenRad (HILO Logic Simulation) и др. Първото изложение за EDA се провежда на конференцията Design Automation Conference в 1984 г.
През 1986 г. Verilog – днес популярен език за проектиране на високо ниво, е представен за първи път от Gateway Design Automation като език за описание на хардуер. През 1987 г. американското министерство на отбраната финансира създаването на VHDL като език за спецификация. След тези две нововъведения бързо последва появата на симулатори, позволяващи пряката симулация на функционирането на чип на основата на неговото задание и спецификация, т.е. спецификациите станаха изпълними. След още няколко години бяха разработени и back ends (back end = софтуер, който осъществява крайната фаза на даден процес), т.е. появиха се автоматични синтезатори на логически структури, имащи за входна информация поведенческото описание на интегралната схема.
Съвременно състояние Съвременните цифрови проектни потоци са изключително модулни (виж Integrated circuit design – проектиране на ИС, Design closure – съобразяване на проекта с целите и многобройните ограничения, Design flow (EDA) – комбинацията от EDA-средства, необходими за конкретната цел). Front ends (front end = софтуер, който осъществява интерфейс към друг софтуер, функциониращ „зад“ него и имащ не толкова „user-friendly“-вид) произвеждат стандартизирани описания на проекти, които след това се компилират до обръщения към „клетки“, без да се има предвид каквато и да е технология на производството на чипа. (User-friendly = качество на продукта, осигуряващо неговата по-лесна и по-удобна приложимост). От своя страна производителите предоставят т.нар. Process design kits – библиотеки с компоненти (споменатите „клетки“, но вече в конкретно изпълнение), които могат да се произведат по определена технология в техните производствени линии, придружени със съответните симулационни модели, предварително проверени, че могат да бъдат безпроблемно използвани от стандартните симулатори. Аналоговите EDA-инструменти обаче са далеч по-малко модулни от цифровите, защото се изискват много повече функции, те си взаимодействат по-силно, а и компонентите (общо взето) са по-малко идеални.
Значението на EDA в електрониката бързо нараства заедно с постоянното намаляване на размерите на транзисторите в полупроводниковите технологии. Чисто планарните изчисления вече стават неточни (и съответно моделите невалидни), защото планарните размери и отстояния вече са съизмерими с размерите в третото направление по посока навътре в полупроводниковите структури. Някои от потребителите на EDA са foundry-оператори (foundry = полупроводникова фабрика), които оперират със съоръженията и апаратурата за полупроводниково производство, а и проверяват (както беше споменато по-горе), дали дизайн-китовете им работят с разпространените EDA-инструменти. Други потребители на EDA-софтуер са фирми, оценяващи по поръчка, дали даден проект е годен за производство. Трети използват специализирани EDA-програмни средства за внасяне на зададена функционалност в програмируемите чипове от типа FPGA.
Има и фирми, които проектират относително малки специализирани чипове на базата на дизайн-кит за някоя по-стара технология на някоя полупроводникова фабрика. Такива групи от проектанти има днес и в България. Те работят за чужди фирми, които установяват потребностите от конкретен чип на пазара и осигуряват приложението му, а самото му производство става в избраната полупроводникова фабрика срещу заплащане.
Основни задачи, решавани със софтуера Проектиране Синтез на високо ниво – High-level synthesis (синоними: поведенчески синтез, алгоритмичен синтез) – За цифрови чипове. Логически синтез – Logic synthesis – Превод от абстрактен, логически език, като Verilog или VHDL към обособен нетлист на логически вентили (нетлист = представяне на електронна схема във формата на списък с имената на всички схемни компоненти, тяхното съответствие с библиотечни елементи, както и имената на техните входни и изходни сигнали). Въвеждане на схемата в EDA-системата – Schematic capture – За стандартни клетки цифрови, аналогови, високочестотни като Capture CIS в OrCAD при Cadence и ISIS в Proteus. Лейаут – Layout – Като Layout в OrCAD при Cadence, ARES в Proteus.
Моделиране и симулация Основна статия: Electronic circuit simulation Транзисторна симулация – Transistor simulation – схемна симулация на ниско (транзисторно) ниво, моделите на транзисторите са математически или физически, симулация на поведението на схемата/лейаута, точна на приборно ниво. Логическа симулация – Logic simulation – цифрова симулация на цифровото (булевото 0/1) поведение на RTL-нетлист или на нетлист от логически вентили (RTL = Register Transfer Level, ниво на междурегистров обмен на данни), точна на булево ниво. Поведенческа симулация – Behavioral simulation – симулация на високо ниво, симулация на архитектурното поведение на проекта, точна на ниво цикли или на ниво интерфейс. Хардуерна емулация – Hardware emulation – използване на хардуер за специални цели, за да се емулира логиката на предлагания проект. Понякога може да бъде включен в системата на мястото на още несъздадения чип, това се нарича in-circuit-емулация (емулация в схемата). Технологично CAD-проектиране – Technology CAD – на основата на модели на технологичните процеси се симулира тяхното протичане. Тук е възможно също съставяне на модели на приборите (транзисторите) като електрическите им свойства се извличат директно от физиката на приборите. Специализирани програми за изчисляване на електромагнитни полета – Electromagnetic field solvers или field solvers – решават уравнения на Максуел директно в случай на интерес при проектирането на ИС и ПП. Те са известни с това, че са по-бавни, но по-точни от извличането от лейаут (circuit extraction).
Анализ и верификация Функционална верификация – .