Schritt 3: Möglichkeiten der Mux Code
Der erste Weg zu einem Mux verhaltensrelevanten code ist mit der "?:" Auswahloperator. Diese Methode ist am besten analog zu der If Anweisung. Die Art, wie, die ich las es I0 Y zuweisen, wenn die Anweisung in Klammern stimmt, sonst tun die Dinge nach dem Doppelpunkt, und so weiter.
1 weisen Sie Y = (Sel == 2' d0)? I0:)
2 (Sel == 2' d1)? I1:)
3 (Sel == 2' d2)? I2: I3
4)
(5);
Die zweite Möglichkeit, ein Mux-code ist durch die Verwendung einer immer zusammen mit einer "If"-Anweisung zu blockieren. Jedoch als Y zugewiesen einer immer blockieren, Y muss deklariert werden, wie geben Sie reg.
1 Reg [1:0] Y;
2
3 immer @ (Sel, I0, I1, I2, I3)
4 beginnen
5 If (Sel == 2' d0) 6 Y = I0;
7 ElseIf (Sel == 2' d1)
8 Y = I1;
9 ElseIf (Sel == 2' d2)
10 Y = I2;
11 andere 12 Y = I3;
13 Ende
Der dritte lässt sich ein Mux-code mithilfe einer immer zusammen mit einer Erklärung der "Fall" blockieren.
1 Reg [1:0] Y;
2
3 immer @ (Sel, I0, I1, I2, I3)
4 beginnen
5 Fall (Sel)
6 2' d0:
7 Y = I0;
8 2' d1:
9 Y = I1;
10 2' d2:
11 Y = I2;
12 2' d3:
13 Y = I3;
14 Standard: 15 Y = 2' d0;
16 endcase
17 Ende
Zu guter Letzt eine XDC-Datei erstellen und folgende Zuordnungen:
-I0 [0], SW0, I0 [1], SW1
-I1 [0], SW2, I1 [1], SW3
-I2 [0], SW4, I2 [1], SW5
-I3 [1], SW6, I3 [2], SW7
-Sel [0], BTN0, Sel [1] zu BTN1
-Y [0], LED0, LED1 Y [1]