Кіріспе

Цифрлық сигналдарды пайдаланатын электрондық тізбектер

Цифрлық электроника – электрондық техниканың бір саласы, ол цифрлық сигналдарды зерттеу және оларды пайдаланатын немесе жасайтын құрылғыларды жобалаумен айналысады. Бұл аналогтық сигналдармен негізгі жұмыс жасайтын аналогтық электроникадан өзгеше. Атауына қарамастан, цифрлық электрониканы жобалауда маңызды аналогтық жобалау мәселелері де қарастырылады. Цифрлық электрондық тізбектер көбінесе логикалық қақпалардың үлкен жиынтығынан жасалады, олар көбінесе интегралдық схемаларға біріктіріледі. Күрделі құрылғыларда Буль логикалық функцияларының қарапайым электрондық өрнектері болуы мүмкін.

Тарих

Бинарлық сан жүйесін Готфрид Вильгельм Лейбниц жетілдірді (1705 жылы жарияланды) және ол бинарлық жүйені пайдалану арқылы арифметика мен логика принциптерін біріктіруге болатынын дәлелдеді. Біз білетін цифрлық логика 19 ғасырдың ортасында Джордж Бульдің еңбегінің нәтижесі болды. 1886 жылғы хатында Чарльз Сандерс Пирс логикалық операцияларды электрлік айналдыру схемалары арқылы жүзеге асыру мүмкіндігін сипаттады. Соңында, логикалық операциялар үшін релелер вакуумдық түтіктермен ауыстырылды. Ли Де Форесттің 1907 жылы Флеминг клапанына енгізген өзгерісін ЖӘНЕ (AND) қақпасы ретінде қолдануға болады. Людвиг Витгенштейн 1921 жылғы «Tractatus Logico-Philosophicus» еңбегінде 5.101-қадамда 16 қатарлы шындық кестесінің нұсқасын ұсынды. Вальтер Боте, кездейсоқ тізбектің авторы, 1924 жылы алғашқы заманауи электрондық ЖӘНЕ (AND) қақпасын жасағаны үшін 1954 жылы физика саласындағы Нобель сыйлығын бөлісті. Механикалық аналогтық компьютерлер бірінші ғасырда пайда бола бастады және кейіннен орта ғасырларда астрономиялық есептеулер үшін қолданылды. Екінші дүниежүзілік соғыста механикалық аналогтық компьютерлер торпеданың нысанасын анықтау сияқты арнайы әскери мақсаттарда қолданылды. Осы кезеңде алғашқы электрондық цифрлық компьютерлер жасалды, «цифрлық» терминін 1942 жылы Джордж Стибиц ұсынды. Бастапқыда олар үлкен бөлмелердің көлемінде болды және бірнеше жүздермен салыстырғанда қазіргі заманғы компьютерлерге қарағанда әлдеқайда көп қуатты тұтынды. Z3 – Конрад Цузе жасаған электромеханикалық компьютер. 1941 жылы аяқталған ол әлемдегі алғашқы бағдарламаланатын, толық автоматты цифрлық компьютер болды. Оның жұмысын 1904 жылы Джон Амброуз Флемингтің вакуумдық түтіктің ойлап табуы жеңілдетті. Цифрлық есептеулер аналогтық есептеулерді ығыстырғанда, механикалық және электромеханикалық элементтер олардың механикалық және электромеханикалық баламаларын алмастырды. Джон Бардин мен Уолтер Браттейн 1947 жылы Bell Labs-те нүктелік контактілі транзисторды ойлап тапты, ал Уильям Шокли 1948 жылы Bell Labs-те биполярлық тоқ өткізгіш транзисторды ойлап тапты. Манчестер университетінде Том Килберннің басшылығымен команда вакуумдық түтіктердің орнына жаңадан жасалған транзисторларды пайдалана отырып машинаны жобалады. Олардың «транзисторлы компьютері», әлемдегі алғашқысы, 1953 жылы жұмыс істеді, ал екінші нұсқасы 1955 жылдың сәуірінде аяқталды. 1955 жылдан бастап компьютерлік конструкцияларда вакуумдық түтіктерді транзисторлар алмастырды, бұл «екінші буын» компьютерлердің пайда болуына әкелді. Вакуумдық түтіктермен салыстырғанда транзисторлар кішірек, сенімдірек, шексіз қызмет мерзіміне ие және вакуумдық түтіктерге қарағанда аз қуатты қажет етеді, осылайша аз жылу бөліп шығарады және салыстырмалы түрде тығыз кеңістікте он мыңға дейін тізбектерді орналастыруға мүмкіндік береді. 1958 жылдың шілдесінде Техас Инструменттерінде жұмыс істеп жүрген Джек Килби интегралды схемаға қатысты алғашқы идеяларын жазды, содан кейін 1958 жылдың 12 қыркүйегінде алғашқы жұмыс істейтін интегралды схеманы сәтті көрсетті. Килбидің чипі германийден жасалған. Келесі жылы Fairchild Semiconductor компаниясының Роберт Нойс кремний интегралды схемасын ойлап тапты. Нойстің кремнийлік ИС-інің негізі 1959 жылдың басында Жан Хоерни әзірлеген жазық процесі болды, ол өз кезегінде 1957 жылы әзірленген Мохамед Аталланың кремний бетін пассивтеу әдісіне негізделген. Бұл жаңа техника, интегралды схема, электрондық тізбектердің жиынтығын жартылай өткізгіш материалдан жасалған бір кішкентай тақтада («чип») орналастыру арқылы күрделі тізбектерді жылдам және арзан өндіруге мүмкіндік берді, әдетте кремний. Металл-оксидті жартылай өткізгіш өрістік эффектті транзистор (MOSFET), сонымен қатар MOS транзисторы деп те аталады, Мұхамед Аталла мен Давон Канг 1959 жылы Bell Labs-те ойлап тапты. MOSFET-тің артықшылықтары жоғары масштабталуы, қолжетімділігі, аз қуат тұтынуы және транзистордың жоғары тығыздығы. Оның жылдам қосу-өшіру жылдамдығы импульстік тізбектерді жасауға қолайлы, электрондық цифрлық сигналдардың негізі, ал BJT-лер синустық толқындарға ұқсас аналогтық сигналдарды баяу өндіреді. MOSFET электроника өнеркәсібінде революция жасады және ол ең көп таралған жартылай өткізгіш құрылғы болып табылады. Интегралды схемалардың алғашқы күндері әрбір чип тек бірнеше транзистормен шектелген, ал интеграцияның төмен деңгейі жобалау процесінің салыстырмалы түрде қарапайым болуын білдірді. Өндірістік өнімнің деңгейі де қазіргі заманғы стандарттар бойынша өте төмен болды. 1970-ші жылдардың басында MOSFET транзисторының кеңінен қабылдануы 10 000-нан астам транзисторлары бар бір чиптегі алғашқы ірі масштабты интеграция (LSI) чиптеріне әкелді. 1980-ші жылдарға қарай CMOS, MOSFET логикасының түрі, кеңінен қабылдануынан кейін, технология дамыған сайын бір чипке миллиондаған, содан кейін миллиардтаған MOSFET-терді орналастыруға мүмкіндік берді, ал жақсы жобалар мұқият жоспарлауды қажет етті, жаңа жобалау әдістеріне әкелді. Құрылғылардың транзистор саны мен жалпы өндіріс беспрецеденттік биіктерге көтерілді. 2018 жылға дейін өндірілген транзисторлардың жалпы саны 1,3E22 (13 секстиллион) деп бағаланған. Сымсыз революция (сымсыз желілерді енгізу және таралуы) 1990-шы жылдарда басталды және MOSFET негізіндегі радио жиілікті қуат күшейткіштерінің (қуатты MOSFET және LDMOS) және радио жиілікті тізбектердің (RF CMOS) кеңінен қабылдануымен мүмкіндік алды. Сымсыз желілер кабельдерді қажет етпестен қоғамдық цифрлық таратуға мүмкіндік берді, нәтижесінде 1990-2000 жылдары цифрлық теледидар, спутниктік және цифрлық радио, GPS, сымсыз интернет және ұялы телефондар пайда болды.

