Verilog Operatoren: Arithmetik & Control für Synthese
Datenverarbeitung erfordert Berechnungen in digitalen Schaltungen. Verilog-Operatoren ermöglichen Synthese-Tools, passende Hardware-Elemente zu generieren.
Arithmetische Operatoren
| Operator | Beschreibung |
|---|---|
a + b | Addition |
a - b | Subtraktion |
a * b | Multiplikation |
a / b | Division (2. Operand 0 → X) |
a % b | Modulo (2. Operand 0 → X) |
a ** b | Potenz (2. Operand 0 → 1; Real-Operand → Real-Ergebnis) |
module des;
reg [7:0] data1, data2;
initial begin
data1 = 45; data2 = 9;
$display("Add + = %d", data1 + data2); // 54
$display("Sub - = %d", data1 - data2); // 36
$display("Mul * = %d", data1 * data2); // 149
$display("Div / = %d", data1 / data2); // 5
$display("Mod % = %d", data1 % data2); // 0
$display("Pow ** = %d", data2 ** 2); // 81
end
endmodule
Relationale Operatoren
Ergebnis: 1 (true) oder 0 (false). Operand X/Z → Ergebnis X. Niedrigere Präzedenz als arithmetisch. Alle gleiche Präzedenz.
| Operator | Beschreibung |
|---|---|
a < b | kleiner |
a > b | größer |
a <= b | kleiner-gleich |
a >= b | größer-gleich |
Gleichheitsoperatoren (Equality Operators)
Gleiche Präzedenz untereinander, niedriger als Relational. Ergebnis 1/0. Bei logischer Gleichheit (==, !=) mit X/Z Operand → Ergebnis X. Case-Gleichheit (===, !==) matcht inklusive X/Z → immer bekannter Wert (0/1).
| Operator | Beschreibung |
|---|---|
a === b | gleich inkl. x/z |
a !== b | ungleich inkl. x/z |
a == b | gleich, Ergebnis kann X sein |
a != b | ungleich, Ergebnis kann X sein |
Logische Operatoren
&& (AND): 1 wenn beide Operanden true/non-zero. || (OR): 1 wenn einer true/non-zero. Operand X → Ergebnis X. ! (NOT): non-zero→0, zero→1, X→X.
| Operator | Beschreibung |
|---|---|
a && b | true wenn a UND b true |
a || b | true wenn a ODER b true |
!a | non-zero→0, zero→1, X→X |
Bitweise Operatoren
Kombinieren korrespondierende Bits zweier Operanden. Truth Tables für & (AND) und | (OR) mit 0,1,x,z.
Shift Operatoren
Zwei Arten:
- Logical Shift:
<<und>> - Arithmetic Shift:
<<<und>>(Sign-Erhalt bei Right-Shift)
Beispiel: Left/Right Shift von 8-Bit Werten, Simulation zeigt Bit-Verschiebung.
Verilog
- C# Operatoren – Umfassender Leitfaden zu Operatoren in C#
- Verilog meistern: Komplettes Tutorial für digitales Schaltungsdesign
- Verilog Concatenation meistern: Praktischer Leitfaden
- Verilog Assignments verstehen: Typen, Syntax und Best Practices
- Verilog Blocking vs. Non-Blocking: Wichtige Unterschiede erklärt
- Verilog Functions meistern für effizientes RTL-Design
- Verilog Tasks verstehen: Functions vs. Tasks, Syntax und Verwendung
- Verilog Clock Generator: Design & Implementierungsleitfaden
- Verilog Math Functions meistern für effizientes Hardware-Design
- Verilog $timeformat meistern: Präzision und Anzeigesteuerung