Die Logik entwerfen
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 44 von 90.
Aufgabe
Die Logik zu entwerfen bedeutet herauszufinden, welche Gleichungen die Schaltung basierend auf der Wahrheitstabelle benötigt.
Wahrheitstabelle:
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Schritt 2: Finde das Muster für sum
- sum = 1, wenn a=0,b=1 oder a=1,b=0
- sum = 1, wenn a und b unterschiedlich sind
- Unterschiedlich = XOR →
sum = a ^ b
Schritt 3: Finde das Muster für carry
- carry = 1 nur, wenn a=1 und b=1
- Beide = AND →
carry = a & b
Schritt 4: Schreibe die Gleichungen
sum = a ^ b
carry = a & b
Was zu tun ist:
Deine Aufgabe ist es, die fehlenden Logikgleichungen innerhalb des Moduls hinzuzufügen.
1. Füge eine assign-Anweisung für sum hinzu (a XOR b)
2. Füge eine assign-Anweisung für carry hinzu (a AND b)
Probier es selbst
module half_adder (
input a,
input b,
output sum,
output carry
);
endmoduleAlle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareIhr erstes ModulKommentareAbstraktionsebenen des Designs4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – einfache MathematikBitweise Operatoren7Zuweisungen und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-GrundelementeUND-, ODER- und NICHT-GatterXOR- und XNOR-GatterRückblick – Logikgatter-Schaltung10Entscheidungsfindung
If-AnweisungIf – ElseRückblick – Einfacher KomparatorCase-AnweisungCasex und CasezRückblick – ALU-Entwurf13Zeitsteuerung und Verzögerungen
Was sind Verzögerungen?GatterverzögerungenZuweisungsverzögerungenTimescale-DirektiveTakterzeugungZusammenfassung – Zeitsteuerung2Datentypen
Wire-TypReg-TypInteger und RealVektorenArraysParameterZusammenfassung – Signale deklarieren5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenSchiebeoperatorenVerkettungsoperatorBedingter OperatorRückblick – Operatoren-Herausforderung11Schleifen
For-SchleifeWhile-SchleifeWiederholungsschleifeEndlosschleifeAnweisung deaktivierenRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit fester BreiteZahlen ohne feste BreiteNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturInput- und Output-PortsInout-PortsModulinstanziierungPortzuordnung nach NamenPortzuordnung nach ReihenfolgeRückblick – Ein Modul erstellenÜbe selbstständig: Online-Verilog-Compiler