Кіріспе
Цифрлық логикалық схема
Цифрлық есептеуде Мюллер C элементі (C қақпасы, гистерезистік триггер, сәйкес триггер немесе екі қолды қауіпсіздік схемасы) – асинхронды схемалар мен жүйелерді жобалауда кеңінен қолданылатын кішкентай екілік логикалық схема. Барлық кірістері 0 болса, 0 шығарады, барлық кірістері 1 болса, 1 шығарады, ал әйтпесе шығыс күйін сақтайды. Ол 1955 жылы Дэвид Э. Мюллер (David E. Muller) ресми түрде анықтады және алғаш рет ILLIAC II компьютерінде қолданылды. Латтицелер теориясы тұрғысынан алғанда, C элементі – жартылай модульдік дистрибутивтік схема, оның уақыт бойынша жұмысы Хассе диаграммасымен сипатталады. C элементі кездесу және біріктіру элементтерімен тығыз байланысты, онда кіріс екі рет қатарынан өзгеруіне рұқсат етілмейді. Кейбір жағдайларда, кідірістер арасындағы қатынастар белгілі болғанда, C элементі көбейту сомасы (SOP) схемасы ретінде жүзеге асырылуы мүмкін. C элементін жүзеге асырудың бұрынғы әдістеріне Шмидт триггері, Экклз-Жордан триггері және соңғы қозғалатын нүкте триггері кіреді.
C-элементін іске асыру
Қосу жылдамдығы және қуат тұтыну талаптарына байланысты, C элементі ірі немесе ұсақ түйірлі схема ретінде жүзеге асырылуы мүмкін. Сондай-ақ, C элементінің бір шығыс немесе екі рельстік жүзеге асырылуын ажырату қажет. Екі рельстік C элементі тек 2 кірісті NAND (NOR) элементтері арқылы ғана жүзеге асырылуы мүмкін. Бір шығысты жүзеге асыру тек мына жағдайда ғана мүмкін: C элементінің әрбір кірісі жеке инвертор арқылы оның шығысына қосылған схема, барлық инверторлардың белсенді жағдайына қатысты жартылай модулді болады. Бұл жағдай C элементінің шығыс қақпасы үшін тірі болып табылады.
The circuit, where each input of a C element is connected through a separate inverter to its output, is semimodular relatively to the state, where all the inverters are excited. This state is live for the output gate of C element.
Статикалық және жартылай статикалық іске асырулар
Оның баяндамасында, әдетте, әртүрлі уақыт талаптары бар С элементтерін AND OR Invert (AOI) немесе оның қос нұсқасы OR AND Invert (OAI) қақпасы мен инвертордың негізінде құруға болады. Varshavsky және авторлар патенттеген тағы бір нұсқа – егер сигналдар тең болмаса, оларды тікелей байланыстыру. Бұл өте қарапайым болғанымен, мұндай схемалар қысқа тұйықталулардың салдарынан көп қуатты жұмсайды. C элементінің инверттік шығысына қосымша көпшілік қақпасын қосу арқылы инклюзивті OR (EDLINCOR) функциясын алуға болады. Кейбір қарапайым асинхронды тізбектер, мысалы, импульс таратушылар, тек көпшілік қақпаларының негізінде құрылуы мүмкін. Жартылай статикалық С элементі SRAM ұяшығына ұқсас екі қиылысқан инверторды пайдаланып, өзінің бұрынғы күйін сақтайды. Инверторлардың бірі тізбектің қалған бөлігіне қарағанда әлсіз, сондықтан оны жоғары және төмен желілер жеңіп шығады. Егер екі кіріс те 0 болса, жоғары көтеру желісі тұйықтаманың күйін өзгертеді және С элементі 0 шығарады. Егер екі кіріс те 1 болса, төмен түсіру желісі тұйықтаманың күйін өзгертеді, нәтижесінде С элементі 1 шығарады. Әйтпесе, кіріс тұйықтамаға немесе жерге қосылмайды, сондықтан әлсіз инвертор басымдық танытады және тұйықтама өзінің бұрынғы күйін шығарады. Сондай-ақ, теріс дифференциалдық кедергіге (NDR) ие құрылғыларға негізделген жартылай статикалық С элементтерінің нұсқалары да бар. NDR әдетте кішкентай сигналдар үшін анықталады, сондықтан мұндай С элементінің кернеулер мен токтардың толық диапазонында жұмыс істейтінін күту қиын.
Қақпа деңгейіндегі іске асырулар
Логикалық қақпаларға негізделген С элементінің бірнеше түрлі бір шығыс тізбектері бар. Атап айтқанда, Маевскийдің іске асыруы деп аталатын жартылай модульді, бірақ үлестірмейтін (немесе себеп-салдарлы) тізбекке шала негізделген. Бұл тізбектегі NAND3 қақпасын екі NAND2 қақпасымен алмастыруға болады. Маевскийдің C элементінің іс жүзінде Join элементі екенін ескеріңіз, оның кіріс сигналдары екі рет қосыла алмайды. Цирлин C элементін тек екі кіріс қақпасымен іске асыруды ұсынды, ал кейін Стародубцев және авторлар тобы таксограмма тілінде синтездеді. Бұл тізбек Барткиге жатқызылатын тізбекпен сәйкес келеді. Оның жылдам транзисторлық деңгейдегі іске асырылуы ұсынылған жартылай статикалық C элементінде қолданылады. Тағы бір жартылай статикалық тізбек өткізгіш транзисторларды (әдетте MUX 2:1) пайдаланады. С элементінің тағы бір нұсқасы екі SR құлыптауышымен жасалған, оны Мерфи Petrify құралын қолданып синтездеді. Дегенмен, бұл тізбек кірістердің біріне қосылған инверторды қамтиды. Бұл инвертордың аз ғана кешігуі болуы керек. Алайда, RS құлыптауыштарының іске асырылуы бар, мысалы, бір кері кірісі бар. Кейбір жылдамдықтан тәуелсіз әдістер барлық қақпаларда нөлдік кешігуі бар инверторлар бар деп есептейді, бұл нағыз жылдамдықтан тәуелсіздіктің бұзуы болып табылады, бірақ практикада қауіпсіз. Бұл болжамды қолданудың басқа мысалдары да бар.
, Its fast transistor level implementation is used in the semistatic C element proposed. Yet another semistatic circuit using pass transistors (actually MUX 2:1) has been proposed. Yet another version of the C element built on two SR latches has been synthesized by Murphy using Petrify tool. However, this circuit includes inverter connected to one of the inputs. This inverter should have small delay. However, there are realizations of RS latches that already have one inverted input, for example. Some speed independent approaches assume that zero delay input inverters are available on all gates, which is a violation of true speed independence but is fairly safe in practice. Other examples of using this assumption also exist.
Транзистор емес іске асырулар
Асинхронды примитивтерді, соның ішінде С элементін іске асыруға жарамды басқа технологиялар: көміртек нанотұрбалары, жалғыз электрондық туннельдік құрылғылар, кванттық нүктелер және молекулалық нанотехнология.