FreeCalypso > hg > fc-small-hw
annotate duart28c/src/vsrc/application_block.v @ 71:31c8b1291b4a
lunalcd3 project started
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 18 Nov 2021 04:59:47 +0000 |
parents | 5bdd24aae51e |
children |
rev | line source |
---|---|
46
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This module encapsulates the application function of our board: |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * dual UART with 2.8V outputs. |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 module application_block (GND, P_3V3, P_2V8, ADBUS, BDBUS); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 input GND, P_3V3, P_2V8; |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 inout [7:0] ADBUS, BDBUS; |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 /* 2.8V output wires */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 wire TxD_2V8_before_R, RTS_2V8_before_R, DTR_2V8_before_R, TxD2_2V8_before_R; |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 wire TxD_2V8_after_R, RTS_2V8_after_R, DTR_2V8_after_R, TxD2_2V8_after_R; |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 /* input signal wires */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 wire RxD_in, CTS_in, DSR_in, DCD_in, RI_in, RxD2_in; |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 /* output buffers */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 buffer_ic_common output_buf_common (.Vcc(P_2V8), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 .GND(GND), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 .nOE1(GND), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 .nOE2(GND) |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 ); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 capacitor output_buf_bypass_cap (P_2V8, GND); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 buffer_ic_slot buf_TxD (.A(ADBUS[0]), .Y(TxD_2V8_before_R)); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 buffer_ic_slot buf_RTS (.A(ADBUS[2]), .Y(RTS_2V8_before_R)); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 buffer_ic_slot buf_DTR (.A(ADBUS[4]), .Y(DTR_2V8_before_R)); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 buffer_ic_slot buf_TxD2 (.A(BDBUS[0]), .Y(TxD2_2V8_before_R)); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 buffer_ic_slot unused_output_buf1 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 buffer_ic_slot unused_output_buf2 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 buffer_ic_slot unused_output_buf3 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 buffer_ic_slot unused_output_buf4 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 /* output series resistors */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 resistor TxD_series_R (TxD_2V8_before_R, TxD_2V8_after_R); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 resistor RTS_series_R (RTS_2V8_before_R, RTS_2V8_after_R); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 resistor DTR_series_R (DTR_2V8_before_R, DTR_2V8_after_R); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 resistor TxD2_series_R (TxD2_2V8_before_R, TxD2_2V8_after_R); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 /* input buffers */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 buffer_ic_common input_buf_common (.Vcc(P_3V3), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 .GND(GND), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 .nOE1(GND), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 .nOE2(GND) |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 ); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 capacitor input_buf_bypass_cap (P_3V3, GND); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 buffer_ic_slot buf_RxD (.A(RxD_in), .Y(ADBUS[1])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 buffer_ic_slot buf_CTS (.A(CTS_in), .Y(ADBUS[3])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 buffer_ic_slot buf_DSR (.A(DSR_in), .Y(ADBUS[5])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 buffer_ic_slot buf_DCD (.A(DCD_in), .Y(ADBUS[6])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 buffer_ic_slot buf_RI (.A(RI_in), .Y(ADBUS[7])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 buffer_ic_slot buf_RxD2 (.A(RxD2_in), .Y(BDBUS[1])); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 buffer_ic_slot unused_input_buf1 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 buffer_ic_slot unused_input_buf2 (.A(GND), .Y()); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 /* input pull-up resistors */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 resistor RxD_pullup (RxD_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 resistor CTS_pullup (CTS_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 resistor DSR_pullup (DSR_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 resistor DCD_pullup (DCD_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 resistor RI_pullup (RI_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 resistor RxD2_pullup (RxD2_in, P_2V8); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /* target interface headers */ |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 target_if target_if ( .GND(GND), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 .UART0_TxD(TxD_2V8_after_R), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 .UART0_RxD(RxD_in), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 .UART0_RTS(RTS_2V8_after_R), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 .UART0_CTS(CTS_in), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 .UART0_DTR(DTR_2V8_after_R), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 .UART0_DSR(DSR_in), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 .UART0_DCD(DCD_in), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 .UART0_RI(RI_in), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 .UART1_TxD(TxD2_2V8_after_R), |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 .UART1_RxD(RxD2_in) |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 ); |
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 |
50
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
92 /* DUART28C boot control addition */ |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
93 |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
94 boot_ctrl bctl (.GND(GND), |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
95 .P_3V3(P_3V3), |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
96 .ChanB_RTS(BDBUS[2]), |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
97 .ChanB_DTR(BDBUS[4]) |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
98 ); |
5bdd24aae51e
duart28c: new parts added to netlist
Mychaela Falconia <falcon@freecalypso.org>
parents:
46
diff
changeset
|
99 |
46
d80978bd645e
duart28c: started with a copy from duart28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 endmodule |