Binäre Darstellung
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 13 von 90.
In Verilog arbeiten wir mit digitalen Schaltungen, die nur 0 und 1 verstehen. Diese werden binär dargestellt.
Binär verwendet nur zwei Ziffern: 0 und 1. Jede Binärziffer wird als Bit bezeichnet.
| Dezimal | Binär | Bits |
|---|---|---|
| 0 | 0 | 1 Bit |
| 1 | 1 | 1 Bit |
| 2 | 10 | 2 Bits |
| 3 | 11 | 2 Bits |
| 4 | 100 | 3 Bits |
| 5 | 101 | 3 Bits |
Binärzahlen in Verilog schreiben
Um Binärzahlen in Verilog zu schreiben, verwenden Sie das Präfix 'b:
4'b1010 // 4-Bit binär 1010 (dezimal 10)
8'b11110000 // 8-Bit binär 11110000 (dezimal 240)
2'b01 // 2-Bit binär 01 (dezimal 1)Die Zahl vor 'b gibt Verilog an, wie viele Bits der Wert hat.
Wie man Dezimalzahlen in Binärzahlen umwandelt
Teilen Sie die Dezimalzahl wiederholt durch 2 und lesen Sie die Reste von unten nach oben.
Beispiel: 9 in Binär umwandeln
| Schritt | Division | Quotient | Rest |
|---|---|---|---|
| 1 | 9 ÷ 2 | 4 | 1 |
| 2 | 4 ÷ 2 | 2 | 0 |
| 3 | 2 ÷ 2 | 1 | 0 |
| 4 | 1 ÷ 2 | 0 | 1 |
Lies die Reste von hinten nach vorne: 1001
9 = 4'b1001
Beispiel im Code
module binary_example;
reg [3:0] a;
initial begin
a = 4'b1010; // Binär 1010 = Dezimal 10
$display("a = %b (binary)", a);
$display("a = %d (decimal)", a);
$display("a = %h (hex)", a);
$finish;
end
endmoduleAusgabe:
a = 1010 (binary)
a = 10 (decimal)
a = a (hex)Aufgabe
Vervollständige den Code, indem du die fehlenden Binärwerte schreibst.
Was zu tun ist:
- Schreibe den Binärwert für die Dezimalzahl 5 (4 Bits)
- Schreibe den Binärwert für die Dezimalzahl 14 (4 Bits)
Spickzettel
Binär verwendet nur 0 und 1. Jede Ziffer ist ein Bit.
Schreiben Sie Binärzahlen in Verilog mit dem Präfix 'b — die Zahl davor gibt die Bitbreite an:
4'b1010 // 4-Bit binär = dezimal 10
8'b11110000 // 8-Bit binär = dezimal 240Anzeigeformate: %b (binär), %d (dezimal), %h (hex).
Dezimal zu binär: wiederholt durch 2 teilen, Reste von unten nach oben lesen.
// 9 ÷ 2 → 4 R1 → 2 R0 → 1 R0 → 0 R1 ⟹ 1001
// 9 = 4'b1001Probier es selbst
module binary_challenge;
reg [3:0] a, b;
initial begin
// Schreibe den Binärwert für dezimal 5 (4 Bits)
a = 4'b______;
// Write binary for decimal 14 (4 bits)
b = 4'b______;
$display("5 = %b", a);
$display("14 = %b", b);
$finish;
end
endmoduleDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareAbstraktionsebenen im DesignDein erstes ModulKommentare4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – Einfache MathematikBitweise Operatoren7Zuweisung und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-PrimitiveAND OR NOT GatterXOR XNOR GatterZusammenfassung - Logikgatterschaltung10Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher KomparatorCase-AnweisungCasex und CasezWiederholung - ALU-Design5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenShift-OperatorenVerkettungsoperatorBedingter OperatorZusammenfassung – Operator-Challenge11Schleifen
For-SchleifeWhile-SchleifeRepeat-SchleifeEndlosschleifeDisable-AnweisungRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit GrößenangabeZahlen ohne GrößenangabeNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturEingangs- und Ausgangs-PortsInout-PortsModul-InstanziierungPort-Mapping nach NamePort-Mapping nach ReihenfolgeZusammenfassung – Ein Modul erstellen