Кіріспе

Логикалық қақпа
XOR цифрлық логикалық қақпасы (мысалы, SN7486 немесе CD4030B)
+ XOR қақпасының шындық кестесі Кіріс А Б А XOR Б

XOR қақпасы (кейде EOR немесе EXOR деп аталады, және «Exclusive OR» деп айтылады) – бұл цифрлық логикалық қақпа, егер кірістердің саны тақ болса, онда «шын» (1 немесе HIGH) шығысын береді. XOR қақпасы математикалық логикадан «ексклюзивті немесе» амалын іске асырады; яғни, қақпаға енгізілген кірістердің біреуі ғана шын болса, шығыс «шын» болады. Егер екі кіріс те «жалған» (0/LOW) немесе екеуі де «шын» болса, шығыс «жалған» болады. XOR теңсіздік функциясын көрсетеді, яғни кірістер бір-бірінен өзгеше болса, шығыс «шын», әйтпесе «жалған» болады. XOR-ды есте сақтаудың бір жолы: «бір немесе екіншісі болуы керек, бірақ екеуі де емес». XOR қақпасы «бағдарламаланатын инвертор» ретінде де жұмыс істей алады, онда бір кіріс екінші кірісті инверсиялау керек пе, әлде өзгеріссіз өткізу керек пе, дегенді анықтайды. Осылайша, ол инвертор (NOT қақпасы) ретінде жұмыс істейді, оны қосқыш арқылы қосуға немесе өшіруге болады. XOR-ды 2-ге модульдік қосу ретінде де қарастыруға болады. Сәйкесінше, XOR қақпалары компьютерлерде екілік қосуды іске асыру үшін қолданылады. Жартылай қосушы бір XOR және бір AND қақпасынан тұрады. Бұл қақпаны шегергіштер мен салыстырушыларда да қолданады. Алгебралық өрнектер немесе немесе немесе A және B кірістері бар XOR қақпасын көрсетеді. XOR-дың жұмысы оң жақта көрсетілген шындық кестесінде қысқаша баяндалған.

Іске асыру

XOR шлюзі көбінесе MOSFET тізбектері арқылы іске асырылады. Осы іске асырулардың арасында мыналар бар:

ЖӘНЕ-ЖӘНЕ-Алдыға

XOR шлюздері AOI логикасы арқылы жүзеге асырылуы мүмкін.

Трансмиссиялық қақпалар

