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ı ayrıntı seviyelerinde tanımlayabiliriz. Verilog, devreleri bu soyutlama seviyelerinin herhangi birinde tanımlayabilen bir dildir. Onu güçlü kılan da budur!
Seviyeler şunlardır:
Seviye 1: Davranışsal
Bu seviye devrenin nasıl yaptığını değil, ne yaptığını açıklar. "Yukarı say" veya "iki sayıyı topla" gibi işlev veya davranışa odaklanır.
Sayma veya toplama işleminin nasıl gerçekleştiğine dair dahili ayrıntılar gösterilmez. Bu seviye insan düşüncesine en yakın olanıdır ve yazılması daha kolaydır.
Seviye 2: RTL
Bu seviye, verinin kaydediciler arasında nasıl hareket ettiğini ve bu veri üzerinde hangi işlemlerin gerçekleştiğini gösterir. Veri yolunu görebilirsiniz: veri bir kaydediciden bir toplayıcıya gider, ardından tekrar kaydediciye döner.
Bu, anlaşılabilir olmak ile donanım oluşturacak kadar ayrıntılı olmak arasında iyi bir denge sağladığı için çoğu dijital tasarımcının çalıştığı seviyedir.
Seviye 3: Kapı Seviyesi
Bu seviye, devreyi AND, OR ve XOR gibi temel mantık kapılarını kullanarak tanımlar. Her bağlantı açıkça gösterilir.
Bu seviye oldukça ayrıntılıdır ve elle yazılması zordur. Genellikle manuel olarak yazılmaz, üst düzey açıklamalardan araçlar tarafından oluşturulur.
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 ideal noktadır
Görev
Ne yapmalı:
- Bu kodu çalıştırın ve aynı işlemin üç farklı seviyede nasıl tanımlandığını görün:
Kopya kağıdı
Verilog, devreleri farklı soyutlama seviyelerinde tanımlayabilir:
- Davranışsal (Behavioral) – Devrenin ne yaptığını açıklar (örneğin, "iki sayıyı topla"). Yazması en kolay, kontrolü en az olan seviyedir.
- RTL (Register Transfer Level) – Verilerin yazmaçlar arasında nasıl hareket ettiğini ve hangi işlemlerin gerçekleştiğini açıklar. Çoğu dijital tasarım işi için standart seviyedir.
- Kapı Seviyesi (Gate Level) – Devreyi açık mantık kapıları (AND, OR, XOR) kullanarak tanımlar. En detaylı, yazması en zor olanıdır; genellikle araçlar tarafından oluşturulur.
Denge (Trade-off): Daha yüksek seviye = yazması daha kolay, daha az kontrol. Daha düşük seviye = yazması daha zor, daha fazla kontrol. RTL en ideal noktadır.
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ığı