If - Else
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası. Ders 53 / 90.
if-else ifadesi, bir koşula göre iki farklı eylem arasından seçim yapmanı sağlar. Koşul doğruysa bir blok yürütülür. Yanlışsa diğer blok yürütülür.
if-else ifadesi koduna bir karar noktası sağlar: koşul doğruysa bir şey yap, koşul yanlışsa başka bir şey yap.
Sözdizimi:
if (condition) begin
// condition true (1) olduğunda çalışır
end else begin
// condition false (0) olduğunda çalışır
endBasit Örnek
if (reset) begin
count = 0;
end else begin
count = count + 1;
endreset1 ise →count0 olurreset0 ise →count1 artar
Birden Çok İfade
Birden fazla statement olduğunda begin ve end kullanın:
if (enable) begin
out = data_in;
valid = 1;
end else begin
out = 0;
valid = 0;
endBirden Çok Koşullu If-Else
if-else ifadelerini zincirleyebilirsin:
if (a > b) begin
max = a;
end else if (b > a) begin
max = b;
end else begin
max = a; // a ve b eşittir
endÖnemli Kurallar
| Kural | Açıklama |
|---|---|
else isteğe bağlıdır | else olmadan if kullanabilirsin |
else en yakın if ifadesine aittir | İç içe kullanımlara dikkat et |
Birden fazla ifade için begin/end kullan | Birden fazla satır için gereklidir |
Görev
Yapılacaklar:
- Eksik
if-elseifadesini ekleyerek bunun çalışmasını sağlayın. enable1 olduğunda,outa & bdeğerine eşit olmalıdır.enable0 olduğunda,outa | bdeğerine eşit olmalıdır.
Kendin dene
module ifelse_challenge;
reg a, b, enable;
reg out;
initial begin
a = 1;
b = 0;
enable = 1;
// TODO: if-else ifadesi ekle
// Eğer enable 1 ise: out = a & b
// Aksi halde: out = a | b
$display("out = %d (should be 0 because 1&0=0)", out);
$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