Қасиеттері

Цифрлық схемалардың аналогтық схемаларға қарағанда бір артықшылығы – цифрлық түрде ұсынылған сигналдар шудың әсерінен бұрмаланбай берілуі мүмкін. Мысалы, 1 және 0 тізбегі түрінде берілетін үздіксіз аудиосигналды қатесіз қалпына келтіруге болады, егер берілу кезінде пайда болған шу 1 және 0-ді анықтауға жеткіліксіз болса. Цифрлық жүйеде сигналдың нақтырақ бейнеленуін оны көрсету үшін көбірек екілік сандарды пайдалану арқылы алуға болады. Бұл сигналдарды өңдеу үшін көбірек цифрлық схемаларды қажет етеді, бірақ әрбір сан бірдей аппараттық құралмен өңделеді, нәтижесінде оңай кеңейтілетін жүйе пайда болады. Аналогтық жүйеде қосымша ажыратымдылық сигнал тізбегінің әрбір сатысының сызықтығы мен шу сипаттамаларын жақсартуды талап етеді. Компьютермен басқарылатын цифрлық жүйелерде жаңа функцияларды бағдарламалық жасақтаманы жаңарту арқылы қосуға болады және аппараттық өзгерістер қажет емес. Көбінесе мұны өнімнің бағдарламалық жасақтамасын жаңарту арқылы зауыттан тыс жерде жасауға болады. Осылайша, өнімнің дизайнындағы қателер оны тұтынушыға тапсырғаннан кейін де түзетілуі мүмкін. Ақпаратты сақтау аналогтық жүйелерге қарағанда цифрлық жүйелерде оңайырақ болуы мүмкін. Цифрлық жүйелердің шуға төзімділігі деректерді бұрмаланбай сақтауға және қайта алуға мүмкіндік береді. Аналогтық жүйеде ескіру мен тозудан туындаған шу сақталған ақпаратты нашарлатады. Цифрлық жүйеде егер жалпы шу белгілі бір деңгейден төмен болса, ақпаратты толыққанды қалпына келтіруге болады. Тіпті шу көп болған жағдайда да, артық деректерді пайдалану бастапқы деректерді қалпына келтіруге мүмкіндік береді, егер қателер көп болмаса. Кейбір жағдайларда цифрлық схемалар бірдей міндеттерді орындау үшін аналогтық схемалардан көбірек энергия жұмсайды, соның салдарынан көбірек жылу бөлінеді, бұл схемалардың күрделілігін арттырады, мысалы, жылуды таратуға арналған радиаторларды қосу қажеттігі туындайды. Портативті немесе батареямен жұмыс істейтін жүйелерде бұл цифрлық жүйелерді пайдалануды шектеуі мүмкін. Мысалы, батареямен жұмыс істейтін ұялы телефондар көбінесе базалық станциядан келетін радиосигналдарды күшейту және баптау үшін аз қуатты аналогтық алдыңғы бөлігін пайдаланады. Алайда, базалық станцияда желілік қуат бар және қуатты, бірақ өте икемді бағдарламалық радиоларды пайдалануға болады. Мұндай базалық станцияларды жаңа ұялы байланыс стандарттарында қолданылатын сигналдарды өңдеу үшін оңай қайта бағдарламалауға болады. Көптеген пайдалы цифрлық жүйелер үздіксіз аналогтық сигналдарды дискретті цифрлық сигналдарға түрлендіруі керек. Бұл кванттау қатесіне әкеледі. Егер жүйе сигналды қажетті дәрежедегі нақтылықпен көрсету үшін жеткілікті сандық деректерді сақтаса, кванттау қатесін азайтуға болады. Найквист-Шеннон дискретизация теоремасы берілген аналогтық сигналды дәл бейнелеу үшін қанша сандық дерек қажет екендігі туралы маңызды нұсқау береді. Егер сандық деректердің бір бөлігі жоғалса немесе дұрыс түсіндірілмесе, кейбір жүйелерде тек шағын қате пайда болуы мүмкін, ал басқа жүйелерде байланысты деректердің үлкен бөліктерінің мағынасы толығымен өзгеруі мүмкін. Мысалы, тікелей сызықтық импульстік код модуляциясы түрінде сақталған аудио деректердегі бір бит қатесі ең нашар жағдайда бір ғана естілетін дыбыстық сигналды тудырады. Бірақ аудионы сығуды пайдаланғанда сақтау орнын және беру уақытын үнемдеу үшін бір бит қатесі әлдеқайда үлкен бұрмалауға әкелуі мүмкін. Құлау эффектісінің салдарынан пайдаланушыларға белгілі бір жүйенің істен шығу шегіне жетіп-жетпегенін немесе істен шығу алдында қанша шуды көтере алатынын анықтау қиын болуы мүмкін. Цифрлық жүйенің осалдығын арттыру арқылы азайтуға болады. Мысалы, сигнал жолына паритеттік бит немесе басқа қателерді басқару әдісін қосуға болады. Бұл схемалар жүйенің қателерді анықтауына көмектеседі, содан кейін қателерді түзетуге немесе деректерді қайта жіберуді сұрауға мүмкіндік береді.

