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

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

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

Тази статия описва EDA специално по отношение на ИС. За основа е взето написаното в английската уикипедия (редакция 4 март 2011), но са добавени пояснения и някои подробности.

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

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

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

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

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

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

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

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

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

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

Най-ранните EDA-инструменти са произведени в академичните среди. Калифорнийският университет в Бъркли е шампион в това отношение. Там е разработен придобилият широко разпространение и популярност симулатор на аналогови електронни схеми SPICE. Оттам са и транзисторните модели BSIM. Все още се използват евристичният минимизатор на логика Espresso, програмата за създаване на лейаут Magic, както и многобройни помощни програми, работещи под UNIX. Университетът в Бъркли и най-напред Станфордският университет са в основата на появата и развитието на Силициевата долина. В Европа също се работи по отношение на EDA, като най-високи са постиженията на Католическия университет в Leuven, Белгия, лондонския университет Брюнел и др.

Поява на EDA-бизнес[редактиране | edit source]

1981 г. бележи началото на EDA като индустрия. В продължение на много години, по-големите електронни компании като Hewlett-Packard, Tektronix и Intel развиваха EDA вътрешно, за собствени нужди. През 1981 г., мениджъри и разработчици се отделят от тези компании и се концентрират изключително върху EDA като бизнес. Фирмите Daisy Systems, Mentor Graphics и Valid Logic Systems са основани по това време и колективно биват споменавани като DMV по различни поводи. В рамките на няколко години много компании се специализират в EDA, всякa с малко по-различен акцент. В Европа могат да бъдат посочени фирмите 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 = софтуер, който осъществява крайната фаза на даден процес), т.е. появиха се автоматични синтезатори на логически структури, имащи за входна информация поведенческото описание на интегралната схема.

Съвременно състояние[редактиране | edit source]

Съвременните цифрови проектни потоци са изключително модулни (виж 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.

Има и фирми, които проектират относително малки специализирани чипове на базата на дизайн-кит за някоя по-стара технология на някоя полупроводникова фабрика. Такива групи от проектанти има днес и в България. Те работят за чужди фирми, които установяват потребностите от конкретен чип на пазара и осигуряват приложението му, а самото му производство става в избраната полупроводникова фабрика срещу заплащане.

Основни задачи, решавани със софтуера[редактиране | edit source]

Проектиране[редактиране | edit source]

Основна статия: Design flow (EDA)

  • Синтез на високо ниво – High-level synthesis (синоними: поведенчески синтез, алгоритмичен синтез) - За цифрови чипове.
  • Логически синтез – Logic synthesis - Превод от абстрактен, логически език, като Verilog или VHDL към обособен нетлист на логически вентили (нетлист = представяне на електронна схема във формата на списък с имената на всички схемни компоненти, тяхното съответствие с библиотечни елементи, както и имената на техните входни и изходни сигнали).
  • Въвеждане на схемата в EDA-системата – Schematic capture - За стандартни клетки цифрови, аналогови, високочестотни като Capture CIS в OrCAD при Cadence и ISIS в Proteus.
  • Лейаут - Layout – Като Layout в OrCAD при Cadence, ARES в Proteus.

Моделиране и симулация[редактиране | edit source]

Основна статия: 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).

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

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

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

  • Подготовка на данните за маските – Mask data preparation, MDP – генериране на действителните литографни фотомаски (lithography photomask), използвани за физическото производство на чипа.
  • Техники за подобряване на разрешаващата способност – Resolution enhancement techniques, RET - методи за повишаване на качеството на крайните фотомаски.
  • Оптическа корекция на ефекта на близостта – Optical proximity correction, OPC – предварителна компенсация на ефекти (вредни последици) от дифракция и интерференция, възникващи по-късно, когато чипът се произвежда с помощта на конкретната маска.
  • Генериране на маските – Mask generation – генериране на плоско изображение на маските от йерархичния проект.
  • Автоматично генериране на тестове – Automatic test pattern generation, ATPG - създава тестови комбинации за систематично изпробване на колкото е възможно повече логически вентили и други компоненти.
  • Вграден тест за самопроверка – Built-in self-test, BIST - инсталира самостоятелни тест-контролери за автоматично тестване на логическата структура (или паметта) в проекта.

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

За повече подробности по тази тема, вижте списъка List of EDA companies.

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

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

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

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

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

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

Автоматизация на проектирането в бившия Институт по микроелектроника, София[редактиране | edit source]

В просъществувалия в течение на 3 десетилетия софийски Институт по микроелектроника (ИМЕ, 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. За сравнение, аналогичният институт в Дрезден (равностоен партньор на ИМЕ през 80-те години) в 1993 г. вече разполагаше с около 50 такива работни станции, снабдени с програмните системи на Synopsys и Cadence.

Виж още[редактиране | edit source]

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

  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. Retrieved March 23, 2010 http://www10.edacafe.com/nbc/articles/view_article.php?articleid=301031
  4. EUROPRACTICE http://www.te.rl.ac.uk/europractice_com/
  5. Държавна сигурност. Част 2.2:"Неявните фирми" и ИНКО http://www.capital.bg/blogove/dosieta/durjavna_sigurnost/2010/09/03/955781_durjavna_sigurnost_chast_22neiavnite_firmi_i_inko/
Бележки