Tasarım Soyutlama Düzeyleri
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 5 / 90.
Dijital tasarımda, aynı devreyi farklı ayrıntı düzeylerinde tanımlayabiliriz. Verilog, devreleri bu soyutlama düzeylerinin herhangi birinde tanımlayabilen bir dildir. Onu güçlü kılan da budur!
Bunlar seviyelerdir:
Seviye 1: Davranışsal
Bu seviye, devrenin bunu nasıl yaptığını değil, ne yaptığını açıklar. "Yukarı doğru sayma" veya "iki sayı toplama" gibi işlev ya da davranışa odaklanır.
Sayma veya toplama işleminin nasıl gerçekleştiğine ilişkin iç ayrıntılar gösterilmez. Bu düzey, insan düşüncesine en yakın olan düzeydir ve yazılması daha kolaydır.
Seviye 2: RTL
Bu seviye, verilerin yazmaçlar arasında nasıl hareket ettiğini ve bu veriler üzerinde hangi işlemlerin gerçekleştiğini gösterir. Veri yolunu görebilirsin: veri bir yazmaçtan toplayıcıya gider, ardından yazmaca geri döner.
Bu, anlaşılır olmak ile donanım oluşturmak için yeterince 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ı Düzeyi
Bu düzey, devreyi AND, OR ve XOR gibi temel mantık kapılarını kullanarak açıklar. Her bağlantı açıkça gösterilir.
Bu seviye çok ayrıntılıdır ve elle yazılması zordur. Genellikle manuel olarak yazılmaz; daha üst düzey açıklamalardan araçlar tarafından oluşturulur.
Neden Önemli
- **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 çalışması için ideal noktadır
Görev
Yapılacaklar:
- Bu kodu çalıştır ve aynı işlemin üç farklı düzeyde nasıl tanımlandığını gö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.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüKarşılaştırma OperatörleriTekrar - Basit MatematikBit Düzeyi Operatörleri7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND, OR ve NOT KapılarıXOR ve XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Verme
If İfadesiIf - ElseTekrar - Basit KarşılaştırıcıCase İfadesiCasex ve CasezTekrar - ALU Tasarımı2Veri Türleri
Wire TürüReg TürüTamsayı ve GerçelVektörlerDizilerParametrelerÖzet - Sinyalleri Tanımlama5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörTekrar - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüTekrar DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiTekrar - Döngü Kalıpları3Sayı Sistemi
İkili GösterimBoyutlu SayılarBoyutsuz SayılarNegatif SayılarÖzel X ve Z DeğerleriTekrar - Sayı Biçimleri6Modüller
Modül YapısıGiriş ve Çıkış PortlarıÇift Yönlü PortlarModül ÖrneklendirmeAda Göre Port EşlemeSıraya Göre Port EşlemeTekrar - Bir Modül Oluşturma9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiBloklayıcı AtamaBloklamayan AtamaTekrar - Always ve Initial Karşılaştırması15Trafik Işığı Denetleyicisi
Durumları TanımlamaDurum Makinesi MantığıKendi başına pratik yap: Online Verilog derleyicisi