Автоматизация на проектирането в електрониката

от Уикипедия, свободната енциклопедия

Автоматизацията на проектирането в електрониката (популярни са английските съкращения EDA на английски: Electronic Design Automation и ECAD = Electronic CAD) е използването на програмни средства (програмни инструменти, специализиран софтуер) за проектиране на електронни системи, като например печатни платки (ПП) и интегрални схеми (ИС). Средствата участват съвместно в протичането на процеса на проектиране и оформят т.нар. работен поток (на английски: design flow), ясно определена комбинация от EDA-инструменти, които проектантите на ИС последователно или в цикъл използват за проектиране и анализ на конкретни полупроводникови чипове.

Тази статия описва EDA специално по отношение на ИС.

История[редактиране | редактиране на кода]

Ранни етапи[редактиране | редактиране на кода]

В началото интегралните схеми са проектирани на ръка и тяхната схема е също разчертавана ръчно върху милиметрова хартия с последващо ръчно изрязване на геометрични фигури върху фолио с цел оформяне на фотомаските, необходими за производството.

Малко по-късно проектантските отдели започват да се снабдяват с дигитайзер и със софтуер за обработка на геометрични фигури, който генерира ленти за автоматичен плотер (например на фирмата Calcomp) с монтиран движещ се резец вместо писец или за фотоплотер на фирмата Gerber, но дори и в тези случаи всъщност само се дигитализират координати на ръчно начертани компоненти. При тези системи тип „дигитайзер-плотер“ процесът е в основата си графичен, като превеждането от хартия към фотомаски все още се прави ръчно. Софтуерът създава все пак редица улеснения, като автоматично разчертаване на повтарящи се структури, проверка на допустимите размери и отстояния, и др.

Появата на интерактивни компютърни дисплеи със светлинна писалка или графични таблети облекчава създаването на схемната геометрия и значително увеличава производителността. Най-известната компания от този етап на развитие е Calma, създала формата GDSII за описание на проектираните фотомаски.

Към средата на 1970-те години разработчиците започват да автоматизират и самото проектиране, а не само разчертаването. Създадени са първите програмни средства за Place and route – автоматично разполагане на компоненти и трасировка на връзките между тях.

Следващият етап на развитие започва с публикуването на основополагащата книга „Въведение във VLSI-системите“ от Карвър Мийд и Лин Конуей[1] през 1980 година. Авторите предлагат при проектирането на чипове (т.е. на хардуер) да се използва натрупаният опит при проектирането на софтуер. Проектът на чипа да се описва на език за програмиране и описанието да се компилира до физическата структура на проектирания чип по същия начин, както описание на софтуер се компилира до машинни инструкции. Непосредственият резултат от последвалите разработки на т.нар. „силициеви компилатори“ довежда до значително нарастване на сложността на чиповете при подобрена верификация на проекта (верификация = проверка дали резултатът съответства на заданието), използващи логическа симулация. Фактическото разположение на схемните компоненти и свързващите проводници, представено чрез геометрични фигури в отделните технологични слоеве върху повърхността на силициевата пластина вече се създава по-лесно и при това вероятността чипът да заработи правилно още при първата опитна серия е по-голяма. Това се дължи на факта, че функционалността вече може да бъде симулирана и проверена по-задълбочено и по-акуратно още преди изготвянето на физическата структура.

Новият подход прави възможно проектирането да става на по-високо (по-абстрактно) ниво, където подробностите са значително по-малко. Транзисторите – тези доста непознати дотогава за системните проектанти градивни компоненти – остават някъде дълбоко в библиотеките и се включват автоматично в логическите и по-сложните функционални модули, съставящи проектираната система.

Макар че оттогава езиците за описание и програмните инструменти еволюират непрекъснато, този общ подход (на спецификация на желаното поведение с помощта на текстов език за програмиране и след това предоставяне на програмните инструменти да извлекат в подробности физическия проект) остава основата на проектирането на цифрови ИС. Първоначалният стремеж за пълна автоматизация – да се състави компактен универсален „силициев компилатор“,[2] който да получава на входа си езиково описание на поведението на чипа, а на изхода му автоматично да излиза носител, с който да се произведе правилно функциониращ чип – постепенно отшумява, защото се оказва, че това е възможно само за тесен клас ИС, т.е. за всеки клас чипове трябва да има отделен силициев компилатор.

Най-ранните 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).

Анализ и верификация[редактиране | редактиране на кода]

  • Функционална верификация – на английски: Functional verification.
  • Верификация на пресичащи се области с различни тактови честоти – на английски: Clock Domain Crossing Verification, проверка CDC – Подобна е на linting – маркиране на подозрителни програмни конструкции, но тук тези проверки/инструменти са специализирани в откриване и докладване на потенциални проблеми като загуба на данни, meta-stability – мета-стабилност поради използването на няколко области (домейна) с различни тактови честоти в проекта.
  • Формална верификация – Formal verification, също Проверка на моделите – Model checking – Опитва се да докаже, с математически методи, че системата има определени желани качества, както и че определени нежелани ефекти (като deadlock – ситуация без изход), не могат да се случат.
  • Проверка за еквивалентност – Equivalence checking – алгоритмично сравнение между RTL-описанието на чипа и синтезирания нетлист от логически вентили, за да се гарантира функционална еквивалентност на логическо ниво.
  • Статичен времеви анализ – Static timing analysis – Анализ на времевите съотношения в една схема по входно-независим начин и оттук да се намери най-лошият случай върху всички възможни входни сигнали.
  • Физическа верификация – Physical verification, PV: проверка, дали проектът осигурява възможността, чипът да бъде физически произведен, както и че полученият в резултат чип няма да има физически недостатъци, които да възпрепятстват функциите му, и че ще се спазят първоначалните спецификации.

