Genellikle, tam çıkarıcı en çok kullanılanlardan biridir ve temel kombinasyonel mantık devreleri . İki ikili sayıyı çıkarmak için kullanılan temel bir elektronik cihazdır. Önceki makalede, temel teorisini zaten vermiştik. yarım toplayıcı ve tam toplayıcı hesaplama için ikili rakamları kullanır. Aynı şekilde, tam çıkarıcı, çıkarma için 0,1 gibi ikili rakamlar kullanır. Bunun devresi OR, Ex-OR, NAND geçidi gibi mantık kapıları ile inşa edilebilir. Bu çıkarıcının girişleri A, B, Bin ve çıkışlar D, Bout'tur.
Bu makale, çıkarıcı nedir, mantık kapıları ile tasarım, doğruluk tablosu vb. Gibi öncülleri içeren tam bir çıkarıcı teori fikri verir. Bu makale, HDL Pratik laboratuarında bu konuları inceleyebilecek mühendislik öğrencileri için yararlıdır.
Çıkarıcı nedir?
Çıkarma devresi yardımı ile ikili hane çıkarma işlemi yapılabilir. Bu, 0'lar ve 1'ler gibi iki ikili rakamın çıkarılmasını gerçekleştirmek için kullanılan bir tür kombinasyonel mantık devresidir. İkili rakamların 0'dan 0'a veya 0'dan 1'e çıkarılması sonucu değiştirmez, 1'den 1'e çıkarma 0 olarak sonuçlanır, ancak 1'den 0'a çıkarılması ödünç almayı gerektirir.
Örneğin, iki bitlik çıkarıcı devresi A ve B gibi iki giriş içerirken, çıkışlar fark ve ödünç alır. Bu devre, FA'nın önceki fazının ödünç (Bin) girişinin yanı sıra her veri girişi arasında bulunan eviricilerle birlikte toplayıcılarla oluşturulabilir.
Çıkarıcılar, yarı çıkarıcı ve tam çıkarıcı olmak üzere iki türe ayrılır. Burada tam çıkarıcıyı tartışıyoruz.
Tam Çıkarıcı nedir?
Elektronik bir cihazdır veya mantık devresi iki ikili rakamın çıkarılmasını gerçekleştirir. Dijital elektronikte kullanılan bir birleşimsel mantık devresidir. Birçok kombinasyonel devre mevcuttur entegre devre teknolojisi yani toplayıcılar, kodlayıcılar, kod çözücüler ve çoklayıcılar. Bu yazıda, yarım çıkarıcı kullanarak yapısını ve ayrıca doğruluk tablosu gibi terimleri tartışacağız.
Tam Çıkarıcı
Bunun tasarımı, eksiltme, çıkarma ve ödünç alma gibi üç girdiyi içeren iki yarım çıkarıcı tarafından yapılabilir, girdiler arasındaki ödünç biti iki ikili basamağın çıkarılmasından elde edilir ve bir sonraki yüksek dereceden çiftinden çıkarılır. bitler, fark ve ödünç alma olarak çıktılar.
tam çıkarıcı blok diyagramı aşağıda gösterilmiştir. Yarım çıkarıcının en önemli dezavantajı, bu çıkarıcıda bir Ödünç biti yapamıyoruz. Oysa tasarımında, aslında devrede bir Ödünç alma biti yapabiliriz ve kalan iki i / ps ile çıkarabiliriz. Burada A eksidir, B çıkarılır ve Bin ödünç alınır. Çıktılar Fark (Diff) ve Bout (Borçla). Eksik çıkarıcı devresi, fazladan bir OR geçidi olan iki yarım çıkarıcı kullanılarak elde edilebilir.
Mantık Kapıları ile Tam Çıkarıcı Devre Şeması
temel kapıyı kullanan tam çıkarıcının devre şeması s, aşağıdaki blok şemada gösterilmiştir. Bu devre, iki yarım Çıkarıcı devresi ile yapılabilir.
İlk yarı Çıkarıcı devresinde, ikili girişler A ve B'dir. Önceki yarı Çıkarıcı makalesinde tartıştığımız gibi, fark (Diff) ve Borrow olmak üzere iki çıktı üretecektir.
Mantık Kapılarını Kullanan Tam Çıkarıcı
Soldaki çıkarıcının o / p farkı, Sol yarı Çıkarıcı devresine verilir. Sağ yarı Çıkarıcı devresinin girişine ayrıca farklı çıkış sağlanır. Borrow'u bir sonrakinin diğer i / p'sine göre biraz teklif ettik yarım çıkarıcı devre . Bir kez daha Diff'i verecek ve biraz ödünç alacaktır. Bu çıkarıcının son çıktısı Diff-çıktıdır.
Öte yandan, her iki yarım Çıkarıcı devresinden Ödünç Verme, VEYA mantık kapısına bağlıdır. Çıkarıcının iki çıktı biti için OR mantığı vermekten sonra, çıkarıcıdan son Borçlanmayı alırız. MSB'yi (en önemli kısım) belirtmek için son ödünç alma.
Bunun iç devresini gözlemlersek, NAND geçidi olan iki Half Subtractor ve ekstra OR geçidi olan XOR geçidi görebiliriz.
Tam Çıkarıcı Doğruluk Tablosu
Bu çıkarıcı devresi 3 girişi (A, B ve Bin) ve iki çıkışı (D ve Bout) olan iki bit arasında bir çıkarma gerçekleştirir. Burada girdiler eksilen, çıkarılan ve önceki borçlanmayı gösterirken, iki çıktı ödünç o / p ve fark olarak belirtilir. Aşağıdaki görüntü, tam çıkarıcının doğruluk tablosunu göstermektedir.
Girişler | çıktılar | |||
Minuend (A) | Çıktı (B) | Borç (Bin) | Fark (D) | Ödünç Al (Maç) |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
K-Haritası
Basitleştirme tam çıkarıcı K-haritası Yukarıdaki fark ve borçlanma için aşağıda gösterilmiştir.
Fark ve Bin için denklemler aşağıda belirtilmiştir.
Fark için ifade şudur:
D = A’B’Bin + AB’Bin ’+ A’BBin’ + ABBin
Borrow için ifade şu şekildedir:
Maç = A’Bin + A’B + BBin
Tam Çıkarıcı Devresinin Basamaklaması
Daha önce, mantık kapıları ile devre şeması gibi bunun bir genel bakışını tartışmıştık. Ancak, aksi takdirde 1 bitlik iki sayıyı çıkarmak istiyorsak, bu çıkarıcı devresi, tek bitlik sayıları basamaklamak için çok yararlıdır ve ayrıca ikiden fazla ikili sayıyı çıkarır. Bu gibi durumlarda, NOT mantık geçidi yardımı ile tam toplayıcı kademeli devre kullanılır. Devrenin tam toplayıcıdan tam çıkarıcıya dönüştürülmesi, 2’nin tamamlayıcı tekniği kullanılarak yapılabilir.
Genel olarak, tam toplayıcı için alt trend girişlerini ters çevirin, aksi takdirde bir invertör NOT geçidi kullanın. Bu Minuend (tersine çevrilmemiş giriş) & Subtrahend (Tersine Girilmiş Giriş) ekleyerek, FA devresinin LSB'si (taşıma girişi) 1 olur, bu da Mantık Yüksek anlamına gelir, aksi takdirde 2’nin tamamlama tekniğini kullanarak iki ikili basamak çıkarırız. FA’nın çıktısı Diff bitidir ve eğer yürütmeyi tersine çevirirsek MSB’yi aksi takdirde Borrow bitini alabiliriz. Aslında devreyi çıkışın gözlemlenebileceği şekilde tasarlayabiliriz.
Verilog Kodu
Kodlama kısmı için öncelikle mantık devre şemasının yapısal modelleme yolunu kontrol etmemiz gerekir. Bunun mantık şeması, bir AND geçidi, yarım çıkarıcı devreler ve AND, OR, NOT, XOR kapıları gibi mantık kapılarının kombinasyonu kullanılarak oluşturulabilir. Yapısal modellemede olduğu gibi, her temel temel düzenleme için çeşitli modülleri açıklıyoruz. Aşağıdaki kodda her kapı için farklı modüller tanımlanabilir.
Bu modül OR geçidi içindir.
GİRİŞ: a0, b0
ÇIKTI: c0
Son olarak, bu kapı hassas modüllerini tek bir modülde birleştireceğiz. Bunun için burada modül somutlaştırmasını kullanıyoruz. Şimdi bu örnekleme, çeşitli girdi kümeleri için tam bir modülü veya işlevi çoğaltmak istediğimizde kullanılabilir. Önce yarım çıkarıcı tasarlarız, sonra bu modül tam bir çıkarıcı uygulamak için kullanılır. Bunu uygulamak için, Bout değişkeni için o / ps'yi birleştirmek üzere OR geçidini kullanıyoruz. tam çıkarıcı için verilog kodu aşağıda gösterilmiştir
modül or_gate (a0, b0, c0)
giriş a0, b0
çıktı c0
c0 = a0 atayın | b0
son modül
modül xor_gate (a1, b1, c1)
giriş a1, b1
c1 çıkışı
c1 = a1 ^ b1 atayın
son modül
module and_gate (a2, b2, c2)
a2, b2 girişi
çıkış c2
c2 = a2 & b2 atayın
son modül
modül not_gate (a3, b3)
a3 girişi
çıktı b3
b3 = ~ a3 atayın
son modül
modül yarım çıkarıcı (a4, b4, c4, d4)
giriş a4, b4
çıkış c4, d4
tel x
xor_gate u1 (a4, b4, c4)
and_gate u2 (x, b4, d4)
not_gate u3 (a4, x)
son modül
modül full_subtractor (A, B, Bin, D, Bout)
giriş A, B, Bin
çıkış D, Bout
tel p, q, r
yarım çıkarıcı u4 (A, B, p, q)
yarım çıkarıcı u5 (p, Bin, D, r)
or_gate u6 (q, r, Bout)
son modül
4X1 Çoklayıcı kullanan Tam Çıkarıcı
Çıkarma işleminin yürütülmesi, ikisinin tamamlayıcı yöntemi ile yapılabilir. Bu nedenle, 1 biti ters çevirmek ve birini taşıma bitine dahil etmek için kullanılan bir 1-XOR geçidinin kullanılmasını gerektiriyoruz. FARK'ın çıkışı, tam toplayıcı devresindeki SUM çıkışına benzer, ancak BARROW o / p, tam toplayıcının taşıma çıkışına benzer değildir, ancak tersine çevrilir ve tamamlanır, örneğin A - B = A + (-B) = A + ikinin B'nin tümleyicisi.
Bunun 4X1 çoklayıcı kullanarak tasarımı aşağıdaki mantık şemasında gösterilmektedir. Bu tasarım aşağıdaki adımlar kullanılarak yapılabilir.
4X1 Çoklayıcı
- 1. adımda, Sub ve Borrow gibi iki çıktı vardır. Bu yüzden 2 çoklayıcı seçmemiz gerekiyor.
- 2. adımda, doğruluk tablosu K-haritalarıyla birlikte uygulanabilir
- 3. adımda, iki değişken seçim çizginiz olarak seçilebilir. Örneğin, B & C bu durumda.
Doğruluk şeması
tam çıkarıcının doğruluk tablosu 4X1 çoklayıcı kullanan devre aşağıdakileri içerir
KİME | B | C | Alt | Ödünç almak |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Dekoder kullanarak Tam Çıkarıcı
3-8 kod çözücü kullanılarak tam bir çıkarıcı tasarımı, aktif düşük çıkışlar kullanılarak yapılabilir. Aşağıdaki mantık şemasını kullanarak kod çözücünün çalıştığını varsayalım. Kod çözücü, 3-8 kod çözücüde üç giriş içerir. Doğruluk tablosuna dayanarak, fark ve ödünç çıktıları için mintermleri yazabiliriz.
Yukarıdaki doğruluk tablosundan,
Doğruluk tablosundaki farklı fonksiyonlar için mintermler 1,2,4,7, benzer şekilde ödünç için mintermler 1,2,3,7 olarak yazılabilir. 3-8 kod çözücüler, üç girişin yanı sıra 0 ila 7 sayı olmak üzere 8 çıkış içerir.
3 ila 8 Kod Çözücü
Çıkarıcının girişi 000 ise, o zaman '0' çıkışı aktif olacak ve giriş 001 ise, o zaman '1' çıkışı aktif olacaktır.
Şimdi çıkarıcının çıktıları 1, 2, 4 ve 7'den bir NAND geçidine bağlanmak için alınabilir, o zaman çıktı fark olacaktır. Bu çıkışlar, çıktının ödünç alınmaya değiştiği diğer NAND mantık geçitlerine bağlanabilir.
Örneğin, giriş 001 ise, çıkış 1 olacaktır, bu aktif olduğu anlamına gelir. Böylece çıktı düşük aktiftir ve çıktı, yüksek gibi fark fonksiyonu olarak adlandırılan NAND geçidinden elde edilebilir ve ödünç alma fonksiyonu da yüksek olarak değişir. Bu nedenle tercih edilen çıktıyı elde ederiz. Son olarak, kod çözücü tam bir çıkarıcı gibi çalışır.
Avantajlar ve dezavantajlar
çıkarıcının avantajları aşağıdakileri dahil edin.
- Taşıyıcı tasarımı hem çok basit hem de uygulama
- DSP içinde güç kesintisi (dijital sinyal işleme)
- Hesaplamalı görevler yüksek hızda gerçekleştirilebilir.
çıkarıcının dezavantajları aşağıdakileri dahil edin.
- Yarım çıkarıcıda, önceki aşamadan Borç benzeri girdiyi kabul etme koşulu yoktur.
- Çıkarıcı hızı, devredeki gecikme nedeniyle kısmi olabilir.
Uygulamalar
Bazıları tam çıkarıcı uygulamaları aşağıdakileri dahil et
- Bunlar genellikle bilgisayarlarda ALU (Aritmetik mantık birimi) için grafik uygulamalarının devre zorluğunu azaltmak için CPU ve GPU olarak çıkarılması için kullanılır.
- Çıkarıcılar çoğunlukla, dijital cihazların yanı sıra elektronik hesap makinelerinde çıkarma gibi aritmetik işlemleri gerçekleştirmek için kullanılır.
- Bunlar ayrıca şunlar için de geçerlidir: farklı mikrodenetleyiciler aritmetik çıkarma, zamanlayıcılar ve program sayacı (PC) için
- Çıkarıcılar, işlemcilerde tabloları, adresleri vb. Hesaplamak için kullanılır.
- DSP ve ağ tabanlı sistemler için de kullanışlıdır.
- Bunlar, esas olarak, devrenin karmaşıklığını azaltmak için grafik uygulamaları için CPU ve GPU gibi çıkarmak için bilgisayarlarda ALU için kullanılır.
- Bunlar çoğunlukla dijital cihazlarda, hesap makinelerinde vb. Çıkarma gibi aritmetik işlevleri gerçekleştirmek için kullanılır.
- Bu çıkarıcılar, zamanlayıcılar, PC (program sayacı) ve aritmetik çıkarma için çeşitli mikro denetleyiciler için de uygundur.
- Bunlar, işlemcilerin adresleri, tabloları vb. Hesaplaması için kullanılır.
- Bunun NAND ve NOR gibi mantık geçitleriyle uygulanması herhangi bir tam çıkarıcı mantık devresiyle yapılabilir çünkü hem NOR hem de NAND kapılarına evrensel kapılar denir.
Yukarıdaki bilgilerden, toplayıcıyı, iki yarı çıkarıcı devresini kullanan tam çıkarıcıyı ve tablo biçimlerini değerlendirerek, tam çıkarıcıdaki Dout'un tam toplayıcının Sout'una tam olarak benzer olduğu fark edilebilir. Tek varyasyon, A'nın (giriş değişkeni) tam çıkarıcıda tamamlanmasıdır. Bu nedenle, tam toplayıcı devresini tam çıkarıcıya dönüştürmek için sadece i / p A'yı verilmeden önce tamamlayarak elde edilebilir. mantık kapıları son ödünç biti çıktısını oluşturmak için (Bout).
Herhangi bir tam çıkarıcı mantık devresini kullanarak, NAND kapılarını kullanan tam çıkarıcı ve ne kapıları kullanan tam çıkarıcı uygulanabilir, çünkü hem NAND hem de NOR kapıları evrensel kapılar olarak değerlendirilir. İşte size bir soru, yarı çıkarıcı ile tam çıkarıcı arasındaki fark nedir?