Кіріспе
Электрондық аппараттық жабдықтарды жобалау процесі. Интегралды схемаларды, жартылай өткізгіштерді, чиптерді немесе интегралды схемаларды жобалау – электрониканың бір саласы болып табылады, ол интегралды схемаларды (ИС) жобалау үшін қажетті логикалық және схемалық жобалау әдістерін қамтиды. ИС – фотолитография арқылы монолитті жартылай өткізгіш негізге орнатылған миниатюралық электрондық компоненттерден тұратын электрлік жүйе. ИС жобалауды цифрлық және аналогтық ИС жобалаудың негізгі санаттарына бөлуге болады. Цифрлық ИС жобалау микропроцессорлар, FPGA, жадтар (RAM, ROM және флэш-жад) және цифрлық ASIC сияқты компоненттерді жасауды қамтиды. Цифрлық жобалау логикалық дұрыстыққа, схема тығыздығын арттыруға және сағат және уақыт сигналдары тиімді маршрутталған схемаларды орналастыруға бағытталған. Аналогтық ИС жобалауда қуат ИС жобалау және радиожиілікті (RF) ИС жобалау сияқты маманданулар бар. Аналогтық ИС жобалау операциялық күшейткіштер, сызықтық реттегіштер, фазалық құлыпталған контурлар, осцилляторлар және белсенді сүзгілерді жобалау үшін қолданылады. Аналогтық жобалау жартылай өткізгіш құрылғыларының физикалық қасиеттеріне, мысалы, күшейтуге, сәйкес келуге, қуатты таратуға және кедергіге көбірек назар аударады. Аналогтық сигналдарды күшейту және сүзгілеудің дәлдігі әдетте маңызды, сондықтан аналогтық ИС цифрлық жобаларға қарағанда үлкен аудандағы белсенді құрылғыларды қолданады және олардың схемалары көбінесе аз тығыз болады. Қазіргі заманғы ИС өте күрделі. 2015 жылғы деректер бойынша, орташа десктоптық компьютерлік чипінде 1 миллиардтан астам транзистор бар. Қандай нәрсені жасауға болады және қандай нәрсені жасауға болмайды екенін анықтайтын ережелер де өте күрделі. 2015 жылғы стандартты ИС процестерінде 500-ден астам ереже бар. Сонымен қатар, өндіріс процесінің өзі толық болжамды емес болғандықтан, жобалаушылар оның статистикалық сипатын ескеруі керек. Қазіргі заманғы ИС жобалаудың күрделілігі, сондай-ақ жобаларды жылдам жасауға бағытталған нарықтың талабы, ИС жобалау процесінде автоматтандырылған жобалау құралдарын кеңінен пайдалануға әкелді. Кейбір процессорлардың жобасы толық сынауға қиын болғандықтан, бұл ірі бұлтты провайдерлерде мәселелер тудырды. Қысқасы, EDA бағдарламалық жасақтамасын пайдаланатын ИС жобалау – ИС орындауы тиіс нұсқауларды жобалау, сынау және тексеру болып табылады. Жасанды интеллект чиптерді жобалауда стандартты жасушалар мен макроблоктардың орналасқан жерін анықтайтын чип макеттерін жасау үшін қолданылған.
Integrated circuit design, semiconductor design, chip design or IC design, is a sub field of electronics engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs. ICs consist of miniaturized electronic components built into an electrical network on a monolithic semiconductor substrate by photolithography. IC design can be divided into the broad categories of digital and analog IC design. Digital IC design is to produce components such as microprocessors, FPGAs, memories (RAM, ROM, and flash) and digital ASICs. Digital design focuses on logical correctness, maximizing circuit density, and placing circuits so that clock and timing signals are routed efficiently. Analog IC design also has specializations in power IC design and RF IC design. Analog IC design is used in the design of op amps, linear regulators, phase locked loops, oscillators and active filters. Analog design is more concerned with the physics of the semiconductor devices such as gain, matching, power dissipation, and resistance. Fidelity of analog signal amplification and filtering is usually critical, and as a result analog ICs use larger area active devices than digital designs and are usually less dense in circuitry. Modern ICs are enormously complicated. An average desktop computer chip, as of 2015, has over 1 billion transistors. The rules for what can and cannot be manufactured are also extremely complex. Common IC processes of 2015 have more than 500 rules. Furthermore, since the manufacturing process itself is not completely predictable, designers must account for its statistical nature. The complexity of modern IC design, as well as market pressure to produce designs rapidly, has led to the extensive use of automated design tools in the IC design process. The design of some processors has become complicated enough to be difficult to fully test, and this has caused problems at large cloud providers. In short, the design of an IC using EDA software is the design, test, and verification of the instructions that the IC is to carry out. Artificial Intelligence has been demonstrated in chip design for creating chip layouts which are the locations of standard cells and macro blocks in a chip.
Негізгі қағидалар
Интегралды схеманы жобалау – транзисторлар, резисторлар, конденсаторлар сияқты электрондық компоненттерді жасау және осы компоненттерді жартылай өткізгіштің, әдетте кремнийдің бір бөлігіне қосуды қамтиды. Кремний субстраты өткізгіш болғандықтан және көбінесе жеке компоненттердің активті аймағын құрайтындықтан, субстратта жасалған жеке компоненттерді оқшаулау қажет. Екі кең таралған әдіс – p-n торабының оқшаулауы және диэлектрлік оқшаулау. IC-лер дискретті компоненттерге қарағанда өте кішкентай құрылғыларды қамтитындықтан, транзисторлардың қуатты таратуына, жалғастыру тізбектерінің кедергісіне және жалғастыру тізбектерінің, контактілердің және арналардың ток тығыздығына назар аудару қажет. Металл жалғастыру тізбектеріндегі электромиграция және кішкентай компоненттерге ESD зақымдануы да маңызды мәселелер. Соңында, белгілі бір схемалық блоктардың физикалық орналасуы, қажетті жұмыс жылдамдығына қол жеткізу, IC-нің шулы бөліктерін тыныш бөліктерінен бөлу, IC бойымен жылудың таралуын теңестіру немесе IC-ден тыс тізбелерге қосылымдарды орналастыруды жеңілдету үшін әдетте өте маңызды.
Қорытынды
Цифрлық интегралдық схемаларды жобалауды үш бөлікке бөлуге болады. Электрондық жүйе деңгейіндегі жобалау: Бұл қадамда пайдаланушының функционалдық талаптары жасалады. Пайдаланушы осы сипаттаманы жасау үшін әртүрлі тілдер мен құралдарды қолдана алады, мысалы C/C++ моделі, VHDL, SystemC, SystemVerilog транзакциялық деңгейдегі модельдері, Simulink және MATLAB. RTL жобалау: Бұл қадамда пайдаланушының талаптары (чип нені істеуі керек) регистрлік беру деңгейіне (RTL) сипаттамаға түрлендіріледі. RTL чиптегі цифрлық тізбектердің нақты әрекетін, сондай-ақ кіріс және шығыстардың байланысын сипаттайды. Физикалық тізбек жобалау: Бұл қадам RTL және қолданыстағы логикалық қақпалар кітапханасын (стандартты элементтер кітапханасы) пайдаланып чип жобасын құрайды. Бұл қадамға IC макет редакторын қолдану, макетті және орналастыру жоспарын жасау, қандай қақпаларды қолдану керектігін анықтау, олардың орналасқан жерін белгілеу және оларды қосу (сағатты синхрондау синтезі, маршрутизациялау) кіреді. Екінші қадам, RTL жобалау, чиптің дұрыс жұмыс істеуіне жауапты. Үшінші қадам, физикалық жобалау, дұрыс орындалса, функционалдыққа әсер етпейді, бірақ чиптің жұмыс жылдамдығы мен құнын анықтайды. Стандартты элемент әдетте бір логикалық қақпаны, диодты немесе флип-флоп сияқты қарапайым логикалық компоненттерді немесе көп кірісі бар логикалық қақпаларды білдіреді. Стандартты элементтерді қолдану чип жобасын логикалық және физикалық деңгейлерге бөлуге мүмкіндік береді. Фаблесс компания әдетте чиптің логикалық жобасымен ғана айналысады, яғни элементтердің қалай байланысқандығын және чиптің функционалдығын анықтайды, сонымен қатар чип жасалатын құю зауытының жобалау ережелерін сақтайды. Ал чиптің физикалық жобасын, яғни элементтердің өзін, әдетте құю зауыты жасайды, ол транзисторлық құрылғылардың физикасын және олардың логикалық қақпаны құру үшін қалай байланысқандығын қамтиды. Стандартты элементтер нарық сұранысына жылдам жауап беру үшін чиптерді тез жобалауға және өзгертуге мүмкіндік береді, бірақ бұл чиптегі транзисторлардың төмен тығыздығына және осылайша үлкен чип өлшемдеріне әкеледі. Құю зауыттары фаблесс компанияларға стандартты элементтер кітапханаларын жобалау мақсатында және құю зауытының жабдықтарын пайдалана отырып, олардың жобаларын өндіруге мүмкіндік беру үшін ұсынады. Құю зауыты процестік жобалау жинағын (PDK) ұсынуы мүмкін, ол стандартты элементтер кітапханасын, элементтердің сипаттамаларын және фаблесс компанияның жобасын құю зауытының жобалау ережелеріне сәйкес тексеруге және құю зауытының элементтерін пайдалана отырып, симуляциялау құралдарын қамтиды. PDK құпиялылық туралы келісімдер бойынша ұсынылуы мүмкін. Макро/макроклеткалар/макроблоктар, макроклеткалар тізімі және IP блоктары стандартты элементтерге қарағанда жоғары функционалдыққа ие және олар ұқсас қолданылады. Жұмсақ макростар мен қатты макростар бар. Стандартты элементтер әдетте стандартты элементтер қатары бойынша орналастырылады.
Жобалау өмірлік циклі
Интегралды схеманы (ИК) әзірлеу процесі өнім талаптарын анықтаудан басталып, архитектуралық жобалау, іске асыру, сынақтан өтіп, соңында өндіріске дейін жүзеге асады. Интегралды схеманы әзірлеу процесінің әртүрлі кезеңдері төменде сипатталған. Бұл кезеңдер тікелей көрсетілгенімен, іс жүзінде қайталаулар болады және бұл қадамдар бірнеше рет орындалуы мүмкін.
Талаптар
Архитектураны анықтау алдында жоғары деңгейдегі өнім мақсаттары белгіленуі керек. Қажеттіліктер әдетте нарық мүмкіндіктерін, клиенттердің қажеттіліктерін, техникалық мүмкіндігін және тағы да көп нәрсені қарастыратын көп салалы команда тарапынан жасалады. Бұл кезеңнің нәтижесінде өнім талаптарын сипаттайтын құжат құрылуы тиіс.
Сәулет
Архитектура өнімнің негізгі құрылымын, мақсаттары мен қағидаларын анықтайды. Ол жоғары деңгейдегі түсініктерді және өнімнің маңызды құндылық ұсынысын белгілейді. Архитектуралық командалар көптеген факторларды ескереді және көптеген топтармен байланыс жасайды. Архитектураны жобалайтындар, әдетте, архитектура жасалып жатқан саланың жүйелерімен жұмыс істеуде мол тәжірибеге ие болады. Архитектуралық кезеңнің нәтижесі – архитектуралық сипаттама.
Микроархитектура
Микроархитектура аппараттық деңгейге бір қадам жақындатады. Ол архитектураны іске асырып, осы іске асыруға қажетті нақты механизмдер мен құрылымдарды анықтайды. Микроархитектура кезеңінің нәтижесі – архитектураны іске асыру әдістерін сипаттайтын микроархитектура спецификациясы.
Іске асыру
Орындау кезеңінде микроархитектуралық талаптар негізге алынып, жоба жасалады. Бұл төмен деңгейдегі анықтама беру, бөлу, код жазу, схемаларды дайындау және тексеру сияқты жұмыстарды қамтиды. Бұл кезең жобаның өндіріске жіберілуімен (tapeout) аяқталады.
Жақындату
Дизайн жасалғаннан кейін, дайындалып, өндірілгеннен соң, нақты аппараттық құрал, "алғашқы кремний" алынады, ол зертханаға жеткізіледі, онда оны іске қосу процедурасы жүргізіледі. Іске қосу – бұл зертханада дизайнды қуаттандыру, сынау және сипаттау процесі. Құрылғының қуатқа іске қосылуын қамтамасыз ету сияқты өте қарапайым сынақтардан бастап, бөліктің әртүрлі жағдайлардағы жұмысын тексеруге бағытталған күрделі сынақтарға дейін көптеген сынақтар жүргізіледі. Іске қосу кезеңінің нәтижесі – сипаттамалық деректердің (бөлік спецификацияға сәйкес қаншалықты жақсы жұмыс істейтіні) және errata (күтпеген әрекеттер) туралы құжаттама болып табылады.
Өнімділік
Өнімді өндіріске енгізу – бұл жобаны инженерлік әзірлемеден жаппай өндіріске көшіру процесі. Зертханада сынақ кезеңінде дизайн өнімнің талаптарына сәйкес келсе де, өнім инженерлері осы дизайнды жаппай өндіруге тырысқанда көптеген қиындықтарға кезігеді. Интегралды схеманы (ИС) қанағаттанарлық өнімділікпен өндіріс көлеміне дейін жеткізу қажет. Өнімді өндіріске енгізу кезеңінің мақсаты – қанағаттанарлық құнмен жаппай өндіріс көлеміне қол жеткізу.
Ұстазы
Дизайн дайын болғаннан кейін және көптеп өндіріске жеткен соң, оны қолдау қажет. Өндіріс көлеміне маңызды әсер тигізбеу үшін үдеріс үздіксіз бақыланып, мәселелер дереу шешілуі тиіс. Қолдаудың мақсаты – өнім өмірінің соңына дейін өндіріс көлемін сақтап, шығындарды үнемі төмендету.
Микроархитектура және жүйелік деңгейдегі жобалау
Чиптің бастапқы жобалау процесі жүйелік деңгейдегі жобалаудан және микроархитектураны жоспарлаудан басталады. IC жобалау компанияларында басқару және көбінесе сарапшылар өнеркәсіптік сегментке сәйкес келетін жаңа чиптің дизайнын бастау үшін жобалау тобына ұсыныс жасайды. Жоғарғы деңгейдегі дизайнерлер осы кезеңде чиптің функционалды түрде қалай жұмыс істейтінін анықтайды. Осы қадамда интегралдық схеманың (IC) функционалдығы мен дизайны шешіледі. IC дизайнерлері жобаның барлық кезеңі үшін функционалдық талаптарды, тексеру сынақ орталарын және сынау әдістемелерін анықтайды, содан кейін алдын ала жобаны C++ және MATLAB сияқты тілдерді және эмуляция құралдарын пайдалана отырып, қарапайым модельдермен симуляцияланатын жүйелік деңгейдегі сипаттамаға айналдырады. Жаңа және түпкілікті жобалар үшін жүйелік жобалау кезеңінде нұсқаулар жиынтығы және операция жоспарланады, ал көптеген чиптерде жаңа функционалдық мүмкіндіктер үшін қолданыстағы нұсқаулар жиынтығы өңделеді. Бұл кезеңдегі жобалау көбінесе MP3 форматында кодтау немесе IEEE қозғалатын нүктелік арифметиканы іске асыру сияқты талаптарды қамтиды. Жобалау процесінің кейінгі кезеңдерінде осы сырттай қарапайым талаптар жүздеген беттік мәтіндік құжаттарға дейін ұзарады.
RTL-ді жобалау
Жүйелік жобалау туралы келісімге келгеннен кейін RTL дизайнерлері функционалдық модельдерді Verilog, SystemVerilog немесе VHDL сияқты аппараттық сипаттама тілінде іске асырады. Қосушылар, ауыстырғыштар және күй машиналары сияқты цифрлық дизайн компоненттерін, сондай-ақ құбыржолдар, суперскалярлық орындау және тармақты болжау сияқты компьютерлік архитектура тұжырымдамаларын пайдалана отырып, RTL дизайнерлері функционалдық сипаттаманы чиптегі бірлесе жұмыс істейтін компоненттердің аппараттық модельдеріне бөледі. Жүйелік жобада сипатталған әрбір қарапайым мәлімдеме оңай мыңдаған RTL кодына айналуы мүмкін, сондықтан RTL пайдаланушы ұсына алатын барлық мүмкін жағдайларда дұрыс жұмыс істейтінін тексеру өте қиын. Функционалдық қателердің санын азайту үшін жеке аппараттық тексеру тобы RTL-ді алып, оның функционалдық тексеру саласы ретінде жіктелген көптеген түрлі жағдайларда бірдей қадамдарды орындайтынын тексеру үшін сынақ орталары мен жүйелерді жобалайды. Көптеген техникалар қолданылады, олардың ешқайсысы да жетілдікке жетпегенімен, барлығы да пайдалы – кең логикалық симуляция, формальды әдістер, аппараттық эмуляция, кодты тексеру, кодты қамту және т.б. Эмуляторлармен жүзеге асырылатын тексеруді FPGA немесе арнайы процессорларда жүргізуге болады, ал эмуляция симуляцияны алмастырады. Бастапқыда логикалық шлюздерді чиптерде симуляциялау арқылы симуляция жасалды, бірақ кейіннен чиптердегі RTL-дер симуляцияланды. Симуляция аналогты чиптерді жобалау кезінде де қолданылады. Прототиптеу платформалары FPGA-ны пайдалану арқылы чип дизайнының прототиптерінде бағдарламалық жасақтаманы іске қосу үшін қолданылады, бірақ оларды қайта итерациялау немесе өзгерту баяу, және дайын дизайнға сәйкес аппараттық сигналдарды визуализациялау мүмкін емес. Бұл жердегі шағын қате бүкіл чипті пайдасыз немесе одан да нашар етуі мүмкін. Pentium FDIV қатесі бөлу нәтижесіндегі қателікті ең көп дегенде 61 миллионнан бір бөлікке дейін тудырды, бұл өте сирек кездесетін жағдайларда ғана орын алды. Чип өндірісте болған бірнеше айдан кейін ғана оны байқады. Дегенмен Intel компаниясы қателікті түзеткенге дейін сатылған әрбір чипті тегін ауыстыруға міндеттенді, бұл 475 миллион АҚШ долларына бағаланды.
Физикалық жобалау
RTL – чиптің күтілетін жұмысына қатысты мінез-құлықтық модель ғана. Ол чиптің нақты өмірде материалдар, физика және электротехникалық тұрғыдан қалай жұмыс істейтініне қатысты физикалық байланысқа ие емес. Осы себепті, интегралды схеманы (IC) жобалау процесінің келесі қадамы – физикалық жобалау кезеңі, RTL-ді конденсаторлар, резисторлар, логикалық қақпалар және чипке орналастырылатын транзисторлар сияқты барлық электрондық құрылғылардың нақты геометриялық бейнелеріне түрлендіру болып табылады. Физикалық жобалаудың негізгі қадамдары төменде көрсетілген. Іс жүзінде тікелей прогресс болмайды, барлық мақсаттарға бір мезгілде қол жеткізу үшін маңызды қайталаулар қажет. Бұл өзіндік қиын мәселе, оны жобалауды аяқтау деп атайды. Логикалық синтез: RTL чиптің мақсатты технологиясындағы қақпалық деңгейдегі тізімге түрлендіріледі. Қабатты жоспарлау: Чиптің RTL-і чиптің жалпы аймақтарына, кіріс/шығыс (I/O) тіректеріне және ірі объектілерге (массивтер, ядролар және т.б.) орналастырылады. Орналастыру: Тізімдегі қақпалар өлшегіш аумақтағы бір-біріне қабаттаспайтын орындарға орналастырылады. Логикалық/орналастыруды жетілдіру: Өнімділік және қуат шектеулерін сақтау үшін итеративті логикалық және орналастыру түрлендірулері. Сағатты орнату: Сағат сигналының сымдары (әдетте, сағат ағаштары) жобаға енгізіледі. Маршрутизация: Тізімдегі қақпаларды байланыстыратын сымдар қосылады. Сымдардан кейінгі оптимизация: Өнімділік (уақытпен жабу), шу (сигналдың тұтастығы) және өнімділік (өндіріс үшін жобалау) бұзушылықтары жойылады. Өндіріс үшін жобалау: Жобаны, мүмкіндігінше, оны өндіруді оңай және тиімді ету үшін өзгерту керек. Бұл қосымша виалар немесе мүмкіндігінше металл/диффузиялық/полисиликалдық қабаттарды қосу арқылы, құю зауытының жобалау ережелерін сақтай отырып жүзеге асырылады. Соңғы тексеру: Қателер қымбатқа түсетіні, көп уақыт алатыны және анықтау қиын болғандықтан, кең ауқымды қателерді тексеру қағида болып табылады, логикаға сәйкес келу дұрыс жасалғанын және өндіріс ережелерінің қатаң сақталғанын тексеру. Чипті дайындау және маска жасау: Жоба деректері маска деректерін дайындау кезінде фотомаскаларға түрлендіріледі.
Аналогты жобалау
Микропроцессор мен бағдарламалық қамтамасыз етуге негіделген жобалау құралдарының пайда болуына дейін аналогтық интегралдық схемалар қолмен есептеулер мен технологиялық жиынтықтың элементтерін пайдалана отырып жобаланды. Бұл схемалар төмен күрделіліктегі тізбектер, мысалы, операциялық күшейткіштер болды, әдетте оннан аспайтын транзисторлар мен аздаған қосылымдарды қамтыды. Өндіріске жарамды схема алу үшін қайта-қайта сынау және қателерді іздеу процесі, сондай-ақ құрылғының өлшемдерін артық жасау жиі қажет болды. Дәлелденген жобаларды қайта пайдалану арқасында бұрынғы білімге сүйене отырып, күрделі схемаларды құру мүмкін болды. 1970 жылдары қолжетімді компьютерлік өңдеудің арқасында схемалық жобаларды қолмен есептеуге қарағанда жоғары дәлдікпен симуляциялайтын компьютерлік бағдарламалар жазылды. Аналогтық интегралдық схемаларға арналған алғашқы схемалық симуляторы SPICE (Интегралдық схемаларға баса назар аударатын симуляциялық бағдарлама) деп аталды. Аналогтық жобалауда көптеген функционалдық талаптарды ескеру қажет болғандықтан, қолмен жобалау әлі де кең таралған, ал цифрлық жобалау, керісінше, жоғары деңгейде автоматтандырылған, соның ішінде автоматты маршрутизация және синтезді қамтиды. Осының нәтижесінде, аналогтық тізбектерді жобалаудың қазіргі әдістері екі түрлі стильмен сипатталады: жоғарыдан төменге және төменнен жоғарыға. Жоғарыдан төменге қарай жобалау стилі дәстүрлі цифрлық әдістерге ұқсас оптимизацияға негізделген құралдарды қолданады. Төменнен жоғарыға қарайғы әдістер бұрын ойластырылған және процедуралық сипаттамада сақталған шешімдерді пайдалана отырып, «сарапшылық білімді» қайта қолданады, сарапшының шешімдерін имитациялайды. Абсолютті мәніне қарағанда, өте жақын мәнге ие резисторлардың қатынасын пайдалану. Геометриялық пішіндері ұқсас құрылғыларды қолдану, осылайша олардың вариациялары да ұқсас болады. Статистикалық вариациялар құрылғының жалпы қасиеттерінің маңызды бөлігін құрамайтындай етіп құрылғыларды үлкен ету. Үлкен құрылғыларды, мысалы резисторларды бөліктерге бөліп, вариацияларды өзара жою үшін араластыру. Жақын мәнге ие құрылғылардағы (мысалы, операциялық күшейткіштің дифференциалды транзисторлық жұбы) вариацияларды жою үшін ортақ центроидтық құрылғы орналасуын пайдалану.
Сатушылар
Электрондық есімдеуді автоматтандыру құралдарын сататын үш ең ірі компания – Synopsys, Cadence және Mentor Graphics.