Подготовка за производство[редактиране | редактиране на кода]

  • Подготовка на данните за маските – Mask data preparation, MDP – генериране на действителните литографски фотомаски (photomask), използвани за физическото производство на чипа.
  • Техники за подобряване на разрешаващата способност – RET – методи за повишаване на качеството на крайните фотомаски.
  • Оптическа корекция на ефекта на близостта – OPC – предварителна компенсация на ефекти (вредни последици) от дифракция и интерференция, възникващи по-късно, когато чипът се произвежда с помощта на конкретната маска.
  • Генериране на маските – генериране на плоско изображение на маските от йерархичния проект.
  • Автоматично генериране на тестове – ATPG – създава тестови комбинации за систематично изпробване на колкото е възможно повече логически вентили и други компоненти.
  • Вграден тест за самопроверка – BIST – инсталира самостоятелни тест-контролери за автоматично тестване на логическата структура (или паметта) в проекта.

Фирми[редактиране | редактиране на кода]

Най-влиятелни компании[редактиране | редактиране на кода]

Според годишния си доход за 2010 г. петте компании на върха са:

Придобивания[редактиране | редактиране на кода]

Много от EDA-компаниите придобиват (чрез изкупуване) малки или по-големи фирми със софтуерна или друга технология, която може да бъде адаптирана към основния им бизнес[3]. Повечето от лидерите на пазара представляват кръвосмесителна амалгама от по-малки компании. Тази тенденция се подпомага и от желанието на софтуерните компании да проектират програмни инструменти в качеството на аксесоари, които да се вписват естествено в програмните комплекси на големите компании. Например много нови програмни средства за цифровата схемотехника вече включват в състава си и възможности както за аналогово проектиране, така и за проектиране на смесени (аналогово-цифрови) системи. Това става така, защото понастоящем вече се налага тенденция за поместване на цели електронни системи върху един-единствен чип.

Обучение на кадри[редактиране | редактиране на кода]

Подготовката на качествени кадри за микроелектрониката е свързана с използването на скъпо струващи EDA-системи за проектиране, както и с необходимостта да бъдат произведени проектираните експериментални чипове, за да бъдат тествани. Затова много съществен момент в развитието на бранша е образуването на MOSIS в САЩ – консорциум от университети, производители на EDA-системи и производители на чипове, и на неговия еквивалент EUROPRACTICE[4] в Европа, развиващи евтини начини за обучаване на проектанти на ИС. Основната идея е да се използват надеждни, евтини и сравнително ниско-технологични процеси, както и събирането на голям брой проекти върху една силициева пластина, само с по няколко копия на чип за всеки проект. Разходите по производството на пластината се делят между авторите на включените проекти. Включените в консорциумите производители или даряват обработените пластини, или ги продават по цени, съобразени с признанието, че програмата на обучение допринася и за тяхното собствено развитие и растеж в дългосрочна перспектива.

В България[редактиране | редактиране на кода]

В просъществувалия в течение на тридесет години софийски Институт по микроелектроника (ИМЕ, 1967 – 1997 г.) автоматизацията на проектирането (АП) е на високо ниво. Държавата чрез съответните министерства, комитети и външнотърговски дружества[5] закупува най-актуалните за времето си установки, компютри и програмни системи, като се започне от прецизна швейцарска система „дигитайзер-плотер“ и компютър PDP-15 (XVM-200), снабден със софтуер на фирмата Racal-Redac (придобита впоследствие от Zuken Inc.) за АП, последвани от система CALMA GDS II, и се завърши с компютри VAX-11/780 и MicroVAX на DEC, снабдени с мощния софтуер на фирмите Silvar-Lisco и Phoenix Data Systems, съответно за проектиране и верификация на сложни ИС. Специалистите по АП към ИМЕ поддържат тези системи и подпомагат работата на проектантите на чипове с тях. Паралелно разработват програмни интерфейсни модули за връзка между отделните системи, както и собствени програми за АП.

В 1993 г. френски партньор дарява на ИМЕ работна станция на Sun Microsystems с инсталиран на нея симулатор на Vantage Analysis Systems, Inc., разработен на основата на програмен език VHDL. За сравнение, аналогичният институт в Дрезден в 1993 г. вече разполага с около 50 такива работни станции, снабдени с програмните системи на Synopsys и Cadence.

Източници[редактиране | редактиране на кода]

  1. „Introduction to VLSI Systems“ by Carver Mead and Lynn Conway, 1980
  2. Ronald F. Ayres, VLSI: Silicon compilation and the art of automatic microchip design, 1983
  3. Kirti Sikri Desai (2006). EDA Innovation through Merger and Acquisitions. EDA Cafe. Посетен на 23 март 2010.
  4. EUROPRACTICE
  5. Държавна сигурност. Част 2.2:„Неявните фирми“ и ИНКО

Външни препратки[редактиране | редактиране на кода]

  Тази страница частично или изцяло представлява превод на страницата Electronic design automation в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​