Құрылыс

Цифрлық схема әдетте логикалық қақпалар деп аталатын шағын электрондық схемалардан құралады, оларды комбинациялық логика құру үшін пайдалануға болады. Әрбір логикалық қақпа логикалық сигналдарға әсер ететін кезде Буль логикасының функцияларын орындау үшін жасалған. Логикалық қақпа әдетте бір немесе бірнеше электрмен басқарылатын коммутаторлардан, көбінесе транзисторлардан жасалады, бірақ термоиондық клапандар да тарихи тұрғысынан қолданылған. Логикалық қақпаның шығысы басқа логикалық қақпаларды басқаруға немесе оларға сигнал беруге мүмкіндік береді. Цифрлық схеманың тағы бір түрі іздеу кестелерінен құралады (көптегендері "бағдарламаланатын логикалық құрылғылар" ретінде сатылады, бірақ PLD-нің басқа түрлері де бар). Іздеу кестелері логикалық қақпаларға негізделген машиналар сияқты функцияларды орындай алады, бірақ сымдауды өзгертусіз оңай қайта бағдарламаланады. Бұл дизайнерге сымдардың орналасуын өзгерту қажеттілігінсіз дизайн қателарын түзетуге мүмкіндік береді. Сондықтан, аз көлемдегі өнімдер үшін бағдарламаланатын логикалық құрылғылар көбінесе қалаулы шешім болып табылады. Олар әдетте инженерлер электрондық жобалауды автоматтандыру бағдарламалық жасақтамасын қолдана отырып жобалайды. Интегралды схемалар бір кремнийлі микросхемадағы көптеген транзисторлардан тұрады және өзара байланысты логикалық қақпаларды көптеп жасаудың ең арзан жолы болып табылады. Интегралды схемалар әдетте электрлік компоненттерді ұстайтын және оларды мыс іздермен байланыстыратын баспа схемалық тақтада (печатная плата) өзара байланысты болады.