XOR шлюзін транзисторлық логикамен беріліс шлюздерін пайдалану арқылы да іске асыруға болады. Бұл іске асыруда диаграммада көрсетілмеген екі беріліс шлюзі және екі инвертор қолданылады, жалпы сегіз транзисторды, бұрынғы жобаға қарағанда төрттен кем. XOR функциясы B жоғары болғанда A-ның инверттік мәнін шығысқа беру арқылы және B логикалық төмен болғанда A-ның мәнін беру арқылы іске асырылады. Демек, егер екі кіріс те төмен болса, төмендегі беріліс шлюзі өшіріледі, ал жоғарғы шлюз қосылып, төмен A-ны өткізеді, сондықтан шығыс төмен болады. Егер екісі де жоғары болса, төменгі шлюз ғана белсенді болып, A-ның инверттік мәнін өткізеді, ал A жоғары болғандықтан шығыс қайтадан төмен болады. Сол сияқты, егер B жоғары болса, бірақ A төмен болса, шығыс күтілгендей жоғары болады, ал егер B төмен болса, бірақ A жоғары болса, A мәні өтеді және шығыс жоғары болады, бұл XOR шлюзінің шындық кестесін толықтырады. Бұрынғы іске асырумен салыстырғанда, беріліс шлюздері идеалды коммутаторлар болмағандықтан, олармен байланысты кедергі бар, сондықтан кіріс сигналының күшіне байланысты оларды тізбектеу шығыс деңгейін нашарлатуы мүмкін. Жоғарыда аталған екі сол жақтағы транзисторлар транзисторлардың санын азайту үшін өту транзисторлық логиканы пайдалана отырып, B логикалық жоғары болғанда A-ның оңтайландырылған инверсиясын орындайды, ал B логикалық төмен болғанда олардың шығысы жоғары кедергі күйде болады. Ортадағы екеуі – B логикалық төмен болғанда A мәнін шығаратын беріліс шлюзі, ал екі оң жақтағы транзисторлар беріліс шлюзі мен өту транзисторлық логикалық тізбегі үшін қажетті инверторды құрайды. Бұрынғы іске асырудағыдай, кірістерді шығыстарға өту шлюзі транзисторлары арқылы немесе екі сол жақтағы транзисторлар арқылы тікелей қосуды, әсіресе оларды тізбектеу кезінде ескеру керек. 4030: CMOS төрттік қос кіретін XOR шлюздері. 7486: TTL төрттік қос кіретін XOR қақпалары. Егер логикалық қақпа үш немесе одан көп кірісті қабылдап, осы кірістердің біреуі ғана дұрыс болса, шынайы шығыс берсе, онда ол бір ыстық детектор болар еді (әрине, бұл тек екі кіріс үшін ғана дұрыс). Алайда, бұл тәсіл практикада сирек қолданылады. Кейінгі кірістерді екілік эксклюзивті немесе операциялар тізбегі арқылы қарастыру әдеттегідей: алғашқы екі сигнал XOR шлюзіне беріледі, содан кейін сол шлюздің шығысы үшінші сигналмен бірге екінші XOR шлюзіне беріледі және қалған сигналдар үшін де осылай жалғасады. Нәтижесінде, кірістердегі 1-дің саны тақ болғанда 1 шығаратын тізбек пайда болады, ал 1-дің саны жұп болғанда 0 шығады. Бұл оны практикалық тұрғыдан паритет генераторы немесе модульді 2 қосушы ретінде пайдалы етеді. Мысалы, 74LVC1G386 микросхемасы үш кірісті логикалық қақпа ретінде жарнамаланады және паритет генераторын іске асырады.

Қолданбалар

XOR және AND шлюздері VLSI қолданбаларында ең көп пайдаланылатын екі құрылым болып табылады.

Қосу

XOR логикалық қақпасы екі битті қосып, бір биттік нәтиже шығаруға қолданылатын бір биттік қосушы ретінде пайдаланылуы мүмкін. Мысалы, егер біз екілік сандарда 1 + 1 қоссақ, 10 (яғни ондық санда 2) екі биттік жауап күтеміз. Осы нәтиженің соңғы қосынды біті XOR арқылы есептелетіндіктен, алдыңғы тасымалдау біті AND қақпасымен есептеледі. Бұл – жартылай қосушының негізгі принципі. Толық қосушы схемасы сәл үлкенірек болып, ұзын екілік сандарды қосу үшін тізбектеледі. Кейбір жағдайларда OR қақпасына (мысалы, толық қосушыда) немесе XOR қақпасына берілетін кірістер ешқашан екеуі де 1-ге тең болмайды. Бұл OR және XOR қақпаларының шығыстары ерекшеленетін жалғыз комбинация болғандықтан, OR қақпасын XOR қақпасымен (немесе керісінше) логикалық нәтижені өзгертпей алмастыруға болады. Егер схема бір чипке тек бір типті қақпасы бар қарапайым интегралдық схема чиптерін қолдана отырып іске асырылатын болса, бұл ыңғайлы.

Псевдосуретті сандар генераторы

Псевдокездейсоқ сандар (PRN) генераторлары, әсіресе сызықтық кері байланыс тізбектік тіркегіштері (LFSR), эксклюзивті немесе операциясы арқылы анықталады. Осылайша, XOR қақпаларының тиімді құрылымы кездейсоқ сандарды жасау үшін сызықтық кері байланыс тізбектік тіркегішін модельдей алады.

Фазалық детекторлар

XOR қақпалары ең қарапайым фазалық детекторларда қолданылуы мүмкін.

Сигналды буферлеу немесе инверттеу

XOR шлюзі сигналды буферлеу немесе инверттеуді оңай өзгерту үшін қолданылуы мүмкін. Мысалы, жеті сегментті дисплей декодерлік схемасының шығысына XOR шлюздерін қосу арқылы пайдаланушы белсенді төмен немесе белсенді жоғары шығысты таңдау мүмкіндігіне ие болады.