Yerleşik Kapı Primitifleri
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 39 / 90.
Verilog, mantık devrelerini gerçek kapı sembollerini kullanarak tanımlamanıza olanak tanıyan yerleşik kapı primitiflerine sahiptir. Buna yapısal modelleme denir — tıpkı bir şema çizmek gibi, kapıları birbirine bağlayarak devreler oluşturursunuz.
Kapı temel bileşenleri (gate primitives), temel mantık kapılarını modelleyen önceden tanımlanmış anahtar kelimelerdir. assign out = a & b gibi bir ifade yazmak yerine, bir kapı örneklersiniz:
and(out, a, b); // out çıkışlı, a ve b girişli AND kapısıGenel Sözdizimi
gate_type (output, input1, input2, ...);- İlk argüman her zaman çıktıdır
- Sonraki argümanlar girdilerdir (kapıya bağlı olarak 1 veya daha fazla)
Kullanılabilir Kapı Temelleri (Gate Primitives)
| Kapı Türü | Anahtar Kelime | Giriş Sayısı |
|---|---|---|
| AND | and | 2 veya daha fazla |
| OR | or | 2 veya daha fazla |
| NOT | not | 1 |
| NAND | nand | 2 veya daha fazla |
| NOR | nor | 2 veya daha fazla |
| XOR | xor | 2 veya daha fazla |
| XNOR | xnor | 2 veya daha fazla |
Geçit Primitifleri Nasıl Çalışır?
and(out, a, b) yazdığınızda, Verilog out çıkışını sürekli olarak a & b sonucuyla besleyen bir AND geçidi oluşturur. a veya b ne zaman değişirse, out hemen güncellenir — tıpkı gerçek bir geçit gibi.
Kapı Primitifleri ve Sürekli Atama
Her iki yöntem de aynı donanımı üretir:
// Kapı primitifi
and(out, a, b);
// Sürekli atama (aynı sonuç)
assign out = a & b;Kapı primitifleri, bir devreyi bir kapı koleksiyonu (yapısal stil) olarak tanımlamak istediğinizde kullanışlıdır. Sürekli atama, davranışsal stil (ifadeler) için daha iyidir.
Görev
Yapılacaklar:
- Bu devrenin çalışması için doğru kapı primitiini ekleyin. Modül,
avebgirişlerinin AND sonucunu çıktı olarak vermelidir. Çıkış portu zatencolarak adlandırılmıştır.
Kopya kağıdı
Verilog'daki kapı temel bileşenleri (gate primitives), mantık kapılarını doğrudan örnekleyerek yapısal modelleme yapılmasına olanak tanır.
Sözdizimi: İlk argüman her zaman çıkıştır (output), ardından girişler (inputs) gelir:
gate_type(output, input1, input2, ...);Mevcut temel bileşenler:
| Kapı | Anahtar Kelime | Girişler |
|---|---|---|
| AND | and | 2+ |
| OR | or | 2+ |
| NOT | not | 1 |
| NAND | nand | 2+ |
| NOR | nor | 2+ |
| XOR | xor | 2+ |
| XNOR | xnor | 2+ |
Kapı temel bileşenleri ve assign ifadesi eşdeğer donanım üretir:
and(out, a, b); // structural (gate primitive)
assign out = a & b; // behavioral (continuous assignment)Kendin dene
module gate_challenge (
input a,
input b,
output c
);
// YAPILACAK: Doğru kapı primiti ekleyin
// c çıkışı a VE b olmalıdır
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ığı