Дизайн

Инженерлер схеманың күрделілігін азайту мақсатында логикалық артықшылықты азайту үшін көптеген әдістерді қолданады. Күрделіліктің азаюы компоненттер санын және қателер мүмкіндігін төмендетіп, нәтижесінде шығындарды да азайтады. Логикалық артықшылықты екілік шешім диаграммалары, Буль алгебрасы, Карно карталары, Куин-МакКлауски алгоритмі және эвристикалық компьютерлік әдіс сияқты жақсы белгілі бірнеше техникалар арқылы жоюға болады. Бұл операциялар көбінесе компьютерлік жобалау жүйесінде жүзеге асырылады. Микроконтроллерлер мен бағдарламаланатын логикалық контроллерлерді қамтитын кіріктірілген жүйелер, ең жоғары өнімділік талап етілмейтін күрделі жүйелер үшін цифрлық логиканы іске асыру үшін жиі қолданылады. Мұндай жүйелерді әдетте бағдарламалық жасақтама инженерлері немесе электриктер сатылы логика қолданып бағдарлайды.

Өкілдік

Цифрлық схеманың кіріс-шығыс байланысы шындық кестесі арқылы көрсетілуі мүмкін. Эквивалентті жоғары деңгейдегі схема логикалық қақпаларды қолданады, олардың әрқайсысы әртүрлі пішінмен бейнеленеді (IEEE/ANSI 91–1984 стандартымен белгіленген). Төменгі деңгейдегі көрсету электрондық коммутаторлардың (әдетте транзисторлардың) эквивалентті схемасын пайдаланады. Көптеген цифрлық жүйелер комбинациялық және тізбекті жүйелерге бөлінеді. Комбинациялық жүйенің шығысы тек қазіргі кіріске ғана байланысты. Дегенмен, тізбекті жүйенің шығысының бір бөлігі кіріс ретінде кері байланысқа түсіріледі, сондықтан оның шығысы операциялар тізбегін жасау үшін қазіргі кірістермен қатар бұрынғы кірістерге де байланысты болуы мүмкін. Олардың әрекеттерін қарапайымдастырылған түрде бейнелейтін күй машиналары жобалау және сынау процесін жеңілдетеді. Тізбекті жүйелер тағы екі кіші категорияға бөлінеді. "Синхронды" тізбекті жүйелер сағат сигналы күйін өзгерткенде бір мезгілде күйін өзгертеді. "Асинхронды" тізбекті жүйелер кіріс өзгерген сайын өзгерістерді таратады. Синхронды жүйелер кіретін кернеуді сағат өзгерген кезде ғана бит ретінде сақтайтын триггерлерді (flip-flops) пайдаланып жасалады.

Синхронды жүйелер

Синхронды реттілік күй машинасының іске асырылуының қалыпты жолы – оны комбинациялық логика бөлігіне және күй тіркегіші деп аталатын флип-флоптар жиынтығына бөлу болып табылады. Күй тіркегіші күйді екілік сан түрінде көрсетеді. Комбинациялық логика келесі күйдің екілік өрнегін шығарады. Әрбір сағат циклінде күй тіркегіші комбинациялық логиканың алдыңғы күйінен туындаған кері байланысты қабылдайды және оны күй машинасының комбинациялық бөлігіне өзгеріссіз енгізу ретінде қайтарады. Сағаттың жиілігі комбинациялық логикадағы ең көп уақыт алатын логикалық есептеумен шектеледі.

Асинхронды жүйелер

Цифрлық логиканың көп бөлігі синхронды болып келеді, себебі синхронды схеманы жасау және тексеру оңайырақ. Дегенмен, асинхронды логиканың артықшылығы – оның жылдамдығы кездейсоқ тактымен шектелмейді; керісінше, ол логикалық қақпаларының максималды жылдамдығымен жұмыс істейді. Бірақ көптеген жүйелер сыртқы синхронды емес сигналдарды өздерінің синхронды логикалық тізбектеріне қабылдауы керек. Бұл интерфейс өзіндік асинхронды болып табылады және оны осы ретте талдау қажет. Көп қолданылатын асинхронды тізбектердің мысалдары: синхронизатор флип-флоптары, коммутаторлардың шуын басу құрылғылары және арбитрлер. Асинхронды логикалық компоненттерді жобалау қиын болуы мүмкін, өйткені барлық мүмкін күйлер мен уақыттарды ескеру қажет. Көбінесе, әрбір күйдің болуы мүмкін ең аз және ең көп уақытын көрсететін кесте жасалады, содан кейін тізбек осындай күйлердің санын азайту үшін реттеледі. Дизайнер тізбектің барлық бөліктері үйлесімді күйге енуі үшін мерзімді түрде күтуге мәжбүрлеуі керек (бұл "өзін-өзі синхрондау" деп аталады). Егер сақтықпен жобаланбаса, тұрақсыз асинхронды логика жасау оңай – яғни, нақты электроника электрондық компоненттердің шамаларындағы шағын өзгерістерден туындайтын жинақталған кешігулердің салдарынан болжамсыз нәтижелер береді.

Тіркелімдерді беру жүйелері

Көптеген цифрлық жүйелер дерек ағыны машиналары болып табылады. Олар әдетте синхронды тіркелімдік беру логикасын пайдаланып, VHDL немесе Verilog сияқты аппараттық сипаттама тілдерімен жазылады. Тіркелімдік беру логикасында екілік сандар тіркелімдер деп аталатын флип-флоптар тобында сақталады. Кезектесетін күй машинасы әрбір тіркелімнің кірісінен жаңа деректерді қабылдау уақытын бақылайды. Әрбір тіркелімнің шығыстары – бұл санны басқа есептеулерге жеткізетін автобус деп аталатын сымдар жиынтығы. Есептеу – комбинациялық логиканың бір бөлігі ғана. Әрбір есептеудің де шығыс шинасы бар, және олар бірнеше тіркелімдердің кірістерімен байланыстырылуы мүмкін. Кейде тіркелімнің кірісінде мультиплексор болады, осылайша ол бірнеше автобустан кез келгенінен санды сақтай алады. Асинхронды тіркелімдік беру жүйелерінде (мысалы, компьютерлерде) жалпы шешім бар. 1980 жылдары кейбір зерттеушілер синхронды тіркелімдік беру машиналарының көбісін бірінші кірген, бірінші шыққан синхрондастыру логикасын қолдану арқылы асинхронды жобаларға түрлендіруге болатынын анықтады. Бұл схемада цифрлық машина дерек ағындары жиынтығы ретінде сипатталады. Ағынның әрбір қадамында синхрондау тізбегі сол қадамның шығыстарының қашан жарамды екенін анықтайды және келесі қадамға осы шығыстарды қашан пайдалану керектігін хабарлайды.

Компьютерлік жобалау

Ең көп мақсатта қолданылатын тіркесімдік логикалық машина – компьютер. Бұл, негізінен, автоматты екілік санау машинасы (абакус). Компьютердің басқару блогы әдетте микросекуенсермен орындалатын микробағдарлама ретінде жасалады. Микробағдарлама – бұл граммофон доңғалағына (player piano roll) ұқсас. Микробағдарламаның әрбір кестелік жазбасы компьютерді басқаратын әрбір биттің күйін анықтайды. Содан кейін секвенсер санап, санау микробағдарлама сақталатын жадқа немесе комбинациялық логикалық машинаға сілтеме жасайды. Микробағдарламадан келетін биттер арифметикалық-логикалық құрылғыны, жадты және компьютердің басқа бөліктерін, соның ішінде микросекуенсердің өзін басқарады. Осылайша, компьютердің басқаруын жобалаудың күрделі міндеті, әлдеқайда қарапайым логикалық машиналар жиынтығын бағдарламалаудың қарапайым міндетіне дейін төмендетіледі. Көбінесе барлық компьютерлер синхронды болып келеді. Дегенмен, асинхронды компьютерлер де жасалған. Мысалы, ASPIDA DLX ядросы. Тағы бір мысал – ARM Holdings ұсынған компьютер.

Компьютерлік архитектура

Компьютерлік архитектура – белгілі бір мақсат үшін компьютердің тіркегіштерін, есептеу логикасын, шиналарын және басқа да бөліктерін ең тиімді етіп орналастыруға бағытталған мамандық инженерлік сала. Компьютерлік архитекторлар компьютерлердің құнын төмендету және жылдамдығын арттырумен қатар, бағдарламалық қателерге төзімділігін де арттыру үшін көп еңбек етті. Компьютерлік архитекторлардың маңызды міндеттерінің бірі – смартфондар сияқты аккумулятормен жұмыс істейтін компьютерлік жүйелерде энергия тұтынуды азайту болып табылады.

Цифрлық схемалардың жобалау мәселелері

Цифрлық схемалар аналогты компоненттерден жасалады. Жобалау кезінде компоненттердің аналогтық табиғаты қажетті цифрлық мінез-құлыққа басымдық етпеуін қамтамасыз ету керек. Цифрлық жүйелер шуды, уақыт резервтерін, паразиттік индуктивтілік пен сыйымдылықты басқаруы тиіс. Жаман жобаланған схемаларда үздіріссіз проблемалар туындайды, мысалы, кейбір логикалық тізбектерді ғана іске қосатын, ал басқаларын емес, немесе жарамды шектік кернеуге жетпейтін қысқа импульстар пайда болады. Сонымен қатар, синхронды цифрлық жүйелер аналогты жүйелермен немесе басқа синхронизацияланған жүйелермен байланысқанда, кіріс сигналының өзгеруі цифрлық кіріс тізбегінің орнату уақытын бұзуы салдарынан, метастабильділікке ұшырауы мүмкін. Цифрлық схемалар аналогты компоненттерден жасалғандықтан, цифрлық схемалар ұқсас аумақ пен қуатты пайдаланатын төмен дәлдікті аналогты схемаларға қарағанда баяурақ есептейді. Дегенмен, цифрлық схема жоғары шуға төзімділігінің арқасында есептеулерді тұрақтырақ орындайды.

