Кіріспе
Электрондық жүйелерді жобалауға арналған бағдарламалық қамтамасыз ету.
Электрондық жобалауды автоматтандыру (EDA), сондай-ақ электрондық компьютерлік көмекпен жобалау (ECAD) деп те аталады, интегралдық схемалар және баспа тізбектері сияқты электрондық жүйелерді жобалауға арналған бағдарламалық құралдардың бір тобы. Бұл құралдар чип жасаушылардың жартылай өткізгіш чиптердің толық дизайнын жасау және талдау үшін пайдаланатын жобалау процесінде бірігіп жұмыс істейді. Қазіргі заманғы жартылай өткізгіш чиптер миллиардтаған компоненттерден тұруы мүмкін болғандықтан, EDA құралдары олардың жобалануы үшін маңызды рөл атқарады; осы мақалада EDA интегралдық схемалар (IC) контекстінде ерекше сипатталады.
Алғашқы жылдары
Электрондық жобалауды автоматтандырудың алғашқы үлгісі 1950 жылдары IBM компаниясының 700 сериялы компьютерлерін құжаттауымен байланыстырылады. EDA әзірленгенге дейін интегралды схемалар қолмен жобаланып, қолмен орналастырылды. Кейбір жетілген мекемелер Гербер фотоплатері үшін таспалар жасау үшін геометриялық бағдарламалық жасақтаманы пайдаланды, ол монохроматикалық экспозиция кескінін жасауға жауапты болды, бірақ тіпті олар механикалық түрде салынған компоненттердің цифрлық жазбаларын көшірді. Бұл процесс негізінен графикалық сипатқа ие болды, электрондықтан графикалыққа аударма қолмен жасалды; осы дәуірдегі ең танымал компания Calma болды, оның GDSII форматы бүгінгі күнге дейін қолданылады. 1970 жылдардың ортасына қарай, әзірлеушілер сызудан өзге схемаларды жобалауды автоматтандыруды бастады және алғашқы орналастыру және маршрутизация құралдары жасалды; осы оқиғалар кезінде Дизайнды автоматтандыру конференциясының материалдары сол кездегі дамулардың басым бөлігін қамтыды және чиптерді жобалау бойынша стандартты оқулық саналды. Нәтижесінде логикалық симуляцияны қолданатын жобалауды тексеру құралдарына қолжетімділік артып, жобаланатын чиптердің күрделілігі ұлғайды. Чиптерді орналастыру оңайырақ болды және олардың дұрыс жұмыс істеу ықтималдығы жоғары болды, себебі олардың дизайны құрылысқа дейін толыққанды симуляцияланды. Тілдер мен құралдар эволюциялағанмен, қажетті мінез-құлықты мәтіндік бағдарламалау тілінде көрсету және құралдарға егжей-тегжейлі физикалық дизайнды жасауға мүмкіндік берудің жалпы тәсілі бүгінгі күні цифрлық ИС дизайнының негізін құрайды. EDA-ның алғашқы құралдары академиялық ортада жасалды. Ең танымалдарының бірі "Беркли VLSI Tools Tarball" болды, ол бастапқы VLSI жүйелерін жобалауға арналған UNIX утилиталарының жиынтығы. Көп қолданылатын Espresso эвристикалық логикалық минимизаторы схеманың күрделілігін азайтуға жауапты болды, ал Magic – компьютерлік дизайн платформасы. Тағы бір маңызды оқиға – университеттер мен өндірушілердің консорциумы MOSIS-тің құрылуы, ол студенттерге чиптерді жобалауды үйретудің арзан жолын, нақты интегралды схемаларды жасау арқылы ұсынды. Негізгі идея – сенімді, төмен құнды, салыстырмалы түрде төмен технологиялық ИС процестерін пайдалану және әр пластинаға көптеген жобаларды орналастыру, әр жобадан бірнеше чиптің көшірмесін сақтап қалу болды. Ынтымақтастықта жұмыс істейтін өндірушілер бағдарламаны өздерінің ұзақ мерзімді өсуіне пайдалы деп есептегендіктен, өңделген пластиналарды сыйға берді немесе өндіріс құнымен сатты.
Коммерциялық туу
1981 жыл EDA индустриясының басталуын белгіледі. Көп жылдар бойы Hewlett Packard, Tektronix және Intel сияқты ірі электрондық компаниялар EDA-ны ішкі түрде дамытты, ал менеджерлер мен әзірлеушілер EDA-ны бизнес ретінде дамытуға шоғырлану үшін осы компаниялардан бөліне бастады. Daisy Systems, Mentor Graphics және Valid Logic Systems осы кезеңде құрылды және олар бірлесіп DMV деп аталды. 1981 жылы АҚШ Қорғаныс министрлігі VHDL-ді аппараттық сипаттама тілі ретінде қаржыландыруды қосымша бастады. Бірнеше жылдың ішінде EDA саласында маманданған көптеген компаниялар пайда болды, олардың әрқайсысының басымдықтары сәл өзгеше болды. EDA бойынша алғашқы сауда көрмесі 1984 жылы Design Automation конференциясында өтті, ал 1986 жылы тағы бір танымал жоғары деңгейдегі дизайн тілі Verilog Gateway Design Automation компаниясымен аппараттық сипаттама тілі ретінде таныстырылды. Бұл жаңалықтардан кейін дереу симуляторлар пайда болды, олар чиптердің дизайнын және орындалатын сипаттамаларын тікелей модельдеуге мүмкіндік берді. Бірнеше жыл ішінде логикалық синтезді жүзеге асыру үшін артқы бөлімдер (back ends) әзірленді.
Қазіргі заман
Қазіргі цифрлық ағындар өте модульді, ал фронт-эндтер жеке технологиясына қарамастан, жасушаларға ұқсас бірліктерді шақыруға жинақталатын стандартталған дизайн сипаттамаларын шығарады. Жасушалар белгілі бір интегралды схема технологиясын пайдалану арқылы логикалық немесе басқа да электрондық функцияларды іске асырады. Өндірушілер әдетте өз өндірістік процестері үшін, стандартты модельдеу құралдарына сәйкес келетін модельдеу модельдерімен бірге компоненттердің кітапханаларын ұсынады. Көптеген аналогтық схемалар әлі де қолмен жобаланады, бұл аналогтық жобалауға тән, арнайы білімді талап етеді (мысалы, сәйкестік принциптері). Сондықтан, аналогтық EDA құралдары әлдеқайда аз модульді, себебі олар көптеген функцияларды қажет етеді, олар күштірек өзара әрекеттеседі және компоненттер, әдетте, идеалды емес. Жартылай өткізгіш технологиясының үздіксіз өсуімен электрондық жүйелер үшін EDA маңыздылығы тез артты. Пайдаланушылардың кейбірі – жартылай өткізгіш өндіріс мекемелерін ("fabs") басқаратын құю операторлары, ал басқалары – технологиялық жобалау қызметтерін пайдаланатын компаниялар, олар EDA бағдарламалық жасақтамасын кіріс дизайнын өндіріске дайындығын бағалау үшін қолданады. EDA құралдары сондай-ақ жобалау функционалдығын FPGA немесе далалық бағдарламаланатын қақпалық тізбектерге, бейімделетін интегралды схемалық жобаларға енгізу үшін қолданылады.
Эмоция
Транзисторлы модельдеу – схемалық/жоспарлаудың мінез-құлқының төменгі деңгейлі транзисторлы симуляциясы, құрылғы деңгейінде дәл. Логикалық модельдеу – RTL немесе есептік тізбектің (netlist) цифрлық (Булдік 0/1) мінез-құлқының цифрлық симуляциясы, Буль деңгейінде дәл. Мінездік модельдеу – жобаның архитектуралық жұмысының жоғары деңгейлі симуляциясы, цикл деңгейінде немесе интерфейс деңгейінде дәл. Аппараттық эмуляция – ұсынылған жобаның логикасын эмуляциялау үшін арнайы жабдықты пайдалану. Кейде әлі жасалмаған чиптің орнына жүйеге қосылуы мүмкін; бұл схема ішінде эмуляция деп аталады. Технологиялық CAD негізгі технологиялық процесті симуляциялайды және талдайды. Құрылғылардың электрлік қасиеттері тікелей құрылғы физикасынан шығарылады.
Талдау және тексеру
Функционалдық тексеру: логикалық жобаның техникалық талаптарға сәйкес келуін және тапсырмаларды дұрыс орындауын қамтамасыз етеді. Симуляция, эмуляция және прототиптер арқылы динамикалық функционалдық тексеруді қамтиды. Синтаксис, семантика және стиль сияқты кодтау ережелерін сақтау үшін RTL Linting. Сағат домендерінің өзара әрекеттесуін тексеру (CDC тексеру): linting-ке ұқсас, бірақ бұл тексерулер/құралдар деректерді жоғалту, дизайндағы бірнеше сағат домендерін пайдаланудан туындаған мета тұрақтылық сияқты мәселелерді анықтауға және олар туралы хабарлауға маманданған. Формалды тексеру, сондай-ақ модельді тексеру: математикалық әдістермен жүйенің белгілі бір қажетті қасиеттеріне ие екенін және кейбір жағымсыз эффектілердің (мысалы, тұйықталу) пайда болмайтынын дәлелдеуге тырысу. Эквиваленттілікті тексеру: чиптің RTL сипаттамасы мен синтезделген логикалық схеманы алгоритмдік түрде салыстыру арқылы логикалық деңгейде функционалдық эквиваленттілікті қамтамасыз ету. Статикалық уақытты талдау: схеманың уақытын кіріске тәуелсіз түрде талдау, осылайша барлық мүмкін кірістер арасындағы ең нашар жағдайды анықтау. Макеттен деректерді алу: ұсынылған макеттен бастап, әрбір сым мен құрылғының (шамамен) электрлік сипаттамаларын есептеу. Көбінесе толыққанды чиптің өнімділігін бағалау үшін жоғарыда аталған статикалық уақытты талдаумен бірге қолданылады. Электромагниттік өріс шешушілер немесе жай ғана өріс шешушілер IC және PCB жобалаудағы маңызды жағдайлар үшін Максвелл теңдеулерін тікелей шешеді. Олар макеттен деректерді алудан баяу, бірақ дәлдігімен белгілі. Физикалық тексеру (ФТ): жобаның физикалық өндіріс талаптарына сай келетіндігін, нәтижесінде шығатын чиптерде функцияны бұзатын физикалық ақаулар болмайтындығын және бастапқы техникалық талаптарға сәйкес келетіндігін тексеру.
Функционалдық қауіпсіздік
Функционалдық қауіпсіздікті талдау – қауіпсіздіктің қажетті деңгейлеріне сәйкестік талаптарын орындау үшін жобалар үшін уақытында ақаудың (FIT) көрсеткіштерін жүйелі есептеу және диагностикалық қамту өлшемдерін анықтау. Функционалдық қауіпсіздік синтезі – ақауды анықтау/ақауға төзімділікті арттыру мақсатында құрылымдық элементтерге (модульдер, RAM, ROM, регистрлік файлдар, FIFO) сенімділікті күшейту. Бұл қателерді анықтау және/немесе түзету кодтарын (мысалы, Хэмминг коды), ақауды анықтау және ақауға төзімділік үшін артық логиканы (дубликаттау/трипликаттау) және протоколдық тексерулерді (интерфейс жұптығы, мекенжай туралануы, импульс санағы) қамтиды, бірақ олармен шектелмейді. Функционалдық қауіпсіздікті тексеру – жобаға қасақана қателер енгізіп, қауіпсіздік механизмінің осы қателерге тиісті реакция жасайтынын тексеру үшін қателіктерді симуляциялау кампаниясын жүргізу.
Functional safety verification, running of a fault campaign, including insertion of faults into the design and verification that the safety mechanism reacts in an appropriate manner for the faults that are deemed covered.
Сатып алулар
Көптеген ЭDA компаниялары өз негізгі бизнесіне бейімдеуге болатын бағдарламалық қамтамасыз етуі немесе басқа технологиясы бар шағын компанияларды сатып алады. Нарық көшбасшыларының көпшілігі көптеген кіші компаниялардың бірігуінен құралған, және бұл тенденцияны бағдарламалық қамтамасыз ету компанияларының цифрлық тізбектердегі үлкен жеткізушілердің бағдарламалар жиынтығымен табиғи түрде үйлесетін құралдарды аксессуарлар ретінде жобалауға бейімділігі күшейтеді; көптеген жаңа құралдар аналогтық жобалау және аралас жүйелерді қамтиды. Бұл бір микросхемаға толық электрондық жүйелерді орналастыруға бағытталған тенденцияның нәтижесі болып табылады.