AND OR NOT Kapıları
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 40 / 90.
Bu ders, en temel üç mantık kapısını kapsar: AND, OR ve NOT. Bu kapılar, dijital mantık tasarımının temelini oluşturur.
VE Kapısı (AND Gate)
VE kapısı, yalnızca tüm girişler 1 olduğunda 1 çıktısını verir.
Doğruluk Tablosu (2 girişli):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Verilog kapı ilkel öğesi:
and(out, a, b);Sürekli atama eşdeğeri:
assign out = a & b;OR Kapısı
OR kapısı, en az bir giriş 1 olduğunda 1 çıktısını verir.
Doğruluk Tablosu (2-girişli):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Verilog kapı ilkel öğesi:
or(out, a, b);Sürekli atama eşdeğeri:
assign out = a | b;NOT Kapısı
NOT kapısı, tek girişinin tersini üretir. Aynı zamanda bir evirici (inverter) olarak da adlandırılır.
Doğruluk Tablosu:
| a | out |
|---|---|
| 0 | 1 |
| 1 | 0 |
Verilog kapı ilkel öğesi:
not(out, a);Sürekli atama karşılığı:
assign out = ~a;Çoklu Girişler
AND ve OR kapıları 2'den fazla girişe sahip olabilir:
and(out, a, b, c); // 3 girişli AND (out = a & b & c)
or(out, x, y, z, w); // 4 girişli ORNOT kapıları her zaman tam olarak 1 girişe sahiptir.
Kod Örneği
module and_or_not (
input a, b,
output and_out,
output or_out,
output not_out
);
and(and_out, a, b); // VE kapısı
or(or_out, a, b); // VEYA kapısı
not(not_out, a); // DEĞİL kapısı (evirici)
endmoduleGörev
Görevlere göre eksik kapı temel bileşenlerini ekleyin.
Yapılacaklar:
- Çıkışı
and_result, girişleripveqolan bir AND kapısı oluşturun - Çıkışı
or_result, girişleripveqolan bir OR kapısı oluşturun - Çıkışı
not_resultve girişipolan bir NOT kapısı oluşturun
Kopya kağıdı
Kapı ilkel öğeleri (gate primitives) ve sürekli atama (continuous assignment) kullanarak Verilog'daki temel mantık kapıları:
| Kapı | İlkel (Primitive) | Atama (Assign) | Çıkış şu durumda 1 olur... |
|---|---|---|---|
| AND | and(out, a, b); | assign out = a & b; | Tüm girişler 1 olduğunda |
| OR | or(out, a, b); | assign out = a | b; | En az bir giriş 1 olduğunda |
| NOT | not(out, a); | assign out = ~a; | Giriş 0 olduğunda |
AND ve OR 2'den fazla girişi destekler; NOT her zaman tam olarak 1 girişe sahiptir:
and(out, a, b, c); // 3 girişli AND
or(out, a, b, c, d); // 4 girişli ORmodule example (input a, b, output and_out, or_out, not_out);
and(and_out, a, b);
or(or_out, a, b);
not(not_out, a);
endmoduleKendin dene
module gates_challenge (
input p,
input q,
output and_result,
output or_result,
output not_result
);
// TODO: AND kapısı ekle (and_result = p & q)
// TODO: OR kapısı ekle (or_result = p | q)
// TODO: NOT kapısı ekle (not_result = ~p)
endmoduleBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı