Projekt 6: Ett enkelt meddelande System (4 / 4 steg)
Steg 4: Skapa en Wrapper som översta nivå modulen
I detta steg ska vi skapa den högsta nivån modul, där en mux och en de-mux skall instansieras och ordentligt anslutna för att bilda en enkel tid multiplexing kommunikationssystem. Systemet diagrammet visas i Fig. 3 ovan.
I blockdiagram, input/output portar för modul wrapper är i grönt; input/output portar för modul mux och demux visas i svart kursiv; och inre binda av wrapper modul i lila.
I projektet, skapa en ny Verilog modul arkivera benämn wrapper med 4 data ingångar (I3, I2, I1, I0), 2 Välj ingångar (S1, S0) och fyra utgångar (Y3, Y2, Y1, Y0).
() 1 modul wrapper
2 I0, I1, I2, I3, S0, S1, Y0, Y1, Y2, Y3
3).
4
5 mata in I3, I2, I1, I0, S1, S0;
6 utgång Y0, Y1, Y2, Y3;
7
8 / / strukturell beskrivning av wrapper
9
10 endmodule
Förklara internt tråd sdata efter ingångs- och deklaration.
1 tråd sdata;
Initiera de-mux (namngivna output_demux) och anslutande ledningar i omslag till i/o-portar för de-mux.
output_demux () 1 demux
2. En(sdata),
3. I1(S1),
4. I0(S0),
5. Y0(Y0),
6. Y1(Y1),
7. Y2(Y2),
8. Y3(Y3)
9).
Satt allt ihop. Den översta nivån Verilog modul kommer att vara följande:
() 1 modul wrapper
2 I0, I1, I2, I3, S0, S1, Y0, Y1, Y2, Y3
3).
4
5 mata in I3, I2, I1, I0, S1, S0;
6 utgång Y0, Y1, Y2, Y3;
7
8 / / strukturell beskrivning av wrapper
9 tråd sdata;
10
11 mux () input_mux
12. I3(I3),
13. I2(I2),
14. I1(I1),
15. I0(I0),
16. S1(S1),
17. S0(S0),
18. Y(sdata)
19).
20
(output_demux) 21 demux
22. En(sdata),
23. I1(S1),
24. I0(S0),
25. Y0(Y0),
26. Y1(Y1),
27. Y2(Y2),
28. Y3(Y3)
29);
30
31 endmodule
Skapa en XDC fil enligt följande:
-I3 till SW3; I2 till SW2, I1 till SW1, I0 till SW0
-Y3 till LED3; Y2 till LED2, Y1 till LED1, Y0 till LED0
-S1 till Knp1, S0 till BTN0