Автоматтандырылған жобалау құралдары

Үлкен логикалық машиналарды жобалаудың көп бөлігі электронды жобалауды автоматтандыру (EDA) арқылы автоматтандырылды. Логиканың қарапайым шындық кестесі түріндегі сипаттамалары көбінесе EDA арқылы оңтайландырылады, ол автоматты түрде логикалық қақпалардың қысқартылған жүйелерін немесе қажетті нәтижелерді беретін кішірек іздеу кестелерін жасайды. Бұл бағдарламаның ең көп таралған мысалы – Эспрессо эвристикалық логикалық минимизаторы. Үлкен логикалық жүйелерді оңтайландыру Quine–McCluskey алгоритмі немесе бинарлық шешім диаграммаларын қолдану арқылы жүзеге асырылуы мүмкін. Генетикалық алгоритмдер мен рекристалдану оңтайландырулары бойынша үміттендіретін тәжірибелер жүргізілуде. Қымбат инженерлік процестерді автоматтандыру үшін кейбір EDA күйдік машиналарды сипаттайтын күй кестелерін қабылдап, күйдік машинаның комбинациялық логикасы үшін шындық кестесін немесе функция кестесін автоматты түрде жасай алады. Күй кестесі – бұл әрбір күйді, олардың арасындағы өтулерді басқаратын шарттарды және оларға байланысты шығыс сигналдарын тізімдейтін мәтін. Көбінесе нақты логикалық жүйелер бір-бірімен құрал ағыны арқылы біріктірілетін кіші жобалар сериясі ретінде жобаланады. Құрал ағыны әдетте скрипт тілімен басқарылады – бұл бағдарламалық жасақтама құралдарын дұрыс ретпен шақыра алатын қарапайым компьютер тілі. Микропроцессорлар сияқты үлкен логикалық жүйелер үшін құрал ағыны мыңдаған командадан тұруы мүмкін және жүздеген инженерлердің жұмысын біріктіреді. Құрал ағынын жазу және түзету – цифрлық дизайнды өндіретін компаниялардағы беделді инженерлік мамандық. Құрал ағыны әдетте логиканы физикалық түрде қалай құрастыруды сипаттайтын егжей-тегжейлі компьютерлік файлмен немесе файлдар жиынтығымен аяқталады. Көбінесе ол транзисторлар мен сымдарды интегралдық схемаға немесе баспалы схема тақтасына қалай орналастыруға қатысты нұсқаулардан тұрады. Құрал ағындарының бөліктері симуляцияланған логиканың нәтижелерін күтілетін кірістермен салыстыру арқылы тексеріледі. Тестілеу құралдары кіріс және шығыс жиынтықтары бар компьютерлік файлдарды қабылдайды және симуляцияланған мінез-құлық пен күтілетін мінез-құлық арасындағы айырмашылықтарды көрсетеді. Кіріс деректері дұрыс деп есептелгеннен кейін, дизайннің дұрыстығын тексеру қажет. Кейбір құрал ағындары дизайнды жасап, содан кейін құрал ағыны үшін үйлесімді кіріс деректерін алу үшін дизайнды сканерлеу арқылы тексеруге мүмкіндік береді. Егер сканерленген деректер кіріс деректерімен сәйкес келсе, құрал ағыны қателерді енгізбеген болуы мүмкін. Функционалдық тексеру деректері әдетте тест векторлары деп аталады. Функционалдық тест векторларын сақтап, жаңадан құрастырылған логиканың дұрыс жұмыс істейтінін тексеру үшін зауытта пайдалануға болады. Дегенмен, функционалдық тест үлгілері барлық өндіріс ақауларын анықтамайды. Өндірістік тесттер көбінесе автоматты тест үлгісін жасау бағдарламалық құралдарымен жасалады. Бұл логиканың құрылымын қарастырып, нақты мүмкін болатын ақауларды анықтауға бағытталған тесттерді жүйелі түрде жасайды. Осылайша, егер дизайн дұрыс тексерілсе, ақаулықты жабу 100%-ға жуық болуы мүмкін (келесі бөлімді қараңыз). Дизайн болғаннан кейін, тексерілгеннен және тестілеуге болатыннан кейін, оны өндіріс үшін дайындау қажет. Қазіргі заманғы интегралдық схемалардың ерекшеліктері фоторезистті әшкерелеу үшін қолданылатын жарықтың толқын ұзындығынан кішірек. Өндірістік қабілеттілікті арттыруға арналған бағдарламалық қамтамасыз ету, ашық тізбектерді жою және маскалардың контрастын арттыру үшін экспозициялық маскаларға кедергі үлгілерін қосады.

