Tasarım Soyutlama Seviyeleri
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 3 / 90.
Dijital tasarımda, aynı devreyi farklı detay seviyelerinde tanımlayabiliriz. Verilog, devreleri bu `Abstraction` seviyelerinin herhangi birinde tanımlayabilen bir dildir. Güçlü olmasını sağlayan da budur!
Bunlar Levels:
Level 1: Behavioral
Bu Level devrenin ne yaptığını tanımlar, bunu how yaptığını değil. "Yukarı say" veya "iki sayıyı topla" gibi işlev veya davranışa odaklanır.
Sayma veya ekleme işleminin dahili detayları gösterilmez. Bu seviye insan düşüncesine en yakın olanıdır ve yazılması daha kolaydır.
Level 2: RTL
Bu seviye, data'nın register'lar arasında how hareket ettiğini ve bu data üzerinde hangi işlemlerin gerçekleştiğini shows. data yolunu görebilirsiniz: data bir register'dan bir toplayıcıya gider, ardından tekrar register'a döner.
Bu, dijital tasarımcıların çoğunun çalıştığı seviyedir çünkü anlaşılır olmak ile donanım oluşturacak kadar ayrıntılı olmak arasında iyi bir denge sağlar.
Level 3: Gate Level
Bu seviye, devreyi AND, OR ve XOR gibi temel mantık kapılarını kullanarak açıklar. Her bağlantı açıkça gösterilmiştir.
Bu düzey çok ayrıntılıdır ve elle yazılması zordur. Genellikle elle yazılmak yerine, daha üst düzey tanımlardan araçlar tarafından üretilir.
Neden Önemlidir
- **Daha yüksek seviye** = Yazması daha kolay, daha az kontrol
- **Daha düşük seviye** = Yazması daha zor, daha fazla kontrol
- **RTL**, çoğu tasarım işi için en uygun noktadır
Görev
Ne yapılmalı:
- Bu kodu çalıştırın ve aynı işlemin üç farklı seviyede nasıl tanımlandığını görün:
Kendin dene
module abstraction_demo;
initial begin
$display("=== Design Abstraction Levels ===");
$display("");
$display("Level 1 (Behavioral):");
$display(" 'Add a and b' - no details how");
$display("");
$display("Level 2 (RTL):");
$display(" 'On clock edge, result <= a + b' - shows data flow");
$display("");
$display("Level 3 (Gate Level):");
$display(" 'XOR gates for sum, AND gates for carry' - actual gates");
$display("");
$finish;
end
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ığı