Tasarım Soyutlama Düzeyleri
Coddy'nin Verilog Journey'sinin Temeller 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!
Seviyeler şunlardır:
Seviye 1: Behavioral
Bu seviye devrenin bunu nasıl yaptığını değil, ne yaptığını açıklar. "count up" veya "add two numbers" gibi işleve 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, data'nın yazmaçlar arasında nasıl hareket ettiğini ve bu data üzerinde hangi işlemlerin gerçekleştiğini gösterir. Data yolunu görebilirsin: data 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.
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ö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.
Temeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicKendi başına pratik yap: Online Verilog derleyicisi