Сынауға жарамдылық үшін жобалау

Логикалық схеманы сынаудың бірнеше себебі бар. Схема алғаш рет жасалып жатқанда, оның қажетті функционалдық және уақыт талаптарына сай екенін тексеру қажет. Дұрыс жобаланған схеманың көптеген даналары өндірілген кезде, өндіріс процесінде ешқандай ақаулықтардың пайда болмайтынына көз жеткізу үшін әрбір дананы сынау өте маңызды. Үлкен логикалық машина (мысалы, жүзден астам логикалық айнымалысы бар) астрономиялық сандағы мүмкін күйлерге ие болуы мүмкін. Әрине, мұндай машинаның әрбір күйін зауытта сынап көру мүмкін емес, себебі әрбір күйді сынауға бір микросекунд жұмсалса да, ғаламның пайда болуынан бері өткен микросекундтардан да көп күйлер бар! Үлкен логикалық машиналар көбінесе кіші логикалық машиналардың жиынтығы ретінде жобаланады. Уақытты үнемдеу үшін кішігірім машиналар сынақ схемалары үшін арнайы орнатылған құрылымдармен оқшауланады және дербес түрде сыналады. Бір әдеттегі сынақ схемасы, логикалық машинаның бір бөлігін сынақ циклына енгізуге мәжбүрлейтін сынақ режимін ұсынады. Сынақ циклы әдетте машинаның үлкен, тәуелсіз бөліктерін сынап көреді. Шекаралық сканерлеу – бұл сканерлеу тізбегі деп аталатын бір немесе бірнеше жылжымалы тіркегіштер арқылы сыртқы сынақ құралдарымен тізбекті байланыс қолданатын әдеттегі сынақ схемасы. Тізбекті сканерлеуде деректерді жеткізу үшін тек бір немесе екі сым қолданылады, бұл сирек қолданылатын сынақ логикасының физикалық көлемін және құнын азайтады. Барлық сынақ деректері орналастырылғаннан кейін, конструкция қалыпты режимде жұмыс істеу үшін қайта конфигурацияланады және бір немесе бірнеше тактық импульстар қолданылады, бұл ақауларды (мысалы, төменгі немесе жоғары деңгейде тұрып қалу) анықтауға және сынақ нәтижесін сканерлеу тіркегіштердегі триггерлерге немесе құлыптарға сақтауға мүмкіндік береді. Соңында, сынақ нәтижесі блок шекарасына жіберіліп, машинаның күтілетін жақсы нәтижесімен салыстырылады. Плата сынақ ортасында, тізбекті және параллель сынақтар JTAG стандарты ретінде ресмиленді.

Құны

Цифрлық жүйеде көптеген логикалық қақпалар қолданылуы мүмкін болғандықтан, компьютер құрудың жалпы құны логикалық қақпаның құнымен тікелей байланысты. 1930 жылдары ең алғашқы цифрлық логикалық жүйелер телефондық релелерден жасалды, себебі олар арзан және салыстырмалы түрде сенімді болды. Ең алғашқы интегралды схемалар салмақты азайту және Аполлон бағыттау компьютерінің ғарыш кемесі үшін инерциялық бағыттау жүйесін басқаруына мүмкіндік беру үшін құрастырылды. Бірінші интегралды схемадағы логикалық қақпалардың құны шамамен 50 АҚШ долларын құрады, бұл 1960 жылы 50 АҚШ долларына тең еді, ал қазіргі жылдары шамамен <есептелген сомаға> тең. Интегралды схемаларда жаппай өндірілген қақпалар цифрлық логиканы құрудың ең арзан тәсіліне айналды. Интегралды схемалардың дамуымен, қолданылатын чиптердің абсолютті санын азайту да шығындарды үнемдеудің бір жолы болды. Дизайнердің мақсаты – ең қарапайым схеманы жасау ғана емес, компоненттердің санын да азайту. Кейде бұл негізгі цифрлық логикаға қатысты күрделірек дизайнға әкелуі мүмкін, бірақ бұл компоненттердің санын, платаның өлшемін және тіпті қуат тұтынуды азайтады.

Сенімділік

Баспалы схема тақталарындағы компоненттер санын азайтудың тағы бір маңызды себебі – дәнекерленген қосылыстардың нашарлауынан туындайтын өндіріс ақауларын азайту және сенімділікті арттыру. Ақаулар мен сәтсіздіктердің көрсеткіші компоненттердің жалпы саны артумен бірге өсуге бейім. Тек бір логикалық қақпаның істен шығуы цифрлық машинаның тоқтауына себеп болуы мүмкін. Егер қосымша сенімділік қажет болса, қосымша логика қолданылуы мүмкін. Қосымша логика, салыстырмалы түрде қарапайым жүйеге қарағанда, құн мен қуат тұтынуын арттырады. Логикалық қақпаның сенімділігі оның орташа жұмыс істеу уақытымен (MTBF) сипатталады. Цифрлық машиналар алғаш рет пайдалы болған кезде, бір коммутатордың MTBF бірнеше жүз сағаттан асып кеткен. Дегенмен, осы машиналардың көптеген түрлері күрделі, жақсы зерделенген жөндеу процедураларына ие болды және түтік жанып кеткен немесе көбелек реледе тұрып қалған жағдайда сағаттап жұмыс істемейтін. Қазіргі заманғы транзисторлық интегралды схемалардағы логикалық қақпалардың MTBF 82 миллиард сағаттан жоғары (8.2). Бұл деңгейдегі сенімділік интегралдық схемалардағы логикалық қақпалардың көп санына байланысты қажет.

Жарықпен

Fan out – бір логикалық шығыс арқылы, қақпа шығыстарының электр тогының шекті мәнін асырмай, қанша логикалық кірісті басқаруға болатынын көрсетеді. Ең төменгі қанағаттанарлық fan out шамасы шамамен бес. Коммутатор ретінде CMOS транзисторларын қолданатын қазіргі заманғы электрондық логикалық қақпалардың fan out көрсеткіштері жоғары.

Жылдамдық

Коммутатордың ауысу жылдамдығы логикалық шығыстың шындықтан жалғанға немесе керісінше өзгеруіне кеткен уақытты көрсетеді. Жылдам логика аз уақытта көбірек операцияларды орындай алады. Қазіргі заманғы электрондық цифрлық логика әдетте 5-те ауысады, ал кейбір зертханалық жүйелер 1-ден жоғары ауысады.

Логикалық отбасылар

Цифрлық дизайн эстафеталық логикадан басталды, ол өте баяу болды. Кейде механикалық ақаулар туындады. Фан-аут көбінесе 10 шамасында болды, орамдардың кедергісімен және жоғары кернеуден контактілерде пайда болатын доғамен шектелген. Кейін вакуумдық түтіктер қолданыла бастады. Олар өте жылдам болғанмен, көп жылу шығарды және сенімді емес еді, себебі жіптері жанып кететін. Фан-аут әдетте 5-тен 7-ге дейін болды, түтіктердің тогынан туындайтын қыздырумен шектелген. 1950 жылдары кремний сияқты ұшпа элементтерден тазартылған жіптері бар арнайы компьютерлік түтіктер жасалды. Олар жүздеген мың сағат бойы жұмыс істеді. Алғашқы жартылай өткізгіш логикалық отбасы – резистор-транзисторлық логика. Бұл түтіктерге қарағанда мың есе сенімдірек, салқын жұмыс істеді және аз қуат тұтындырды, бірақ фан-ауты бар болғаны 3-ті құрады. Диод-транзисторлық логика фан-аутты шамамен 7-ге дейін жақсартты және қуатты азайтты. Кейбір DTL конструкциялары фан-аутты арттыру үшін NPN және PNP транзисторларының кезектесіп орналасқан қабаттары бар екі қуат көзін пайдаланды. Транзистор-транзисторлық логика (ТТЛ) осылардан үлкен жетістік болды. Алғашқы құрылғыларда фан-аут 10-ға дейін жақсарды, ал кейінгі нұсқалары сенімді түрде 20-ға жетті. ТТЛ сондай-ақ жылдам болды, кейбір түрлері 20 нс-қа дейін ауысу уақытына қол жеткізді. ТТЛ кейбір конструкцияларда әлі де қолданылады. Эмиттерлік байланысқан логика өте жылдам, бірақ көп қуатты тұтынады. Ол көптеген орта масштабты компоненттерден құралған Illiac IV сияқты жоғары өнімді компьютерлерде кеңінен қолданылды. Бүгінгі күні ең көп таралған цифрлық интегралдық схемалар CMOS логикасын пайдаланады, ол жылдам, жоғары тізбек тығыздығын және әр қақпаға төмен қуатты ұсынады. Бұл тіпті IBM System z сияқты үлкен, жылдам компьютерлерде де қолданылады.

Соңғы өзгерістер

2009 жылы зерттеушілер мемристорлар Бульдік күйде ақпарат сақтауды жүзеге асыра алатынын және CMOS жартылай өткізгіш технологияларын қолдана отырып, өте аз орын мен қуатты қажет ететін толық логикалық отбасын ұсынатынын анықтады. Суперөткізгіштіктің табылуы, транзисторлардың орнына Джозефсон тораптарын пайдаланатын, жылдам бір ағынды кванттық (RSFQ) тізбек технологиясын дамытуға әкелді. Соңғы кезде сызықтық емес оптикалық элементтерді пайдаланып, цифрлық ақпаратты өңдей алатын, толығымен оптикалық есептеу жүйелерін құруға әрекеттер жасалып жатыр.