1 |
6 |
root |
// Workview VERILOG Netlister - V6.2
|
2 |
|
|
// Wednesday February 5, 2003 - 12:28 pm
|
3 |
|
|
// Design name: 1
|
4 |
|
|
// Options : -b -locAll -upcAll -n -v2 -oprocessor.v -mixedcase
|
5 |
|
|
// Levels : xilinx
|
6 |
|
|
|
7 |
|
|
module REG5 (CLK, EN, I, O, RES);
|
8 |
|
|
FDRE X1I1 (.C(CLK), .CE(EN), .D(I[4]), .Q(O[4]), .R(RES));
|
9 |
|
|
FDRE X1I2 (.C(CLK), .CE(EN), .D(I[3]), .Q(O[3]), .R(RES));
|
10 |
|
|
FDRE X1I3 (.C(CLK), .CE(EN), .D(I[2]), .Q(O[2]), .R(RES));
|
11 |
|
|
FDRE X1I4 (.C(CLK), .CE(EN), .D(I[1]), .Q(O[1]), .R(RES));
|
12 |
|
|
FDRE X1I5 (.C(CLK), .CE(EN), .D(I[0]), .Q(O[0]), .R(RES));
|
13 |
|
|
|
14 |
|
|
endmodule // REG5
|
15 |
|
|
|
16 |
|
|
module M2_1 (.D0(D[0]), .D1(D[1]), O, S0);
|
17 |
|
|
output O;
|
18 |
|
|
input S0;
|
19 |
|
|
input [1:0] D;
|
20 |
|
|
wire [15:0] O, I, Q, D;
|
21 |
|
|
wire [7:0] DPO, SPO;
|
22 |
|
|
wire M0, M1;
|
23 |
|
|
AND2B1 X1I7 (.I0(S0), .I1(D[0]), .O(M0));
|
24 |
|
|
OR2 X1I8 (.I0(M1), .I1(M0), .O(O));
|
25 |
|
|
AND2 X1I9 (.I0(D[1]), .I1(S0), .O(M1));
|
26 |
|
|
|
27 |
|
|
endmodule // M2_1
|
28 |
|
|
|
29 |
|
|
module M2_1X5 (A, B, O, SB);
|
30 |
|
|
M2_1 X1I60 (.D0(A[4]), .D1(B[4]), .O(O[4]), .S0(SB));
|
31 |
|
|
M2_1 X1I61 (.D0(A[3]), .D1(B[3]), .O(O[3]), .S0(SB));
|
32 |
|
|
M2_1 X1I62 (.D0(A[2]), .D1(B[2]), .O(O[2]), .S0(SB));
|
33 |
|
|
M2_1 X1I63 (.D0(A[1]), .D1(B[1]), .O(O[1]), .S0(SB));
|
34 |
|
|
M2_1 X1I64 (.D0(A[0]), .D1(B[0]), .O(O[0]), .S0(SB));
|
35 |
|
|
|
36 |
|
|
endmodule // M2_1X5
|
37 |
|
|
|
38 |
|
|
module XOR32_32_32 (A, B, O);
|
39 |
|
|
XNOR2 X1I107 (.I0(B[16]), .I1(A[16]), .O(O[16]));
|
40 |
|
|
XNOR2 X1I108 (.I0(B[17]), .I1(A[17]), .O(O[17]));
|
41 |
|
|
XNOR2 X1I109 (.I0(B[19]), .I1(A[19]), .O(O[19]));
|
42 |
|
|
XNOR2 X1I110 (.I0(B[18]), .I1(A[18]), .O(O[18]));
|
43 |
|
|
XNOR2 X1I111 (.I0(B[22]), .I1(A[22]), .O(O[22]));
|
44 |
|
|
XNOR2 X1I112 (.I0(B[23]), .I1(A[23]), .O(O[23]));
|
45 |
|
|
XNOR2 X1I113 (.I0(B[21]), .I1(A[21]), .O(O[21]));
|
46 |
|
|
XNOR2 X1I114 (.I0(B[20]), .I1(A[20]), .O(O[20]));
|
47 |
|
|
XNOR2 X1I123 (.I0(B[8]), .I1(A[8]), .O(O[8]));
|
48 |
|
|
XNOR2 X1I124 (.I0(B[9]), .I1(A[9]), .O(O[9]));
|
49 |
|
|
XNOR2 X1I125 (.I0(B[11]), .I1(A[11]), .O(O[11]));
|
50 |
|
|
XNOR2 X1I126 (.I0(B[10]), .I1(A[10]), .O(O[10]));
|
51 |
|
|
XNOR2 X1I127 (.I0(B[14]), .I1(A[14]), .O(O[14]));
|
52 |
|
|
XNOR2 X1I128 (.I0(B[15]), .I1(A[15]), .O(O[15]));
|
53 |
|
|
XNOR2 X1I129 (.I0(B[13]), .I1(A[13]), .O(O[13]));
|
54 |
|
|
XNOR2 X1I130 (.I0(B[12]), .I1(A[12]), .O(O[12]));
|
55 |
|
|
XNOR2 X1I139 (.I0(B[0]), .I1(A[0]), .O(O[0]));
|
56 |
|
|
XNOR2 X1I140 (.I0(B[1]), .I1(A[1]), .O(O[1]));
|
57 |
|
|
XNOR2 X1I141 (.I0(B[3]), .I1(A[3]), .O(O[3]));
|
58 |
|
|
XNOR2 X1I142 (.I0(B[2]), .I1(A[2]), .O(O[2]));
|
59 |
|
|
XNOR2 X1I143 (.I0(B[6]), .I1(A[6]), .O(O[6]));
|
60 |
|
|
XNOR2 X1I144 (.I0(B[7]), .I1(A[7]), .O(O[7]));
|
61 |
|
|
XNOR2 X1I145 (.I0(B[5]), .I1(A[5]), .O(O[5]));
|
62 |
|
|
XNOR2 X1I146 (.I0(B[4]), .I1(A[4]), .O(O[4]));
|
63 |
|
|
XNOR2 X1I91 (.I0(B[24]), .I1(A[24]), .O(O[24]));
|
64 |
|
|
XNOR2 X1I92 (.I0(B[25]), .I1(A[25]), .O(O[25]));
|
65 |
|
|
XNOR2 X1I93 (.I0(B[27]), .I1(A[27]), .O(O[27]));
|
66 |
|
|
XNOR2 X1I94 (.I0(B[26]), .I1(A[26]), .O(O[26]));
|
67 |
|
|
XNOR2 X1I95 (.I0(B[30]), .I1(A[30]), .O(O[30]));
|
68 |
|
|
XNOR2 X1I96 (.I0(B[31]), .I1(A[31]), .O(O[31]));
|
69 |
|
|
XNOR2 X1I97 (.I0(B[29]), .I1(A[29]), .O(O[29]));
|
70 |
|
|
XNOR2 X1I98 (.I0(B[28]), .I1(A[28]), .O(O[28]));
|
71 |
|
|
|
72 |
|
|
endmodule // XOR32_32_32
|
73 |
|
|
|
74 |
|
|
module AND16 (I0, I1, I10, I11, I12, I13, I14, I15, I2, I3, I4, I5, I6, I7,
|
75 |
|
|
I8, I9, O);
|
76 |
|
|
output O;
|
77 |
|
|
input I9, I8, I7, I6, I5, I4, I3, I2, I15, I14, I13, I12, I11, I10, I1, I0
|
78 |
|
|
;
|
79 |
|
|
wire S0, S1, S2, S3;
|
80 |
|
|
AND4 X1I110 (.I0(I0), .I1(I1), .I2(I2), .I3(I3), .O(S0));
|
81 |
|
|
AND4 X1I127 (.I0(I4), .I1(I5), .I2(I6), .I3(I7), .O(S1));
|
82 |
|
|
AND4 X1I151 (.I0(I8), .I1(I9), .I2(I10), .I3(I11), .O(S2));
|
83 |
|
|
AND4 X1I161 (.I0(I12), .I1(I13), .I2(I14), .I3(I15), .O(S3));
|
84 |
|
|
AND4 X1I178 (.I0(S0), .I1(S1), .I2(S2), .I3(S3), .O(O));
|
85 |
|
|
|
86 |
|
|
endmodule // AND16
|
87 |
|
|
|
88 |
|
|
module AND32 (I, O);
|
89 |
|
|
wire X1N4, X1N5;
|
90 |
|
|
AND16 X1I1 (.I0(I[16]), .I1(I[17]), .I10(I[26]), .I11(I[27]), .I12(I[28])
|
91 |
|
|
, .I13(I[29]), .I14(I[30]), .I15(I[31]), .I2(I[18]), .I3(I[19]), .I4
|
92 |
|
|
(I[20]), .I5(I[21]), .I6(I[22]), .I7(I[23]), .I8(I[24]), .I9(I[25]), .O
|
93 |
|
|
(X1N4));
|
94 |
|
|
AND16 X1I2 (.I0(I[15]), .I1(I[14]), .I10(I[5]), .I11(I[4]), .I12(I[3]),
|
95 |
|
|
.I13(I[2]), .I14(I[1]), .I15(I[0]), .I2(I[13]), .I3(I[12]), .I4(I[11]),
|
96 |
|
|
.I5(I[10]), .I6(I[9]), .I7(I[8]), .I8(I[7]), .I9(I[6]), .O(X1N5));
|
97 |
|
|
AND2 X1I3 (.I0(X1N5), .I1(X1N4), .O(O));
|
98 |
|
|
|
99 |
|
|
endmodule // AND32
|
100 |
|
|
|
101 |
|
|
module MUX2_1X32 (A, B, SB, S);
|
102 |
|
|
output [31:0] S;
|
103 |
|
|
input [31:0] B;
|
104 |
|
|
input [31:0] A;
|
105 |
|
|
M2_1 X1I100 (.D0(A[17]), .D1(B[17]), .O(S[17]), .S0(SB));
|
106 |
|
|
M2_1 X1I101 (.D0(A[21]), .D1(B[21]), .O(S[21]), .S0(SB));
|
107 |
|
|
M2_1 X1I102 (.D0(A[20]), .D1(B[20]), .O(S[20]), .S0(SB));
|
108 |
|
|
M2_1 X1I103 (.D0(A[22]), .D1(B[22]), .O(S[22]), .S0(SB));
|
109 |
|
|
M2_1 X1I104 (.D0(A[23]), .D1(B[23]), .O(S[23]), .S0(SB));
|
110 |
|
|
M2_1 X1I105 (.D0(A[15]), .D1(B[15]), .O(S[15]), .S0(SB));
|
111 |
|
|
M2_1 X1I106 (.D0(A[14]), .D1(B[14]), .O(S[14]), .S0(SB));
|
112 |
|
|
M2_1 X1I107 (.D0(A[12]), .D1(B[12]), .O(S[12]), .S0(SB));
|
113 |
|
|
M2_1 X1I108 (.D0(A[13]), .D1(B[13]), .O(S[13]), .S0(SB));
|
114 |
|
|
M2_1 X1I109 (.D0(A[9]), .D1(B[9]), .O(S[9]), .S0(SB));
|
115 |
|
|
M2_1 X1I110 (.D0(A[8]), .D1(B[8]), .O(S[8]), .S0(SB));
|
116 |
|
|
M2_1 X1I111 (.D0(A[10]), .D1(B[10]), .O(S[10]), .S0(SB));
|
117 |
|
|
M2_1 X1I112 (.D0(A[11]), .D1(B[11]), .O(S[11]), .S0(SB));
|
118 |
|
|
M2_1 X1I117 (.D0(A[7]), .D1(B[7]), .O(S[7]), .S0(SB));
|
119 |
|
|
M2_1 X1I118 (.D0(A[6]), .D1(B[6]), .O(S[6]), .S0(SB));
|
120 |
|
|
M2_1 X1I119 (.D0(A[4]), .D1(B[4]), .O(S[4]), .S0(SB));
|
121 |
|
|
M2_1 X1I12 (.D0(A[31]), .D1(B[31]), .O(S[31]), .S0(SB));
|
122 |
|
|
M2_1 X1I120 (.D0(A[5]), .D1(B[5]), .O(S[5]), .S0(SB));
|
123 |
|
|
M2_1 X1I121 (.D0(A[1]), .D1(B[1]), .O(S[1]), .S0(SB));
|
124 |
|
|
M2_1 X1I122 (.D0(A[0]), .D1(B[0]), .O(S[0]), .S0(SB));
|
125 |
|
|
M2_1 X1I123 (.D0(A[2]), .D1(B[2]), .O(S[2]), .S0(SB));
|
126 |
|
|
M2_1 X1I124 (.D0(A[3]), .D1(B[3]), .O(S[3]), .S0(SB));
|
127 |
|
|
M2_1 X1I13 (.D0(A[30]), .D1(B[30]), .O(S[30]), .S0(SB));
|
128 |
|
|
M2_1 X1I14 (.D0(A[28]), .D1(B[28]), .O(S[28]), .S0(SB));
|
129 |
|
|
M2_1 X1I15 (.D0(A[29]), .D1(B[29]), .O(S[29]), .S0(SB));
|
130 |
|
|
M2_1 X1I16 (.D0(A[25]), .D1(B[25]), .O(S[25]), .S0(SB));
|
131 |
|
|
M2_1 X1I17 (.D0(A[24]), .D1(B[24]), .O(S[24]), .S0(SB));
|
132 |
|
|
M2_1 X1I18 (.D0(A[26]), .D1(B[26]), .O(S[26]), .S0(SB));
|
133 |
|
|
M2_1 X1I19 (.D0(A[27]), .D1(B[27]), .O(S[27]), .S0(SB));
|
134 |
|
|
M2_1 X1I97 (.D0(A[19]), .D1(B[19]), .O(S[19]), .S0(SB));
|
135 |
|
|
M2_1 X1I98 (.D0(A[18]), .D1(B[18]), .O(S[18]), .S0(SB));
|
136 |
|
|
M2_1 X1I99 (.D0(A[16]), .D1(B[16]), .O(S[16]), .S0(SB));
|
137 |
|
|
|
138 |
|
|
endmodule // MUX2_1X32
|
139 |
|
|
|
140 |
|
|
module MU_TITLE;
|
141 |
|
|
|
142 |
|
|
endmodule // MU_TITLE
|
143 |
|
|
|
144 |
|
|
module CLOCK (CLOCK);
|
145 |
|
|
wire X1N5;
|
146 |
|
|
IPAD X1I3 (.IPAD(X1N5));
|
147 |
|
|
BUFG X1I4 (.I(X1N5), .O(CLOCK));
|
148 |
|
|
MU_TITLE X1I9 ();
|
149 |
|
|
|
150 |
|
|
endmodule // CLOCK
|
151 |
|
|
|
152 |
|
|
module CLOCK (CLK1, CLK2, CLK_50MHZ);
|
153 |
|
|
wire X1N5;
|
154 |
|
|
STARTUP_VIRTEX X1I11 (.CLK(CLK1));
|
155 |
|
|
BUFG X1I53 (.I(X1N5), .O(CLK_50MHZ));
|
156 |
|
|
CLOCK X1I71 (.CLOCK(X1N5));
|
157 |
|
|
BUF X1I72 (.I(X1N5), .O(CLK1));
|
158 |
|
|
MU_TITLE X1I9 ();
|
159 |
|
|
|
160 |
|
|
// WARNING - Component X1I11 has unconnected pins: 2 input, 0 output, 0 inout.
|
161 |
|
|
endmodule // CLOCK
|
162 |
|
|
|
163 |
|
|
module STARTUPRAM (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), D
|
164 |
|
|
, O, WCLK, WE);
|
165 |
|
|
output [31:0] O;
|
166 |
|
|
input WE, WCLK;
|
167 |
|
|
input [4:0] A;
|
168 |
|
|
input [31:0] D;
|
169 |
|
|
wire [4:0] A;
|
170 |
|
|
RAM32X1S X1I100 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
171 |
|
|
(D[25]), .O(O[25]), .WCLK(WCLK), .WE(WE));
|
172 |
|
|
RAM32X1S X1I101 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
173 |
|
|
(D[27]), .O(O[27]), .WCLK(WCLK), .WE(WE));
|
174 |
|
|
RAM32X1S X1I102 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
175 |
|
|
(D[31]), .O(O[31]), .WCLK(WCLK), .WE(WE));
|
176 |
|
|
RAM32X1S X1I103 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
177 |
|
|
(D[30]), .O(O[30]), .WCLK(WCLK), .WE(WE));
|
178 |
|
|
RAM32X1S X1I104 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
179 |
|
|
(D[29]), .O(O[29]), .WCLK(WCLK), .WE(WE));
|
180 |
|
|
RAM32X1S X1I105 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
181 |
|
|
(D[28]), .O(O[28]), .WCLK(WCLK), .WE(WE));
|
182 |
|
|
RAM32X1S X1I106 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
183 |
|
|
(D[26]), .O(O[26]), .WCLK(WCLK), .WE(WE));
|
184 |
|
|
RAM32X1S X1I17 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
185 |
|
|
(D[0]), .O(O[0]), .WCLK(WCLK), .WE(WE));
|
186 |
|
|
RAM32X1S X1I18 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
187 |
|
|
(D[1]), .O(O[1]), .WCLK(WCLK), .WE(WE));
|
188 |
|
|
RAM32X1S X1I19 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
189 |
|
|
(D[3]), .O(O[3]), .WCLK(WCLK), .WE(WE));
|
190 |
|
|
RAM32X1S X1I20 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
191 |
|
|
(D[7]), .O(O[7]), .WCLK(WCLK), .WE(WE));
|
192 |
|
|
RAM32X1S X1I21 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
193 |
|
|
(D[6]), .O(O[6]), .WCLK(WCLK), .WE(WE));
|
194 |
|
|
RAM32X1S X1I22 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
195 |
|
|
(D[5]), .O(O[5]), .WCLK(WCLK), .WE(WE));
|
196 |
|
|
RAM32X1S X1I23 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
197 |
|
|
(D[4]), .O(O[4]), .WCLK(WCLK), .WE(WE));
|
198 |
|
|
RAM32X1S X1I27 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
199 |
|
|
(D[2]), .O(O[2]), .WCLK(WCLK), .WE(WE));
|
200 |
|
|
RAM32X1S X1I37 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
201 |
|
|
(D[10]), .O(O[10]), .WCLK(WCLK), .WE(WE));
|
202 |
|
|
RAM32X1S X1I38 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
203 |
|
|
(D[12]), .O(O[12]), .WCLK(WCLK), .WE(WE));
|
204 |
|
|
RAM32X1S X1I39 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
205 |
|
|
(D[13]), .O(O[13]), .WCLK(WCLK), .WE(WE));
|
206 |
|
|
RAM32X1S X1I40 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
207 |
|
|
(D[14]), .O(O[14]), .WCLK(WCLK), .WE(WE));
|
208 |
|
|
RAM32X1S X1I41 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
209 |
|
|
(D[15]), .O(O[15]), .WCLK(WCLK), .WE(WE));
|
210 |
|
|
RAM32X1S X1I42 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
211 |
|
|
(D[11]), .O(O[11]), .WCLK(WCLK), .WE(WE));
|
212 |
|
|
RAM32X1S X1I43 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
213 |
|
|
(D[9]), .O(O[9]), .WCLK(WCLK), .WE(WE));
|
214 |
|
|
RAM32X1S X1I44 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
215 |
|
|
(D[8]), .O(O[8]), .WCLK(WCLK), .WE(WE));
|
216 |
|
|
RAM32X1S X1I91 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
217 |
|
|
(D[18]), .O(O[18]), .WCLK(WCLK), .WE(WE));
|
218 |
|
|
RAM32X1S X1I92 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
219 |
|
|
(D[20]), .O(O[20]), .WCLK(WCLK), .WE(WE));
|
220 |
|
|
RAM32X1S X1I93 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
221 |
|
|
(D[21]), .O(O[21]), .WCLK(WCLK), .WE(WE));
|
222 |
|
|
RAM32X1S X1I94 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
223 |
|
|
(D[22]), .O(O[22]), .WCLK(WCLK), .WE(WE));
|
224 |
|
|
RAM32X1S X1I95 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
225 |
|
|
(D[23]), .O(O[23]), .WCLK(WCLK), .WE(WE));
|
226 |
|
|
RAM32X1S X1I96 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
227 |
|
|
(D[19]), .O(O[19]), .WCLK(WCLK), .WE(WE));
|
228 |
|
|
RAM32X1S X1I97 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
229 |
|
|
(D[17]), .O(O[17]), .WCLK(WCLK), .WE(WE));
|
230 |
|
|
RAM32X1S X1I98 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
231 |
|
|
(D[16]), .O(O[16]), .WCLK(WCLK), .WE(WE));
|
232 |
|
|
RAM32X1S X1I99 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D
|
233 |
|
|
(D[24]), .O(O[24]), .WCLK(WCLK), .WE(WE));
|
234 |
|
|
|
235 |
|
|
endmodule // STARTUPRAM
|
236 |
|
|
|
237 |
|
|
module FPGA_FLASHDISP (AIN, A, BAR0, BAR1, BAR2, BAR3, BAR4, BAR5, BAR6,
|
238 |
|
|
BAR7, BAR8, DIN, .DIP1(DIP[1]), .DIP2(DIP[2]), .DIP3(DIP[3]), .DIP4
|
239 |
|
|
(DIP[4]), .DIP5(DIP[5]), .DIP6(DIP[6]), .DIP7(DIP[7]), .DIP8(DIP[8]),
|
240 |
|
|
DISPNFLASH, DOE, DOUT, FLASHRDY,
|
241 |
|
|
\LEDLA,LEDLB,LEDLC,LEDLD,LEDLE,LEDLF,LEDLG ,
|
242 |
|
|
.LEDLA,LEDLB,LEDLC,LEDLD,LEDLE,LEDLF,LEDLG
|
243 |
|
|
(\LEDLA,LEDLB,LEDLC,LEDLD,LEDLE,LEDLF,LEDLG ),
|
244 |
|
|
\LEDRA,LEDRB,LEDRC,LEDRD,LEDRE,LEDRF,LEDRG ,
|
245 |
|
|
.LEDRA,LEDRB,LEDRC,LEDRD,LEDRE,LEDRF,LEDRG
|
246 |
|
|
(\LEDRA,LEDRB,LEDRC,LEDRD,LEDRE,LEDRF,LEDRG ), NFLASHCE, NFLASHCEIN,
|
247 |
|
|
NFLASHOE, NFLASHOEIN, NFLASHWE, NFLASHWEIN, NFPGAOE);
|
248 |
|
|
wire [8:1] DIP;
|
249 |
|
|
wire X1N420, X1N114, X1N403, X1N106, X1N404, X1N107, X1N270, X1N126,
|
250 |
|
|
X1N108, X1N271, X1N244, X1N127, X1N118, X1N272, X1N119, X1N408, X1N273,
|
251 |
|
|
X1N427, X1N409, X1N274, X1N247, X1N275, X1N266, X1N276, X1N277, X1N268,
|
252 |
|
|
X1N278, X1N269, X1N279, LEDLA, LEDLB, LEDLC, LEDLD, LEDLE, LEDLF, LEDRA
|
253 |
|
|
, LEDLG, LEDRB, LEDRC, LEDRD, X1N21, LEDRE, LEDRF, X1N50, LEDRG, X1N61,
|
254 |
|
|
X1N43, X1N16, X1N62, X1N44, X1N35, X1N36, X1N18, X1N55, X1N28, X1N56,
|
255 |
|
|
X1N29, X1N76, X1N67, X1N49, X1N86, X1N77, X1N68, X1N96, X1N87, X1N78,
|
256 |
|
|
X1N69, X1N97, X1N88, X1N79, X1N98, X1N89, X1N99;
|
257 |
|
|
M2_1 X1I100 (.D0(DOUT[1]), .D1(LEDLC), .O(X1N99), .S0(DISPNFLASH));
|
258 |
|
|
OBUFT X1I101 (.I(X1N99), .O(X1N98), .T(X1N247));
|
259 |
|
|
IBUF X1I102 (.I(X1N98), .O(DIN[1]));
|
260 |
|
|
IBUF X1I103 (.I(X1N107), .O(DIN[0]));
|
261 |
|
|
OBUFT X1I104 (.I(X1N106), .O(X1N107), .T(X1N247));
|
262 |
|
|
M2_1 X1I105 (.D0(DOUT[0]), .D1(LEDLD), .O(X1N106), .S0(DISPNFLASH));
|
263 |
|
|
M2_1 X1I113 (.D0(A[4]), .D1(LEDRF), .O(X1N114), .S0(DISPNFLASH));
|
264 |
|
|
M2_1 X1I117 (.D0(A[2]), .D1(LEDRG), .O(X1N118), .S0(DISPNFLASH));
|
265 |
|
|
M2_1 X1I120 (.D0(A[3]), .D1(LEDRB), .O(X1N119), .S0(DISPNFLASH));
|
266 |
|
|
M2_1 X1I125 (.D0(A[1]), .D1(LEDRE), .O(X1N126), .S0(DISPNFLASH));
|
267 |
|
|
M2_1 X1I128 (.D0(A[0]), .D1(LEDRC), .O(X1N127), .S0(DISPNFLASH));
|
268 |
|
|
M2_1 X1I143 (.D0(A[5]), .D1(LEDRA), .O(X1N108), .S0(DISPNFLASH));
|
269 |
|
|
IOPAD X1I167 (.IOPAD(X1N279));
|
270 |
|
|
IOPAD X1I168 (.IOPAD(X1N278));
|
271 |
|
|
IOPAD X1I169 (.IOPAD(X1N276));
|
272 |
|
|
IBUF X1I17 (.I(X1N16), .O(FLASHRDY));
|
273 |
|
|
IOPAD X1I170 (.IOPAD(X1N277));
|
274 |
|
|
IOPAD X1I171 (.IOPAD(X1N275));
|
275 |
|
|
IOPAD X1I172 (.IOPAD(X1N274));
|
276 |
|
|
IOPAD X1I173 (.IOPAD(X1N107));
|
277 |
|
|
IOPAD X1I174 (.IOPAD(X1N98));
|
278 |
|
|
IOPAD X1I175 (.IOPAD(X1N88));
|
279 |
|
|
IOPAD X1I176 (.IOPAD(X1N97));
|
280 |
|
|
IOPAD X1I177 (.IOPAD(X1N68));
|
281 |
|
|
IOPAD X1I178 (.IOPAD(X1N77));
|
282 |
|
|
IOPAD X1I179 (.IOPAD(X1N87));
|
283 |
|
|
IOPAD X1I180 (.IOPAD(X1N78));
|
284 |
|
|
IOPAD X1I195 (.IOPAD(X1N50));
|
285 |
|
|
IOPAD X1I196 (.IOPAD(X1N55));
|
286 |
|
|
IOPAD X1I197 (.IOPAD(X1N49));
|
287 |
|
|
IOPAD X1I198 (.IOPAD(X1N44));
|
288 |
|
|
IOPAD X1I199 (.IOPAD(X1N61));
|
289 |
|
|
IOPAD X1I200 (.IOPAD(X1N56));
|
290 |
|
|
IOPAD X1I201 (.IOPAD(X1N62));
|
291 |
|
|
IOPAD X1I202 (.IOPAD(X1N67));
|
292 |
|
|
M2_1 X1I203 (.D0(A[11]), .D1(BAR5), .O(X1N35), .S0(DISPNFLASH));
|
293 |
|
|
IOPAD X1I216 (.IOPAD(X1N273));
|
294 |
|
|
IOPAD X1I217 (.IOPAD(X1N272));
|
295 |
|
|
IOPAD X1I218 (.IOPAD(X1N271));
|
296 |
|
|
IOPAD X1I219 (.IOPAD(X1N270));
|
297 |
|
|
M2_1 X1I22 (.D0(A[7]), .D1(BAR1), .O(X1N21), .S0(DISPNFLASH));
|
298 |
|
|
IOPAD X1I220 (.IOPAD(X1N269));
|
299 |
|
|
IOPAD X1I221 (.IOPAD(X1N268));
|
300 |
|
|
IOPAD X1I222 (.IOPAD(X1N266));
|
301 |
|
|
IPAD X1I223 (.IPAD(X1N16));
|
302 |
|
|
M2_1 X1I226 (.D0(A[12]), .D1(BAR6), .O(X1N18), .S0(DISPNFLASH));
|
303 |
|
|
AND2B1 X1I243 (.I0(DISPNFLASH), .I1(DOE), .O(X1N427));
|
304 |
|
|
OBUFT X1I248 (.I(X1N18), .O(X1N266), .T(NFPGAOE));
|
305 |
|
|
OBUFT X1I249 (.I(X1N35), .O(X1N268), .T(NFPGAOE));
|
306 |
|
|
OBUFT X1I250 (.I(X1N29), .O(X1N269), .T(NFPGAOE));
|
307 |
|
|
OBUFT X1I251 (.I(X1N36), .O(X1N270), .T(NFPGAOE));
|
308 |
|
|
OBUFT X1I252 (.I(X1N43), .O(X1N271), .T(NFPGAOE));
|
309 |
|
|
OBUFT X1I253 (.I(X1N21), .O(X1N272), .T(NFPGAOE));
|
310 |
|
|
OBUFT X1I254 (.I(X1N28), .O(X1N273), .T(NFPGAOE));
|
311 |
|
|
M2_1 X1I27 (.D0(A[6]), .D1(BAR0), .O(X1N28), .S0(DISPNFLASH));
|
312 |
|
|
IBUF X1I297 (.I(X1N266), .O(AIN[12]));
|
313 |
|
|
M2_1 X1I30 (.D0(A[10]), .D1(BAR4), .O(X1N29), .S0(DISPNFLASH));
|
314 |
|
|
IBUF X1I303 (.I(X1N268), .O(AIN[11]));
|
315 |
|
|
IBUF X1I306 (.I(X1N269), .O(AIN[10]));
|
316 |
|
|
IBUF X1I310 (.I(X1N270), .O(AIN[9]));
|
317 |
|
|
IBUF X1I313 (.I(X1N271), .O(AIN[8]));
|
318 |
|
|
IBUF X1I316 (.I(X1N272), .O(AIN[7]));
|
319 |
|
|
IBUF X1I319 (.I(X1N273), .O(AIN[6]));
|
320 |
|
|
OR2 X1I331 (.I0(NFPGAOE), .I1(DISPNFLASH), .O(X1N244));
|
321 |
|
|
OBUFT X1I343 (.I(X1N108), .O(X1N274), .T(NFPGAOE));
|
322 |
|
|
OBUFT X1I344 (.I(X1N114), .O(X1N275), .T(NFPGAOE));
|
323 |
|
|
OBUFT X1I345 (.I(X1N119), .O(X1N277), .T(NFPGAOE));
|
324 |
|
|
OBUFT X1I346 (.I(X1N118), .O(X1N276), .T(NFPGAOE));
|
325 |
|
|
OBUFT X1I347 (.I(X1N126), .O(X1N279), .T(NFPGAOE));
|
326 |
|
|
OBUFT X1I348 (.I(X1N127), .O(X1N278), .T(NFPGAOE));
|
327 |
|
|
IBUF X1I354 (.I(X1N275), .O(AIN[4]));
|
328 |
|
|
IBUF X1I357 (.I(X1N274), .O(AIN[5]));
|
329 |
|
|
IBUF X1I360 (.I(X1N277), .O(AIN[3]));
|
330 |
|
|
IBUF X1I363 (.I(X1N276), .O(AIN[2]));
|
331 |
|
|
IBUF X1I366 (.I(X1N279), .O(AIN[1]));
|
332 |
|
|
IBUF X1I369 (.I(X1N278), .O(AIN[0]));
|
333 |
|
|
M2_1 X1I37 (.D0(A[9]), .D1(BAR3), .O(X1N36), .S0(DISPNFLASH));
|
334 |
|
|
IOPAD X1I394 (.IOPAD(X1N404));
|
335 |
|
|
IBUF X1I395 (.I(X1N404), .O(NFLASHOEIN));
|
336 |
|
|
OBUFT X1I396 (.I(X1N403), .O(X1N404), .T(NFPGAOE));
|
337 |
|
|
M2_1 X1I397 (.D0(NFLASHOE), .D1(BAR7), .O(X1N403), .S0(DISPNFLASH));
|
338 |
|
|
M2_1 X1I412 (.D0(NFLASHWE), .D1(BAR8), .O(X1N409), .S0(DISPNFLASH));
|
339 |
|
|
OBUFT X1I413 (.I(X1N409), .O(X1N408), .T(NFPGAOE));
|
340 |
|
|
IBUF X1I414 (.I(X1N408), .O(NFLASHWEIN));
|
341 |
|
|
IOPAD X1I415 (.IOPAD(X1N408));
|
342 |
|
|
IOPAD X1I417 (.IOPAD(X1N420));
|
343 |
|
|
IBUF X1I418 (.I(X1N420), .O(NFLASHCEIN));
|
344 |
|
|
OBUFT X1I419 (.I(NFLASHCE), .O(X1N420), .T(NFPGAOE));
|
345 |
|
|
M2_1 X1I42 (.D0(A[8]), .D1(BAR2), .O(X1N43), .S0(DISPNFLASH));
|
346 |
|
|
OR2 X1I426 (.I0(NFPGAOE), .I1(X1N427), .O(X1N247));
|
347 |
|
|
BUF X1I431 (.I(DIP[8]), .O(AIN[20]));
|
348 |
|
|
BUF X1I434 (.I(DIP[7]), .O(AIN[19]));
|
349 |
|
|
BUF X1I437 (.I(DIP[6]), .O(AIN[18]));
|
350 |
|
|
BUF X1I440 (.I(DIP[5]), .O(AIN[17]));
|
351 |
|
|
BUF X1I443 (.I(DIP[4]), .O(AIN[16]));
|
352 |
|
|
BUF X1I446 (.I(DIP[3]), .O(AIN[15]));
|
353 |
|
|
BUF X1I449 (.I(DIP[2]), .O(AIN[14]));
|
354 |
|
|
OBUFT X1I45 (.I(A[16]), .O(X1N44), .T(X1N244));
|
355 |
|
|
BUF X1I454 (.I(DIP[1]), .O(AIN[13]));
|
356 |
|
|
IBUF X1I46 (.I(X1N44), .O(DIP[4]));
|
357 |
|
|
IBUF X1I47 (.I(X1N49), .O(DIP[3]));
|
358 |
|
|
OBUFT X1I48 (.I(A[15]), .O(X1N49), .T(X1N244));
|
359 |
|
|
OBUFT X1I51 (.I(A[13]), .O(X1N50), .T(X1N244));
|
360 |
|
|
IBUF X1I52 (.I(X1N50), .O(DIP[1]));
|
361 |
|
|
IBUF X1I53 (.I(X1N55), .O(DIP[2]));
|
362 |
|
|
OBUFT X1I54 (.I(A[14]), .O(X1N55), .T(X1N244));
|
363 |
|
|
OBUFT X1I57 (.I(A[18]), .O(X1N56), .T(X1N244));
|
364 |
|
|
IBUF X1I58 (.I(X1N56), .O(DIP[6]));
|
365 |
|
|
IBUF X1I59 (.I(X1N61), .O(DIP[5]));
|
366 |
|
|
OBUFT X1I60 (.I(A[17]), .O(X1N61), .T(X1N244));
|
367 |
|
|
OBUFT X1I63 (.I(A[19]), .O(X1N62), .T(X1N244));
|
368 |
|
|
IBUF X1I64 (.I(X1N62), .O(DIP[7]));
|
369 |
|
|
IBUF X1I65 (.I(X1N67), .O(DIP[8]));
|
370 |
|
|
OBUFT X1I66 (.I(A[20]), .O(X1N67), .T(X1N244));
|
371 |
|
|
M2_1 X1I70 (.D0(DOUT[4]), .D1(LEDLB), .O(X1N69), .S0(DISPNFLASH));
|
372 |
|
|
OBUFT X1I71 (.I(X1N69), .O(X1N68), .T(X1N247));
|
373 |
|
|
IBUF X1I72 (.I(X1N68), .O(DIN[4]));
|
374 |
|
|
IBUF X1I73 (.I(X1N77), .O(DIN[5]));
|
375 |
|
|
OBUFT X1I74 (.I(X1N76), .O(X1N77), .T(X1N247));
|
376 |
|
|
M2_1 X1I75 (.D0(DOUT[5]), .D1(LEDLF), .O(X1N76), .S0(DISPNFLASH));
|
377 |
|
|
M2_1 X1I80 (.D0(DOUT[7]), .D1(LEDRD), .O(X1N79), .S0(DISPNFLASH));
|
378 |
|
|
OBUFT X1I81 (.I(X1N79), .O(X1N78), .T(X1N247));
|
379 |
|
|
IBUF X1I82 (.I(X1N78), .O(DIN[7]));
|
380 |
|
|
IBUF X1I83 (.I(X1N87), .O(DIN[6]));
|
381 |
|
|
OBUFT X1I84 (.I(X1N86), .O(X1N87), .T(X1N247));
|
382 |
|
|
M2_1 X1I85 (.D0(DOUT[6]), .D1(LEDLA), .O(X1N86), .S0(DISPNFLASH));
|
383 |
|
|
M2_1 X1I90 (.D0(DOUT[2]), .D1(LEDLE), .O(X1N89), .S0(DISPNFLASH));
|
384 |
|
|
OBUFT X1I91 (.I(X1N89), .O(X1N88), .T(X1N247));
|
385 |
|
|
IBUF X1I92 (.I(X1N88), .O(DIN[2]));
|
386 |
|
|
IBUF X1I93 (.I(X1N97), .O(DIN[3]));
|
387 |
|
|
OBUFT X1I94 (.I(X1N96), .O(X1N97), .T(X1N247));
|
388 |
|
|
M2_1 X1I95 (.D0(DOUT[3]), .D1(LEDLG), .O(X1N96), .S0(DISPNFLASH));
|
389 |
|
|
|
390 |
|
|
endmodule // FPGA_FLASHDISP
|
391 |
|
|
|
392 |
|
|
module FD16RE (C, CE, D, Q, R);
|
393 |
|
|
output [15:0] Q;
|
394 |
|
|
input R, CE, C;
|
395 |
|
|
input [15:0] D;
|
396 |
|
|
wire [15:0] O, I, IO;
|
397 |
|
|
wire [7:0] DPO, SPO;
|
398 |
|
|
FDRE Q0 (.C(C), .CE(CE), .D(D[0]), .Q(Q[0]), .R(R));
|
399 |
|
|
FDRE Q1 (.C(C), .CE(CE), .D(D[1]), .Q(Q[1]), .R(R));
|
400 |
|
|
FDRE Q2 (.C(C), .CE(CE), .D(D[2]), .Q(Q[2]), .R(R));
|
401 |
|
|
FDRE Q3 (.C(C), .CE(CE), .D(D[3]), .Q(Q[3]), .R(R));
|
402 |
|
|
FDRE Q4 (.C(C), .CE(CE), .D(D[4]), .Q(Q[4]), .R(R));
|
403 |
|
|
FDRE Q5 (.C(C), .CE(CE), .D(D[5]), .Q(Q[5]), .R(R));
|
404 |
|
|
FDRE Q6 (.C(C), .CE(CE), .D(D[6]), .Q(Q[6]), .R(R));
|
405 |
|
|
FDRE Q7 (.C(C), .CE(CE), .D(D[7]), .Q(Q[7]), .R(R));
|
406 |
|
|
FDRE Q8 (.C(C), .CE(CE), .D(D[8]), .Q(Q[8]), .R(R));
|
407 |
|
|
FDRE Q9 (.C(C), .CE(CE), .D(D[9]), .Q(Q[9]), .R(R));
|
408 |
|
|
FDRE Q10 (.C(C), .CE(CE), .D(D[10]), .Q(Q[10]), .R(R));
|
409 |
|
|
FDRE Q11 (.C(C), .CE(CE), .D(D[11]), .Q(Q[11]), .R(R));
|
410 |
|
|
FDRE Q12 (.C(C), .CE(CE), .D(D[12]), .Q(Q[12]), .R(R));
|
411 |
|
|
FDRE Q13 (.C(C), .CE(CE), .D(D[13]), .Q(Q[13]), .R(R));
|
412 |
|
|
FDRE Q14 (.C(C), .CE(CE), .D(D[14]), .Q(Q[14]), .R(R));
|
413 |
|
|
FDRE Q15 (.C(C), .CE(CE), .D(D[15]), .Q(Q[15]), .R(R));
|
414 |
|
|
|
415 |
|
|
endmodule // FD16RE
|
416 |
|
|
|
417 |
|
|
module REG32R (CLK, EN, I, O, RESET);
|
418 |
|
|
FD16RE X1I55 (.C(CLK), .CE(EN), .D({I[15], I[14], I[13], I[12], I[11],
|
419 |
|
|
I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3], I[2], I[1], I[0]}), .Q(
|
420 |
|
|
{O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5]
|
421 |
|
|
, O[4], O[3], O[2], O[1], O[0]}), .R(RESET));
|
422 |
|
|
FD16RE X1I56 (.C(CLK), .CE(EN), .D({I[31], I[30], I[29], I[28], I[27],
|
423 |
|
|
I[26], I[25], I[24], I[23], I[22], I[21], I[20], I[19], I[18], I[17],
|
424 |
|
|
I[16]}), .Q({O[31], O[30], O[29], O[28], O[27], O[26], O[25], O[24],
|
425 |
|
|
O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}), .R(RESET));
|
426 |
|
|
|
427 |
|
|
endmodule // REG32R
|
428 |
|
|
|
429 |
|
|
module BUFE16 (E, I, O);
|
430 |
|
|
output [15:0] O;
|
431 |
|
|
input E;
|
432 |
|
|
input [15:0] I;
|
433 |
|
|
wire [63:0] A;
|
434 |
|
|
wire [15:0] Q, D, B, IO;
|
435 |
|
|
wire [7:0] DPO, SPO;
|
436 |
|
|
BUFE X1I30 (.E(E), .I(I[8]), .O(O[8]));
|
437 |
|
|
BUFE X1I31 (.E(E), .I(I[9]), .O(O[9]));
|
438 |
|
|
BUFE X1I32 (.E(E), .I(I[10]), .O(O[10]));
|
439 |
|
|
BUFE X1I33 (.E(E), .I(I[11]), .O(O[11]));
|
440 |
|
|
BUFE X1I34 (.E(E), .I(I[15]), .O(O[15]));
|
441 |
|
|
BUFE X1I35 (.E(E), .I(I[14]), .O(O[14]));
|
442 |
|
|
BUFE X1I36 (.E(E), .I(I[13]), .O(O[13]));
|
443 |
|
|
BUFE X1I37 (.E(E), .I(I[12]), .O(O[12]));
|
444 |
|
|
BUFE X1I38 (.E(E), .I(I[6]), .O(O[6]));
|
445 |
|
|
BUFE X1I39 (.E(E), .I(I[7]), .O(O[7]));
|
446 |
|
|
BUFE X1I40 (.E(E), .I(I[0]), .O(O[0]));
|
447 |
|
|
BUFE X1I41 (.E(E), .I(I[1]), .O(O[1]));
|
448 |
|
|
BUFE X1I42 (.E(E), .I(I[2]), .O(O[2]));
|
449 |
|
|
BUFE X1I43 (.E(E), .I(I[3]), .O(O[3]));
|
450 |
|
|
BUFE X1I44 (.E(E), .I(I[4]), .O(O[4]));
|
451 |
|
|
BUFE X1I45 (.E(E), .I(I[5]), .O(O[5]));
|
452 |
|
|
|
453 |
|
|
endmodule // BUFE16
|
454 |
|
|
|
455 |
|
|
module BUFE32 (E, I, O);
|
456 |
|
|
output [31:0] O;
|
457 |
|
|
input E;
|
458 |
|
|
input [31:0] I;
|
459 |
|
|
BUFE16 X1I2 (.E(E), .I({I[15], I[14], I[13], I[12], I[11], I[10], I[9],
|
460 |
|
|
I[8], I[7], I[6], I[5], I[4], I[3], I[2], I[1], I[0]}), .O({O[15], O[14]
|
461 |
|
|
, O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5], O[4], O[3],
|
462 |
|
|
O[2], O[1], O[0]}));
|
463 |
|
|
BUFE16 X1I3 (.E(E), .I({I[31], I[30], I[29], I[28], I[27], I[26], I[25],
|
464 |
|
|
I[24], I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16]}), .O({
|
465 |
|
|
O[31], O[30], O[29], O[28], O[27], O[26], O[25], O[24], O[23], O[22],
|
466 |
|
|
O[21], O[20], O[19], O[18], O[17], O[16]}));
|
467 |
|
|
|
468 |
|
|
endmodule // BUFE32
|
469 |
|
|
|
470 |
|
|
module D4_16E (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .D0(D[0]), .D1
|
471 |
|
|
(D[1]), .D10(D[10]), .D11(D[11]), .D12(D[12]), .D13(D[13]), .D14(D[14])
|
472 |
|
|
, .D15(D[15]), .D2(D[2]), .D3(D[3]), .D4(D[4]), .D5(D[5]), .D6(D[6]),
|
473 |
|
|
.D7(D[7]), .D8(D[8]), .D9(D[9]), E);
|
474 |
|
|
output [15:0] D;
|
475 |
|
|
input E;
|
476 |
|
|
input [3:0] A;
|
477 |
|
|
wire [63:0] A;
|
478 |
|
|
wire [15:0] Q, D, O, I, IO;
|
479 |
|
|
wire [7:0] DPO, SPO;
|
480 |
|
|
AND5B3 X1I53 (.I0(A[0]), .I1(A[1]), .I2(A[2]), .I3(A[3]), .I4(E), .O(D[8])
|
481 |
|
|
);
|
482 |
|
|
AND5B2 X1I54 (.I0(A[1]), .I1(A[2]), .I2(E), .I3(A[3]), .I4(A[0]), .O
|
483 |
|
|
(D[9]));
|
484 |
|
|
AND5B2 X1I55 (.I0(A[0]), .I1(A[2]), .I2(E), .I3(A[3]), .I4(A[1]), .O
|
485 |
|
|
(D[10]));
|
486 |
|
|
AND5B1 X1I56 (.I0(A[2]), .I1(A[0]), .I2(A[1]), .I3(A[3]), .I4(E), .O
|
487 |
|
|
(D[11]));
|
488 |
|
|
AND5B2 X1I57 (.I0(A[0]), .I1(A[1]), .I2(E), .I3(A[3]), .I4(A[2]), .O
|
489 |
|
|
(D[12]));
|
490 |
|
|
AND5B1 X1I58 (.I0(A[1]), .I1(A[0]), .I2(A[2]), .I3(A[3]), .I4(E), .O
|
491 |
|
|
(D[13]));
|
492 |
|
|
AND5B1 X1I59 (.I0(A[0]), .I1(A[1]), .I2(A[2]), .I3(A[3]), .I4(E), .O
|
493 |
|
|
(D[14]));
|
494 |
|
|
AND5 X1I60 (.I0(A[3]), .I1(A[2]), .I2(A[1]), .I3(A[0]), .I4(E), .O(D[15])
|
495 |
|
|
);
|
496 |
|
|
AND5B2 X1I61 (.I0(A[3]), .I1(A[0]), .I2(E), .I3(A[2]), .I4(A[1]), .O
|
497 |
|
|
(D[6]));
|
498 |
|
|
AND5B1 X1I62 (.I0(A[3]), .I1(A[2]), .I2(A[1]), .I3(A[0]), .I4(E), .O(D[7])
|
499 |
|
|
);
|
500 |
|
|
AND5B2 X1I63 (.I0(A[3]), .I1(A[1]), .I2(E), .I3(A[2]), .I4(A[0]), .O
|
501 |
|
|
(D[5]));
|
502 |
|
|
AND5B3 X1I64 (.I0(A[0]), .I1(A[1]), .I2(A[3]), .I3(A[2]), .I4(E), .O(D[4])
|
503 |
|
|
);
|
504 |
|
|
AND5B2 X1I65 (.I0(A[2]), .I1(A[3]), .I2(E), .I3(A[0]), .I4(A[1]), .O
|
505 |
|
|
(D[3]));
|
506 |
|
|
AND5B3 X1I66 (.I0(A[0]), .I1(A[3]), .I2(A[2]), .I3(A[1]), .I4(E), .O(D[2])
|
507 |
|
|
);
|
508 |
|
|
AND5B3 X1I67 (.I0(A[1]), .I1(A[2]), .I2(A[3]), .I3(A[0]), .I4(E), .O
|
509 |
|
|
(D[1]));
|
510 |
|
|
AND5B4 X1I68 (.I0(A[3]), .I1(A[2]), .I2(A[1]), .I3(A[0]), .I4(E), .O(D[0])
|
511 |
|
|
);
|
512 |
|
|
|
513 |
|
|
endmodule // D4_16E
|
514 |
|
|
|
515 |
|
|
module BUFE8 (E, I, O);
|
516 |
|
|
output [7:0] O;
|
517 |
|
|
input E;
|
518 |
|
|
input [7:0] I;
|
519 |
|
|
wire [63:0] A;
|
520 |
|
|
wire [15:0] I, O, Q, D, B, IO;
|
521 |
|
|
wire [7:0] DPO, SPO;
|
522 |
|
|
BUFE X1I30 (.E(E), .I(I[0]), .O(O[0]));
|
523 |
|
|
BUFE X1I31 (.E(E), .I(I[1]), .O(O[1]));
|
524 |
|
|
BUFE X1I32 (.E(E), .I(I[2]), .O(O[2]));
|
525 |
|
|
BUFE X1I33 (.E(E), .I(I[3]), .O(O[3]));
|
526 |
|
|
BUFE X1I34 (.E(E), .I(I[7]), .O(O[7]));
|
527 |
|
|
BUFE X1I35 (.E(E), .I(I[6]), .O(O[6]));
|
528 |
|
|
BUFE X1I36 (.E(E), .I(I[5]), .O(O[5]));
|
529 |
|
|
BUFE X1I37 (.E(E), .I(I[4]), .O(O[4]));
|
530 |
|
|
|
531 |
|
|
endmodule // BUFE8
|
532 |
|
|
|
533 |
|
|
module RAM32X32S (A0, A1, A2, A3, A4, D, O, WCLK, WE);
|
534 |
|
|
output [31:0] O;
|
535 |
|
|
input WE, WCLK, A4, A3, A2, A1, A0;
|
536 |
|
|
input [31:0] D;
|
537 |
|
|
RAM32X1S X1I100 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[25]),
|
538 |
|
|
.O(O[25]), .WCLK(WCLK), .WE(WE));
|
539 |
|
|
RAM32X1S X1I101 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[27]),
|
540 |
|
|
.O(O[27]), .WCLK(WCLK), .WE(WE));
|
541 |
|
|
RAM32X1S X1I102 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[31]),
|
542 |
|
|
.O(O[31]), .WCLK(WCLK), .WE(WE));
|
543 |
|
|
RAM32X1S X1I103 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[30]),
|
544 |
|
|
.O(O[30]), .WCLK(WCLK), .WE(WE));
|
545 |
|
|
RAM32X1S X1I104 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[29]),
|
546 |
|
|
.O(O[29]), .WCLK(WCLK), .WE(WE));
|
547 |
|
|
RAM32X1S X1I105 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[28]),
|
548 |
|
|
.O(O[28]), .WCLK(WCLK), .WE(WE));
|
549 |
|
|
RAM32X1S X1I106 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[26]),
|
550 |
|
|
.O(O[26]), .WCLK(WCLK), .WE(WE));
|
551 |
|
|
RAM32X1S X1I17 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[0]), .O
|
552 |
|
|
(O[0]), .WCLK(WCLK), .WE(WE));
|
553 |
|
|
RAM32X1S X1I18 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[1]), .O
|
554 |
|
|
(O[1]), .WCLK(WCLK), .WE(WE));
|
555 |
|
|
RAM32X1S X1I19 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[3]), .O
|
556 |
|
|
(O[3]), .WCLK(WCLK), .WE(WE));
|
557 |
|
|
RAM32X1S X1I20 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[7]), .O
|
558 |
|
|
(O[7]), .WCLK(WCLK), .WE(WE));
|
559 |
|
|
RAM32X1S X1I21 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[6]), .O
|
560 |
|
|
(O[6]), .WCLK(WCLK), .WE(WE));
|
561 |
|
|
RAM32X1S X1I22 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[5]), .O
|
562 |
|
|
(O[5]), .WCLK(WCLK), .WE(WE));
|
563 |
|
|
RAM32X1S X1I23 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[4]), .O
|
564 |
|
|
(O[4]), .WCLK(WCLK), .WE(WE));
|
565 |
|
|
RAM32X1S X1I27 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[2]), .O
|
566 |
|
|
(O[2]), .WCLK(WCLK), .WE(WE));
|
567 |
|
|
RAM32X1S X1I37 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[10]), .O
|
568 |
|
|
(O[10]), .WCLK(WCLK), .WE(WE));
|
569 |
|
|
RAM32X1S X1I38 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[12]), .O
|
570 |
|
|
(O[12]), .WCLK(WCLK), .WE(WE));
|
571 |
|
|
RAM32X1S X1I39 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[13]), .O
|
572 |
|
|
(O[13]), .WCLK(WCLK), .WE(WE));
|
573 |
|
|
RAM32X1S X1I40 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[14]), .O
|
574 |
|
|
(O[14]), .WCLK(WCLK), .WE(WE));
|
575 |
|
|
RAM32X1S X1I41 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[15]), .O
|
576 |
|
|
(O[15]), .WCLK(WCLK), .WE(WE));
|
577 |
|
|
RAM32X1S X1I42 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[11]), .O
|
578 |
|
|
(O[11]), .WCLK(WCLK), .WE(WE));
|
579 |
|
|
RAM32X1S X1I43 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[9]), .O
|
580 |
|
|
(O[9]), .WCLK(WCLK), .WE(WE));
|
581 |
|
|
RAM32X1S X1I44 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[8]), .O
|
582 |
|
|
(O[8]), .WCLK(WCLK), .WE(WE));
|
583 |
|
|
RAM32X1S X1I91 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[18]), .O
|
584 |
|
|
(O[18]), .WCLK(WCLK), .WE(WE));
|
585 |
|
|
RAM32X1S X1I92 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[20]), .O
|
586 |
|
|
(O[20]), .WCLK(WCLK), .WE(WE));
|
587 |
|
|
RAM32X1S X1I93 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[21]), .O
|
588 |
|
|
(O[21]), .WCLK(WCLK), .WE(WE));
|
589 |
|
|
RAM32X1S X1I94 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[22]), .O
|
590 |
|
|
(O[22]), .WCLK(WCLK), .WE(WE));
|
591 |
|
|
RAM32X1S X1I95 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[23]), .O
|
592 |
|
|
(O[23]), .WCLK(WCLK), .WE(WE));
|
593 |
|
|
RAM32X1S X1I96 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[19]), .O
|
594 |
|
|
(O[19]), .WCLK(WCLK), .WE(WE));
|
595 |
|
|
RAM32X1S X1I97 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[17]), .O
|
596 |
|
|
(O[17]), .WCLK(WCLK), .WE(WE));
|
597 |
|
|
RAM32X1S X1I98 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[16]), .O
|
598 |
|
|
(O[16]), .WCLK(WCLK), .WE(WE));
|
599 |
|
|
RAM32X1S X1I99 (.A0(A0), .A1(A1), .A2(A2), .A3(A3), .A4(A4), .D(D[24]), .O
|
600 |
|
|
(O[24]), .WCLK(WCLK), .WE(WE));
|
601 |
|
|
|
602 |
|
|
endmodule // RAM32X32S
|
603 |
|
|
|
604 |
|
|
module REGBANK1 (D, OA, OB, RA, RB, WCLK, WE, WSEL, W);
|
605 |
|
|
output [31:0] OB;
|
606 |
|
|
output [31:0] OA;
|
607 |
|
|
input WSEL, WE, WCLK;
|
608 |
|
|
input [4:0] W;
|
609 |
|
|
input [4:0] RB;
|
610 |
|
|
input [4:0] RA;
|
611 |
|
|
input [31:0] D;
|
612 |
|
|
wire [4:0] A, B, RB, W, RA;
|
613 |
|
|
wire X1N111, X1N36, X1N38;
|
614 |
|
|
RAM32X32S X1I1 (.A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .A4(A[4]), .D(
|
615 |
|
|
{D[31], D[30], D[29], D[28], D[27], D[26], D[25], D[24], D[23], D[22],
|
616 |
|
|
D[21], D[20], D[19], D[18], D[17], D[16], D[15], D[14], D[13], D[12],
|
617 |
|
|
D[11], D[10], D[9], D[8], D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0]
|
618 |
|
|
}), .O({OA[31], OA[30], OA[29], OA[28], OA[27], OA[26], OA[25], OA[24],
|
619 |
|
|
OA[23], OA[22], OA[21], OA[20], OA[19], OA[18], OA[17], OA[16], OA[15],
|
620 |
|
|
OA[14], OA[13], OA[12], OA[11], OA[10], OA[9], OA[8], OA[7], OA[6],
|
621 |
|
|
OA[5], OA[4], OA[3], OA[2], OA[1], OA[0]}), .WCLK(WCLK), .WE(X1N36));
|
622 |
|
|
AND2 X1I110 (.I0(X1N111), .I1(WE), .O(X1N36));
|
623 |
|
|
OR5 X1I112 (.I0(W[0]), .I1(W[1]), .I2(W[2]), .I3(W[3]), .I4(W[4]), .O
|
624 |
|
|
(X1N111));
|
625 |
|
|
INV X1I121 (.I(WSEL), .O(X1N38));
|
626 |
|
|
RAM32X32S X1I2 (.A0(B[0]), .A1(B[1]), .A2(B[2]), .A3(B[3]), .A4(B[4]), .D(
|
627 |
|
|
{D[31], D[30], D[29], D[28], D[27], D[26], D[25], D[24], D[23], D[22],
|
628 |
|
|
D[21], D[20], D[19], D[18], D[17], D[16], D[15], D[14], D[13], D[12],
|
629 |
|
|
D[11], D[10], D[9], D[8], D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0]
|
630 |
|
|
}), .O({OB[31], OB[30], OB[29], OB[28], OB[27], OB[26], OB[25], OB[24],
|
631 |
|
|
OB[23], OB[22], OB[21], OB[20], OB[19], OB[18], OB[17], OB[16], OB[15],
|
632 |
|
|
OB[14], OB[13], OB[12], OB[11], OB[10], OB[9], OB[8], OB[7], OB[6],
|
633 |
|
|
OB[5], OB[4], OB[3], OB[2], OB[1], OB[0]}), .WCLK(WCLK), .WE(X1N36));
|
634 |
|
|
M2_1X5 X1I65 (.A({RA[4], RA[3], RA[2], RA[1], RA[0]}), .B({W[4], W[3],
|
635 |
|
|
W[2], W[1], W[0]}), .O({A[4], A[3], A[2], A[1], A[0]}), .SB(X1N38));
|
636 |
|
|
M2_1X5 X1I66 (.A({RB[4], RB[3], RB[2], RB[1], RB[0]}), .B({W[4], W[3],
|
637 |
|
|
W[2], W[1], W[0]}), .O({B[4], B[3], B[2], B[1], B[0]}), .SB(X1N38));
|
638 |
|
|
|
639 |
|
|
endmodule // REGBANK1
|
640 |
|
|
|
641 |
|
|
module FTRSE (C, CE, Q, R, S, T);
|
642 |
|
|
output Q;
|
643 |
|
|
input T, S, R, CE, C;
|
644 |
|
|
wire CE_S, D_S, TQ;
|
645 |
|
|
XOR2 X1I32 (.I0(T), .I1(Q), .O(TQ));
|
646 |
|
|
FDRE X1I35 (.C(C), .CE(CE_S), .D(D_S), .Q(Q), .R(R));
|
647 |
|
|
OR2 X1I73 (.I0(S), .I1(TQ), .O(D_S));
|
648 |
|
|
OR2 X1I77 (.I0(CE), .I1(S), .O(CE_S));
|
649 |
|
|
|
650 |
|
|
endmodule // FTRSE
|
651 |
|
|
|
652 |
|
|
module CB8RE (C, CE, CEO, Q, R, TC);
|
653 |
|
|
output TC, CEO;
|
654 |
|
|
output [7:0] Q;
|
655 |
|
|
input R, CE, C;
|
656 |
|
|
wire X1N5, T2, T3, T4, T5, T6, T7, X1N10;
|
657 |
|
|
VCC X1I13 (.P(X1N10));
|
658 |
|
|
FTRSE Q6 (.C(C), .CE(CE), .Q(Q[6]), .R(R), .S(X1N5), .T(T6));
|
659 |
|
|
FTRSE Q5 (.C(C), .CE(CE), .Q(Q[5]), .R(R), .S(X1N5), .T(T5));
|
660 |
|
|
FTRSE Q4 (.C(C), .CE(CE), .Q(Q[4]), .R(R), .S(X1N5), .T(T4));
|
661 |
|
|
FTRSE Q3 (.C(C), .CE(CE), .Q(Q[3]), .R(R), .S(X1N5), .T(T3));
|
662 |
|
|
FTRSE Q2 (.C(C), .CE(CE), .Q(Q[2]), .R(R), .S(X1N5), .T(T2));
|
663 |
|
|
FTRSE Q1 (.C(C), .CE(CE), .Q(Q[1]), .R(R), .S(X1N5), .T(Q[0]));
|
664 |
|
|
FTRSE Q0 (.C(C), .CE(CE), .Q(Q[0]), .R(R), .S(X1N5), .T(X1N10));
|
665 |
|
|
AND2 X1I21 (.I0(Q[1]), .I1(Q[0]), .O(T2));
|
666 |
|
|
AND3 X1I22 (.I0(Q[2]), .I1(Q[1]), .I2(Q[0]), .O(T3));
|
667 |
|
|
AND4 X1I23 (.I0(Q[3]), .I1(Q[2]), .I2(Q[1]), .I3(Q[0]), .O(T4));
|
668 |
|
|
AND2 X1I25 (.I0(Q[4]), .I1(T4), .O(T5));
|
669 |
|
|
AND3 X1I26 (.I0(Q[5]), .I1(Q[4]), .I2(T4), .O(T6));
|
670 |
|
|
AND4 X1I28 (.I0(Q[6]), .I1(Q[5]), .I2(Q[4]), .I3(T4), .O(T7));
|
671 |
|
|
AND5 X1I29 (.I0(Q[7]), .I1(Q[6]), .I2(Q[5]), .I3(Q[4]), .I4(T4), .O(TC));
|
672 |
|
|
AND2 X1I32 (.I0(CE), .I1(TC), .O(CEO));
|
673 |
|
|
FTRSE Q7 (.C(C), .CE(CE), .Q(Q[7]), .R(R), .S(X1N5), .T(T7));
|
674 |
|
|
GND X1I7 (.G(X1N5));
|
675 |
|
|
|
676 |
|
|
endmodule // CB8RE
|
677 |
|
|
|
678 |
|
|
module CB2RE (C, CE, CEO, Q0, Q1, R, TC);
|
679 |
|
|
output TC, Q1, Q0, CEO;
|
680 |
|
|
input R, CE, C;
|
681 |
|
|
wire X1N50, X1N33;
|
682 |
|
|
FTRSE Q1 (.C(C), .CE(CE), .Q(Q1), .R(R), .S(X1N50), .T(Q0));
|
683 |
|
|
FTRSE Q0 (.C(C), .CE(CE), .Q(Q0), .R(R), .S(X1N50), .T(X1N33));
|
684 |
|
|
AND2 X1I37 (.I0(Q1), .I1(Q0), .O(TC));
|
685 |
|
|
VCC X1I47 (.P(X1N33));
|
686 |
|
|
GND X1I54 (.G(X1N50));
|
687 |
|
|
AND2 X1I55 (.I0(CE), .I1(TC), .O(CEO));
|
688 |
|
|
|
689 |
|
|
endmodule // CB2RE
|
690 |
|
|
|
691 |
|
|
module CB4RE (C, CE, CEO, Q0, Q1, Q2, Q3, R, TC);
|
692 |
|
|
output TC, Q3, Q2, Q1, Q0, CEO;
|
693 |
|
|
input R, CE, C;
|
694 |
|
|
wire T2, T3, X1N62, X1N55;
|
695 |
|
|
AND4 X1I31 (.I0(Q3), .I1(Q2), .I2(Q1), .I3(Q0), .O(TC));
|
696 |
|
|
AND3 X1I32 (.I0(Q2), .I1(Q1), .I2(Q0), .O(T3));
|
697 |
|
|
AND2 X1I33 (.I0(Q1), .I1(Q0), .O(T2));
|
698 |
|
|
FTRSE Q0 (.C(C), .CE(CE), .Q(Q0), .R(R), .S(X1N62), .T(X1N55));
|
699 |
|
|
FTRSE Q1 (.C(C), .CE(CE), .Q(Q1), .R(R), .S(X1N62), .T(Q0));
|
700 |
|
|
FTRSE Q2 (.C(C), .CE(CE), .Q(Q2), .R(R), .S(X1N62), .T(T2));
|
701 |
|
|
FTRSE Q3 (.C(C), .CE(CE), .Q(Q3), .R(R), .S(X1N62), .T(T3));
|
702 |
|
|
VCC X1I58 (.P(X1N55));
|
703 |
|
|
GND X1I64 (.G(X1N62));
|
704 |
|
|
AND2 X1I69 (.I0(CE), .I1(TC), .O(CEO));
|
705 |
|
|
|
706 |
|
|
endmodule // CB4RE
|
707 |
|
|
|
708 |
|
|
module M2_1E (.D0(D[0]), .D1(D[1]), E, O, S0);
|
709 |
|
|
output O;
|
710 |
|
|
input S0, E;
|
711 |
|
|
input [1:0] D;
|
712 |
|
|
wire [15:0] O, I, Q, D;
|
713 |
|
|
wire [7:0] DPO, SPO;
|
714 |
|
|
wire M0, M1;
|
715 |
|
|
AND3 X1I30 (.I0(D[1]), .I1(E), .I2(S0), .O(M1));
|
716 |
|
|
AND3B1 X1I31 (.I0(S0), .I1(E), .I2(D[0]), .O(M0));
|
717 |
|
|
OR2 X1I38 (.I0(M1), .I1(M0), .O(O));
|
718 |
|
|
|
719 |
|
|
endmodule // M2_1E
|
720 |
|
|
|
721 |
|
|
module M8_1E (.D0(D[0]), .D1(D[1]), .D2(D[2]), .D3(D[3]), .D4(D[4]), .D5
|
722 |
|
|
(D[5]), .D6(D[6]), .D7(D[7]), E, O, S0, S1, S2);
|
723 |
|
|
output O;
|
724 |
|
|
input S2, S1, S0, E;
|
725 |
|
|
input [7:0] D;
|
726 |
|
|
wire [15:0] O, I, Q, D;
|
727 |
|
|
wire [7:0] DPO, SPO;
|
728 |
|
|
wire M01, M03, M23, M45, M47, M67;
|
729 |
|
|
MUXF5_L M03 (.I0(M01), .I1(M23), .LO(M03), .S(S1));
|
730 |
|
|
M2_1E M45 (.D0(D[4]), .D1(D[5]), .E(E), .O(M45), .S0(S0));
|
731 |
|
|
M2_1E M67 (.D0(D[6]), .D1(D[7]), .E(E), .O(M67), .S0(S0));
|
732 |
|
|
MUXF5_L M47 (.I0(M45), .I1(M67), .LO(M47), .S(S1));
|
733 |
|
|
M2_1E M23 (.D0(D[2]), .D1(D[3]), .E(E), .O(M23), .S0(S0));
|
734 |
|
|
M2_1E M01 (.D0(D[0]), .D1(D[1]), .E(E), .O(M01), .S0(S0));
|
735 |
|
|
MUXF6 O (.I0(M03), .I1(M47), .O(O), .S(S2));
|
736 |
|
|
|
737 |
|
|
endmodule // M8_1E
|
738 |
|
|
|
739 |
|
|
module SR8CE (C, CE, CLR, Q, SLI);
|
740 |
|
|
output [0:7] Q;
|
741 |
|
|
input SLI, CLR, CE, C;
|
742 |
|
|
FDCE Q7 (.C(C), .CE(CE), .CLR(CLR), .D(Q[6]), .Q(Q[7]));
|
743 |
|
|
FDCE Q3 (.C(C), .CE(CE), .CLR(CLR), .D(Q[2]), .Q(Q[3]));
|
744 |
|
|
FDCE Q5 (.C(C), .CE(CE), .CLR(CLR), .D(Q[4]), .Q(Q[5]));
|
745 |
|
|
FDCE Q4 (.C(C), .CE(CE), .CLR(CLR), .D(Q[3]), .Q(Q[4]));
|
746 |
|
|
FDCE Q1 (.C(C), .CE(CE), .CLR(CLR), .D(Q[0]), .Q(Q[1]));
|
747 |
|
|
FDCE Q0 (.C(C), .CE(CE), .CLR(CLR), .D(SLI), .Q(Q[0]));
|
748 |
|
|
FDCE Q2 (.C(C), .CE(CE), .CLR(CLR), .D(Q[1]), .Q(Q[2]));
|
749 |
|
|
FDCE Q6 (.C(C), .CE(CE), .CLR(CLR), .D(Q[5]), .Q(Q[6]));
|
750 |
|
|
|
751 |
|
|
endmodule // SR8CE
|
752 |
|
|
|
753 |
|
|
module FD8CE (C, CE, CLR, D, Q);
|
754 |
|
|
output [7:0] Q;
|
755 |
|
|
input CLR, CE, C;
|
756 |
|
|
input [7:0] D;
|
757 |
|
|
wire [15:0] O, I, Q, D, IO;
|
758 |
|
|
wire [7:0] DPO, SPO;
|
759 |
|
|
FDCE Q7 (.C(C), .CE(CE), .CLR(CLR), .D(D[7]), .Q(Q[7]));
|
760 |
|
|
FDCE Q6 (.C(C), .CE(CE), .CLR(CLR), .D(D[6]), .Q(Q[6]));
|
761 |
|
|
FDCE Q5 (.C(C), .CE(CE), .CLR(CLR), .D(D[5]), .Q(Q[5]));
|
762 |
|
|
FDCE Q4 (.C(C), .CE(CE), .CLR(CLR), .D(D[4]), .Q(Q[4]));
|
763 |
|
|
FDCE Q1 (.C(C), .CE(CE), .CLR(CLR), .D(D[1]), .Q(Q[1]));
|
764 |
|
|
FDCE Q0 (.C(C), .CE(CE), .CLR(CLR), .D(D[0]), .Q(Q[0]));
|
765 |
|
|
FDCE Q2 (.C(C), .CE(CE), .CLR(CLR), .D(D[2]), .Q(Q[2]));
|
766 |
|
|
FDCE Q3 (.C(C), .CE(CE), .CLR(CLR), .D(D[3]), .Q(Q[3]));
|
767 |
|
|
|
768 |
|
|
endmodule // FD8CE
|
769 |
|
|
|
770 |
|
|
module SERIAL (CLK, GOT_BYTE, IN, OUT, READY, REQ);
|
771 |
|
|
wire [7:0] CLKDIV, IN, OUT, SERIN;
|
772 |
|
|
wire X1N122, X1N123, X1N124, X1N164, EOF, X1N7, X1N174, X1N175, X1N139,
|
773 |
|
|
X1N9, X1N185, DATA_OUT, X1N186, STOP, RCV, RXD, SER_CLK, SHIFT_R, NRCV,
|
774 |
|
|
X1N13, X1N41, X1N33, X1N70, X1N35, X1N81, X1N63, X1N46, X1N48, X1N58,
|
775 |
|
|
X1N78, SHIFT, TRANS, START;
|
776 |
|
|
CB8RE X1I1 (.C(CLK), .CE(X1N13), .Q({CLKDIV[7], CLKDIV[6], CLKDIV[5],
|
777 |
|
|
CLKDIV[4], CLKDIV[3], CLKDIV[2], CLKDIV[1], CLKDIV[0]}), .R(X1N9));
|
778 |
|
|
CB2RE X1I119 (.C(SER_CLK), .CE(TRANS), .CEO(SHIFT), .R(READY));
|
779 |
|
|
VCC X1I12 (.P(X1N13));
|
780 |
|
|
CB4RE X1I120 (.C(SER_CLK), .CE(SHIFT), .Q0(X1N122), .Q1(X1N123), .Q2
|
781 |
|
|
(X1N124), .Q3(X1N139), .R(READY));
|
782 |
|
|
M8_1E X1I121 (.D0(IN[7]), .D1(IN[0]), .D2(IN[1]), .D3(IN[2]), .D4(IN[3]),
|
783 |
|
|
.D5(IN[4]), .D6(IN[5]), .D7(IN[6]), .E(X1N164), .O(DATA_OUT), .S0
|
784 |
|
|
(X1N122), .S1(X1N123), .S2(X1N124));
|
785 |
|
|
FDE X1I130 (.C(SER_CLK), .CE(X1N185), .D(REQ), .Q(TRANS));
|
786 |
|
|
AND4B4 X1I138 (.I0(X1N139), .I1(X1N124), .I2(X1N123), .I3(X1N122), .O
|
787 |
|
|
(START));
|
788 |
|
|
AND2 X1I146 (.I0(X1N139), .I1(X1N122), .O(STOP));
|
789 |
|
|
AND4 X1I16 (.I0(CLKDIV[0]), .I1(CLKDIV[2]), .I2(CLKDIV[4]), .I3(CLKDIV[5])
|
790 |
|
|
, .O(X1N9));
|
791 |
|
|
OR3 X1I162 (.I0(READY), .I1(DATA_OUT), .I2(STOP), .O(X1N175));
|
792 |
|
|
INV X1I163 (.I(START), .O(X1N164));
|
793 |
|
|
OBUF X1I172 (.I(X1N175), .O(X1N174));
|
794 |
|
|
OPAD X1I173 (.OPAD(X1N174));
|
795 |
|
|
INV X1I177 (.I(TRANS), .O(READY));
|
796 |
|
|
AND2 X1I180 (.I0(SHIFT), .I1(STOP), .O(X1N186));
|
797 |
|
|
OR2 X1I184 (.I0(X1N186), .I1(REQ), .O(X1N185));
|
798 |
|
|
FDE X1I2 (.C(CLK), .CE(X1N9), .D(X1N7), .Q(SER_CLK));
|
799 |
|
|
CB4RE X1I20 (.C(SER_CLK), .CE(X1N41), .Q0(X1N48), .Q3(X1N46), .R(NRCV));
|
800 |
|
|
CB2RE X1I22 (.C(SER_CLK), .CE(RCV), .CEO(X1N41), .Q0(X1N33), .Q1(X1N35),
|
801 |
|
|
.R(NRCV));
|
802 |
|
|
FDE X1I23 (.C(SER_CLK), .CE(X1N58), .D(X1N70), .Q(RCV));
|
803 |
|
|
INV X1I25 (.I(RCV), .O(NRCV));
|
804 |
|
|
AND3 X1I28 (.I0(X1N48), .I1(X1N46), .I2(X1N33), .O(GOT_BYTE));
|
805 |
|
|
AND3 X1I29 (.I0(RCV), .I1(X1N46), .I2(X1N48), .O(EOF));
|
806 |
|
|
INV X1I3 (.I(SER_CLK), .O(X1N7));
|
807 |
|
|
AND2B1 X1I30 (.I0(X1N35), .I1(X1N33), .O(SHIFT_R));
|
808 |
|
|
OR2B1 X1I57 (.I0(RXD), .I1(EOF), .O(X1N58));
|
809 |
|
|
IPAD X1I62 (.IPAD(X1N63));
|
810 |
|
|
IBUF X1I64 (.I(X1N63), .O(RXD));
|
811 |
|
|
INV X1I69 (.I(EOF), .O(X1N70));
|
812 |
|
|
SR8CE X1I71 (.C(SER_CLK), .CE(SHIFT_R), .CLR(X1N78), .Q({SERIN[7],
|
813 |
|
|
SERIN[6], SERIN[5], SERIN[4], SERIN[3], SERIN[2], SERIN[1], SERIN[0]}),
|
814 |
|
|
.SLI(RXD));
|
815 |
|
|
FD8CE X1I72 (.C(SER_CLK), .CE(EOF), .CLR(X1N81), .D({SERIN[7], SERIN[6],
|
816 |
|
|
SERIN[5], SERIN[4], SERIN[3], SERIN[2], SERIN[1], SERIN[0]}), .Q({OUT[7]
|
817 |
|
|
, OUT[6], OUT[5], OUT[4], OUT[3], OUT[2], OUT[1], OUT[0]}));
|
818 |
|
|
GND X1I77 (.G(X1N78));
|
819 |
|
|
GND X1I80 (.G(X1N81));
|
820 |
|
|
|
821 |
|
|
// WARNING - Component X1I22 has unconnected pins: 0 input, 1 output, 0 inout.
|
822 |
|
|
// WARNING - Component X1I119 has unconnected pins: 0 input, 3 output, 0 inout.
|
823 |
|
|
// WARNING - Component X1I120 has unconnected pins: 0 input, 2 output, 0 inout.
|
824 |
|
|
// WARNING - Component X1I1 has unconnected pins: 0 input, 2 output, 0 inout.
|
825 |
|
|
// WARNING - Component X1I20 has unconnected pins: 0 input, 4 output, 0 inout.
|
826 |
|
|
endmodule // SERIAL
|
827 |
|
|
|
828 |
|
|
module X16_FIFO (ACK_IN, ACK_OUT, CLK, IN, OUT, REQ_IN, REQ_OUT);
|
829 |
|
|
wire [7:0] A, B, C, D, E, F, G, H, I;
|
830 |
|
|
wire X1N100, X1N101, X1N102, X1N121, X1N131, X1N122, X1N104, X1N132,
|
831 |
|
|
X1N123, X1N133, X1N107, X1N108, X1N30, X1N23, X1N43, X1N44, X1N35, X1N90
|
832 |
|
|
, X1N54, X1N45, X1N91, X1N55, X1N37, X1N28, X1N92, X1N56, X1N76, X1N77;
|
833 |
|
|
FD8CE X1I1 (.C(CLK), .CE(X1N30), .CLR(X1N35), .D({H[7], H[6], H[5], H[4],
|
834 |
|
|
H[3], H[2], H[1], H[0]}), .Q({I[7], I[6], I[5], I[4], I[3], I[2], I[1],
|
835 |
|
|
I[0]}));
|
836 |
|
|
GND X1I109 (.G(X1N108));
|
837 |
|
|
OR2B1 X1I110 (.I0(X1N107), .I1(X1N104), .O(X1N123));
|
838 |
|
|
FDE X1I111 (.C(CLK), .CE(X1N123), .D(X1N122), .Q(X1N107));
|
839 |
|
|
FD8CE X1I113 (.C(CLK), .CE(X1N123), .CLR(X1N108), .D({B[7], B[6], B[5],
|
840 |
|
|
B[4], B[3], B[2], B[1], B[0]}), .Q({C[7], C[6], C[5], C[4], C[3], C[2],
|
841 |
|
|
C[1], C[0]}));
|
842 |
|
|
FD8CE X1I116 (.C(CLK), .CE(X1N133), .CLR(X1N121), .D({A[7], A[6], A[5],
|
843 |
|
|
A[4], A[3], A[2], A[1], A[0]}), .Q({B[7], B[6], B[5], B[4], B[3], B[2],
|
844 |
|
|
B[1], B[0]}));
|
845 |
|
|
FDE X1I118 (.C(CLK), .CE(X1N133), .D(X1N132), .Q(X1N122));
|
846 |
|
|
OR2B1 X1I119 (.I0(X1N122), .I1(X1N123), .O(X1N133));
|
847 |
|
|
GND X1I120 (.G(X1N121));
|
848 |
|
|
FD8CE X1I126 (.C(CLK), .CE(ACK_IN), .CLR(X1N131), .D({IN[7], IN[6], IN[5]
|
849 |
|
|
, IN[4], IN[3], IN[2], IN[1], IN[0]}), .Q({A[7], A[6], A[5], A[4], A[3]
|
850 |
|
|
, A[2], A[1], A[0]}));
|
851 |
|
|
FDE X1I128 (.C(CLK), .CE(ACK_IN), .D(REQ_IN), .Q(X1N132));
|
852 |
|
|
OR2B1 X1I129 (.I0(X1N132), .I1(X1N133), .O(ACK_IN));
|
853 |
|
|
GND X1I130 (.G(X1N131));
|
854 |
|
|
FDE X1I14 (.C(CLK), .CE(X1N23), .D(X1N28), .Q(REQ_OUT));
|
855 |
|
|
OR2B1 X1I18 (.I0(REQ_OUT), .I1(ACK_OUT), .O(X1N23));
|
856 |
|
|
OR2B1 X1I27 (.I0(X1N28), .I1(X1N23), .O(X1N30));
|
857 |
|
|
GND X1I34 (.G(X1N35));
|
858 |
|
|
GND X1I38 (.G(X1N37));
|
859 |
|
|
GND X1I46 (.G(X1N45));
|
860 |
|
|
OR2B1 X1I47 (.I0(X1N43), .I1(X1N30), .O(X1N44));
|
861 |
|
|
FDE X1I48 (.C(CLK), .CE(X1N44), .D(X1N54), .Q(X1N43));
|
862 |
|
|
FD8CE X1I50 (.C(CLK), .CE(X1N44), .CLR(X1N45), .D({G[7], G[6], G[5], G[4]
|
863 |
|
|
, G[3], G[2], G[1], G[0]}), .Q({H[7], H[6], H[5], H[4], H[3], H[2], H[1]
|
864 |
|
|
, H[0]}));
|
865 |
|
|
GND X1I57 (.G(X1N56));
|
866 |
|
|
OR2B1 X1I58 (.I0(X1N54), .I1(X1N44), .O(X1N55));
|
867 |
|
|
FDE X1I59 (.C(CLK), .CE(X1N55), .D(X1N76), .Q(X1N54));
|
868 |
|
|
FD8CE X1I61 (.C(CLK), .CE(X1N55), .CLR(X1N56), .D({F[7], F[6], F[5], F[4]
|
869 |
|
|
, F[3], F[2], F[1], F[0]}), .Q({G[7], G[6], G[5], G[4], G[3], G[2], G[1]
|
870 |
|
|
, G[0]}));
|
871 |
|
|
FD8CE X1I7 (.C(CLK), .CE(X1N23), .CLR(X1N37), .D({I[7], I[6], I[5], I[4],
|
872 |
|
|
I[3], I[2], I[1], I[0]}), .Q({OUT[7], OUT[6], OUT[5], OUT[4], OUT[3],
|
873 |
|
|
OUT[2], OUT[1], OUT[0]}));
|
874 |
|
|
GND X1I78 (.G(X1N77));
|
875 |
|
|
OR2B1 X1I79 (.I0(X1N76), .I1(X1N55), .O(X1N92));
|
876 |
|
|
FDE X1I80 (.C(CLK), .CE(X1N92), .D(X1N91), .Q(X1N76));
|
877 |
|
|
FD8CE X1I82 (.C(CLK), .CE(X1N92), .CLR(X1N77), .D({E[7], E[6], E[5], E[4]
|
878 |
|
|
, E[3], E[2], E[1], E[0]}), .Q({F[7], F[6], F[5], F[4], F[3], F[2], F[1]
|
879 |
|
|
, F[0]}));
|
880 |
|
|
FD8CE X1I85 (.C(CLK), .CE(X1N102), .CLR(X1N90), .D({D[7], D[6], D[5], D[4]
|
881 |
|
|
, D[3], D[2], D[1], D[0]}), .Q({E[7], E[6], E[5], E[4], E[3], E[2], E[1]
|
882 |
|
|
, E[0]}));
|
883 |
|
|
FDE X1I87 (.C(CLK), .CE(X1N102), .D(X1N101), .Q(X1N91));
|
884 |
|
|
OR2B1 X1I88 (.I0(X1N91), .I1(X1N92), .O(X1N102));
|
885 |
|
|
GND X1I89 (.G(X1N90));
|
886 |
|
|
FDE X1I9 (.C(CLK), .CE(X1N30), .D(X1N43), .Q(X1N28));
|
887 |
|
|
FD8CE X1I95 (.C(CLK), .CE(X1N104), .CLR(X1N100), .D({C[7], C[6], C[5],
|
888 |
|
|
C[4], C[3], C[2], C[1], C[0]}), .Q({D[7], D[6], D[5], D[4], D[3], D[2],
|
889 |
|
|
D[1], D[0]}));
|
890 |
|
|
FDE X1I97 (.C(CLK), .CE(X1N104), .D(X1N107), .Q(X1N101));
|
891 |
|
|
OR2B1 X1I98 (.I0(X1N101), .I1(X1N102), .O(X1N104));
|
892 |
|
|
GND X1I99 (.G(X1N100));
|
893 |
|
|
|
894 |
|
|
endmodule // X16_FIFO
|
895 |
|
|
|
896 |
|
|
module SERIAL_FIFO (ACK_IN, ACK_OUT, CLK, CLK_50MHZ, IN, OUTPUT, REQ_IN,
|
897 |
|
|
REQ_OUT);
|
898 |
|
|
wire [7:0] A, B, OUTPUT;
|
899 |
|
|
wire X1N1, X1N2, X1N3, X1N7, X1N9, X1N11, X1N12, X1N18;
|
900 |
|
|
AND2B1 X1I10 (.I0(X1N11), .I1(X1N1), .O(X1N9));
|
901 |
|
|
AND2 X1I13 (.I0(X1N11), .I1(X1N12), .O(X1N2));
|
902 |
|
|
SERIAL SERIAL_LINK (.CLK(CLK_50MHZ), .GOT_BYTE(X1N7), .IN({A[7], A[6],
|
903 |
|
|
A[5], A[4], A[3], A[2], A[1], A[0]}), .OUT({B[7], B[6], B[5], B[4], B[3]
|
904 |
|
|
, B[2], B[1], B[0]}), .READY(X1N1), .REQ(X1N2));
|
905 |
|
|
X16_FIFO X1I15 (.ACK_IN(ACK_IN), .ACK_OUT(X1N9), .CLK(CLK), .IN({IN[7],
|
906 |
|
|
IN[6], IN[5], IN[4], IN[3], IN[2], IN[1], IN[0]}), .OUT({A[7], A[6],
|
907 |
|
|
A[5], A[4], A[3], A[2], A[1], A[0]}), .REQ_IN(REQ_IN), .REQ_OUT(X1N12));
|
908 |
|
|
FD X1I16 (.C(CLK), .D(X1N7), .Q(X1N3));
|
909 |
|
|
AND2B1 X1I17 (.I0(X1N3), .I1(X1N7), .O(X1N18));
|
910 |
|
|
X16_FIFO X1I6 (.ACK_OUT(ACK_OUT), .CLK(CLK), .IN({B[7], B[6], B[5], B[4],
|
911 |
|
|
B[3], B[2], B[1], B[0]}), .OUT({OUTPUT[7], OUTPUT[6], OUTPUT[5],
|
912 |
|
|
OUTPUT[4], OUTPUT[3], OUTPUT[2], OUTPUT[1], OUTPUT[0]}), .REQ_IN(X1N18)
|
913 |
|
|
, .REQ_OUT(REQ_OUT));
|
914 |
|
|
FD X1I8 (.C(CLK), .D(X1N1), .Q(X1N11));
|
915 |
|
|
|
916 |
|
|
endmodule // SERIAL_FIFO
|
917 |
|
|
|
918 |
|
|
module LOGIC1 (A, B, O0, O1, S);
|
919 |
|
|
wire X1N20, X1N21, X1N31, X1N22, X1N61, X1N25, X1N63, X1N46, X1N37, X1N57
|
920 |
|
|
, X1N39, X1N58;
|
921 |
|
|
OR4 X1I1 (.I0(X1N46), .I1(X1N37), .I2(X1N25), .I3(X1N22), .O(S));
|
922 |
|
|
INV X1I17 (.I(O1), .O(X1N21));
|
923 |
|
|
INV X1I18 (.I(O0), .O(X1N20));
|
924 |
|
|
AND4 X1I19 (.I0(B), .I1(A), .I2(X1N21), .I3(X1N20), .O(X1N22));
|
925 |
|
|
AND3 X1I24 (.I0(X1N31), .I1(O0), .I2(X1N21), .O(X1N25));
|
926 |
|
|
OR2 X1I30 (.I0(B), .I1(A), .O(X1N31));
|
927 |
|
|
AND3 X1I36 (.I0(X1N39), .I1(X1N20), .I2(O1), .O(X1N37));
|
928 |
|
|
AND4 X1I54 (.I0(X1N58), .I1(X1N57), .I2(O1), .I3(O0), .O(X1N46));
|
929 |
|
|
INV X1I55 (.I(A), .O(X1N57));
|
930 |
|
|
INV X1I56 (.I(B), .O(X1N58));
|
931 |
|
|
OR2 X1I59 (.I0(X1N63), .I1(X1N61), .O(X1N39));
|
932 |
|
|
AND2 X1I60 (.I0(X1N57), .I1(B), .O(X1N61));
|
933 |
|
|
AND2 X1I62 (.I0(A), .I1(X1N58), .O(X1N63));
|
934 |
|
|
|
935 |
|
|
endmodule // LOGIC1
|
936 |
|
|
|
937 |
|
|
module ADD1 (A, B, CI, CO, S, SUB);
|
938 |
|
|
wire X1N12, X1N13, X1N33, X1N34, X1N35;
|
939 |
|
|
XOR2 X1I10 (.I0(CI), .I1(A), .O(X1N13));
|
940 |
|
|
AND2 X1I20 (.I0(X1N12), .I1(CI), .O(X1N33));
|
941 |
|
|
AND2 X1I21 (.I0(X1N12), .I1(A), .O(X1N34));
|
942 |
|
|
AND2 X1I22 (.I0(CI), .I1(A), .O(X1N35));
|
943 |
|
|
XOR2 X1I24 (.I0(X1N12), .I1(X1N13), .O(S));
|
944 |
|
|
OR3 X1I31 (.I0(X1N33), .I1(X1N34), .I2(X1N35), .O(CO));
|
945 |
|
|
XOR2 X1I9 (.I0(SUB), .I1(B), .O(X1N12));
|
946 |
|
|
|
947 |
|
|
endmodule // ADD1
|
948 |
|
|
|
949 |
|
|
module ALU2 (A, B, OP, OVERFLOW, S);
|
950 |
|
|
wire X1N401, X1N311, X1N221, X1N203, X1N600, X1N510, X1N420, X1N402,
|
951 |
|
|
X1N330, X1N312, X1N240, X1N222, X1N204, X1N601, X1N511, X1N421, X1N403,
|
952 |
|
|
X1N331, X1N313, X1N241, X1N223, X1N205, X1N160, X1N602, X1N512, X1N440,
|
953 |
|
|
X1N422, X1N404, X1N350, X1N332, X1N314, X1N242, X1N224, X1N206, X1N161,
|
954 |
|
|
X1N630, X1N603, X1N540, X1N513, X1N712, X1N631, X1N613, X1N541, X1N523,
|
955 |
|
|
X1N442, X1N424, X1N406, X1N370, X1N352, X1N334, X1N316, X1N280, X1N262,
|
956 |
|
|
X1N226, X1N208, X1N190, X1N731, X1N632, X1N542, X1N164, X1N155, X1N750,
|
957 |
|
|
X1N660, X1N633, X1N615, X1N570, X1N543, X1N525, X1N480, X1N156, X1N706,
|
958 |
|
|
X1N661, X1N643, X1N616, X1N571, X1N553, X1N526, X1N508, X1N490, X1N481,
|
959 |
|
|
X1N472, X1N662, X1N617, X1N572, X1N527, X1N491, X1N464, X1N455, X1N437,
|
960 |
|
|
X1N419, X1N383, X1N365, X1N347, X1N329, X1N293, X1N275, X1N239, X1N690,
|
961 |
|
|
X1N663, X1N645, X1N618, X1N573, X1N555, X1N528, X1N492, X1N456, X1N438,
|
962 |
|
|
X1N384, X1N366, X1N348, X1N294, X1N276, X1N691, X1N673, X1N646, X1N628,
|
963 |
|
|
X1N583, X1N556, X1N538, X1N475, X1N457, X1N439, X1N385, X1N367, X1N349,
|
964 |
|
|
X1N295, X1N277, X1N692, X1N647, X1N557, X1N476, X1N458, X1N386, X1N368,
|
965 |
|
|
X1N296, X1N278, X1N693, X1N675, X1N648, X1N585, X1N558, X1N495, X1N757,
|
966 |
|
|
X1N748, X1N676, X1N658, X1N586, X1N568, X1N496, X1N388, X1N298, X1N677,
|
967 |
|
|
X1N587, X1N497, X1N678, X1N588, X1N498, X1N489, X1N688, X1N598, CO,
|
968 |
|
|
X1N20, X1N24, X1N27, X1N28, X1N19;
|
969 |
|
|
OR2 X1I157 (.I0(X1N155), .I1(X1N156), .O(S[1]));
|
970 |
|
|
AND2 X1I158 (.I0(OP[2]), .I1(X1N161), .O(X1N155));
|
971 |
|
|
AND2 X1I159 (.I0(X1N24), .I1(X1N160), .O(X1N156));
|
972 |
|
|
LOGIC1 X1I167 (.A(A[1]), .B(B[1]), .O0(OP[0]), .O1(OP[1]), .S(X1N161));
|
973 |
|
|
ADD1 X1I168 (.A(A[1]), .B(B[1]), .CI(X1N164), .CO(X1N190), .S(X1N160),
|
974 |
|
|
.SUB(OP[1]));
|
975 |
|
|
ADD1 X1I193 (.A(A[2]), .B(B[2]), .CI(X1N190), .CO(X1N208), .S(X1N204),
|
976 |
|
|
.SUB(OP[1]));
|
977 |
|
|
LOGIC1 X1I197 (.A(A[2]), .B(B[2]), .O0(OP[0]), .O1(OP[1]), .S(X1N203));
|
978 |
|
|
AND2 X1I198 (.I0(X1N24), .I1(X1N204), .O(X1N205));
|
979 |
|
|
AND2 X1I199 (.I0(OP[2]), .I1(X1N203), .O(X1N206));
|
980 |
|
|
OR2 X1I200 (.I0(X1N206), .I1(X1N205), .O(S[2]));
|
981 |
|
|
ADD1 X1I211 (.A(A[3]), .B(B[3]), .CI(X1N208), .CO(X1N226), .S(X1N222),
|
982 |
|
|
.SUB(OP[1]));
|
983 |
|
|
LOGIC1 X1I215 (.A(A[3]), .B(B[3]), .O0(OP[0]), .O1(OP[1]), .S(X1N221));
|
984 |
|
|
AND2 X1I216 (.I0(X1N24), .I1(X1N222), .O(X1N223));
|
985 |
|
|
AND2 X1I217 (.I0(OP[2]), .I1(X1N221), .O(X1N224));
|
986 |
|
|
OR2 X1I218 (.I0(X1N224), .I1(X1N223), .O(S[3]));
|
987 |
|
|
AND2 X1I22 (.I0(X1N24), .I1(X1N20), .O(X1N27));
|
988 |
|
|
ADD1 X1I229 (.A(A[4]), .B(B[4]), .CI(X1N226), .CO(X1N262), .S(X1N240),
|
989 |
|
|
.SUB(OP[1]));
|
990 |
|
|
AND2 X1I23 (.I0(OP[2]), .I1(X1N19), .O(X1N28));
|
991 |
|
|
LOGIC1 X1I233 (.A(A[4]), .B(B[4]), .O0(OP[0]), .O1(OP[1]), .S(X1N239));
|
992 |
|
|
AND2 X1I234 (.I0(X1N24), .I1(X1N240), .O(X1N241));
|
993 |
|
|
AND2 X1I235 (.I0(OP[2]), .I1(X1N239), .O(X1N242));
|
994 |
|
|
OR2 X1I236 (.I0(X1N242), .I1(X1N241), .O(S[4]));
|
995 |
|
|
ADD1 X1I265 (.A(A[5]), .B(B[5]), .CI(X1N262), .CO(X1N280), .S(X1N276),
|
996 |
|
|
.SUB(OP[1]));
|
997 |
|
|
LOGIC1 X1I269 (.A(A[5]), .B(B[5]), .O0(OP[0]), .O1(OP[1]), .S(X1N275));
|
998 |
|
|
AND2 X1I270 (.I0(X1N24), .I1(X1N276), .O(X1N277));
|
999 |
|
|
AND2 X1I271 (.I0(OP[2]), .I1(X1N275), .O(X1N278));
|
1000 |
|
|
OR2 X1I272 (.I0(X1N278), .I1(X1N277), .O(S[5]));
|
1001 |
|
|
ADD1 X1I283 (.A(A[6]), .B(B[6]), .CI(X1N280), .CO(X1N298), .S(X1N294),
|
1002 |
|
|
.SUB(OP[1]));
|
1003 |
|
|
LOGIC1 X1I287 (.A(A[6]), .B(B[6]), .O0(OP[0]), .O1(OP[1]), .S(X1N293));
|
1004 |
|
|
AND2 X1I288 (.I0(X1N24), .I1(X1N294), .O(X1N295));
|
1005 |
|
|
AND2 X1I289 (.I0(OP[2]), .I1(X1N293), .O(X1N296));
|
1006 |
|
|
OR2 X1I290 (.I0(X1N296), .I1(X1N295), .O(S[6]));
|
1007 |
|
|
ADD1 X1I301 (.A(A[7]), .B(B[7]), .CI(X1N298), .CO(X1N316), .S(X1N312),
|
1008 |
|
|
.SUB(OP[1]));
|
1009 |
|
|
LOGIC1 X1I305 (.A(A[7]), .B(B[7]), .O0(OP[0]), .O1(OP[1]), .S(X1N311));
|
1010 |
|
|
AND2 X1I306 (.I0(X1N24), .I1(X1N312), .O(X1N313));
|
1011 |
|
|
AND2 X1I307 (.I0(OP[2]), .I1(X1N311), .O(X1N314));
|
1012 |
|
|
OR2 X1I308 (.I0(X1N314), .I1(X1N313), .O(S[7]));
|
1013 |
|
|
ADD1 X1I319 (.A(A[8]), .B(B[8]), .CI(X1N316), .CO(X1N334), .S(X1N330),
|
1014 |
|
|
.SUB(OP[1]));
|
1015 |
|
|
LOGIC1 X1I323 (.A(A[8]), .B(B[8]), .O0(OP[0]), .O1(OP[1]), .S(X1N329));
|
1016 |
|
|
AND2 X1I324 (.I0(X1N24), .I1(X1N330), .O(X1N331));
|
1017 |
|
|
AND2 X1I325 (.I0(OP[2]), .I1(X1N329), .O(X1N332));
|
1018 |
|
|
OR2 X1I326 (.I0(X1N332), .I1(X1N331), .O(S[8]));
|
1019 |
|
|
ADD1 X1I337 (.A(A[9]), .B(B[9]), .CI(X1N334), .CO(X1N352), .S(X1N348),
|
1020 |
|
|
.SUB(OP[1]));
|
1021 |
|
|
LOGIC1 X1I341 (.A(A[9]), .B(B[9]), .O0(OP[0]), .O1(OP[1]), .S(X1N347));
|
1022 |
|
|
AND2 X1I342 (.I0(X1N24), .I1(X1N348), .O(X1N349));
|
1023 |
|
|
AND2 X1I343 (.I0(OP[2]), .I1(X1N347), .O(X1N350));
|
1024 |
|
|
OR2 X1I344 (.I0(X1N350), .I1(X1N349), .O(S[9]));
|
1025 |
|
|
ADD1 X1I355 (.A(A[10]), .B(B[10]), .CI(X1N352), .CO(X1N370), .S(X1N366),
|
1026 |
|
|
.SUB(OP[1]));
|
1027 |
|
|
LOGIC1 X1I359 (.A(A[10]), .B(B[10]), .O0(OP[0]), .O1(OP[1]), .S(X1N365));
|
1028 |
|
|
AND2 X1I360 (.I0(X1N24), .I1(X1N366), .O(X1N367));
|
1029 |
|
|
AND2 X1I361 (.I0(OP[2]), .I1(X1N365), .O(X1N368));
|
1030 |
|
|
OR2 X1I362 (.I0(X1N368), .I1(X1N367), .O(S[10]));
|
1031 |
|
|
ADD1 X1I373 (.A(A[11]), .B(B[11]), .CI(X1N370), .CO(X1N388), .S(X1N384),
|
1032 |
|
|
.SUB(OP[1]));
|
1033 |
|
|
LOGIC1 X1I377 (.A(A[11]), .B(B[11]), .O0(OP[0]), .O1(OP[1]), .S(X1N383));
|
1034 |
|
|
AND2 X1I378 (.I0(X1N24), .I1(X1N384), .O(X1N385));
|
1035 |
|
|
AND2 X1I379 (.I0(OP[2]), .I1(X1N383), .O(X1N386));
|
1036 |
|
|
OR2 X1I380 (.I0(X1N386), .I1(X1N385), .O(S[11]));
|
1037 |
|
|
ADD1 X1I391 (.A(A[12]), .B(B[12]), .CI(X1N388), .CO(X1N406), .S(X1N402),
|
1038 |
|
|
.SUB(OP[1]));
|
1039 |
|
|
LOGIC1 X1I395 (.A(A[12]), .B(B[12]), .O0(OP[0]), .O1(OP[1]), .S(X1N401));
|
1040 |
|
|
AND2 X1I396 (.I0(X1N24), .I1(X1N402), .O(X1N403));
|
1041 |
|
|
AND2 X1I397 (.I0(OP[2]), .I1(X1N401), .O(X1N404));
|
1042 |
|
|
OR2 X1I398 (.I0(X1N404), .I1(X1N403), .O(S[12]));
|
1043 |
|
|
LOGIC1 X1I4 (.A(A[0]), .B(B[0]), .O0(OP[0]), .O1(OP[1]), .S(X1N19));
|
1044 |
|
|
ADD1 X1I409 (.A(A[13]), .B(B[13]), .CI(X1N406), .CO(X1N424), .S(X1N420),
|
1045 |
|
|
.SUB(OP[1]));
|
1046 |
|
|
LOGIC1 X1I413 (.A(A[13]), .B(B[13]), .O0(OP[0]), .O1(OP[1]), .S(X1N419));
|
1047 |
|
|
AND2 X1I414 (.I0(X1N24), .I1(X1N420), .O(X1N421));
|
1048 |
|
|
AND2 X1I415 (.I0(OP[2]), .I1(X1N419), .O(X1N422));
|
1049 |
|
|
OR2 X1I416 (.I0(X1N422), .I1(X1N421), .O(S[13]));
|
1050 |
|
|
ADD1 X1I427 (.A(A[14]), .B(B[14]), .CI(X1N424), .CO(X1N442), .S(X1N438),
|
1051 |
|
|
.SUB(OP[1]));
|
1052 |
|
|
LOGIC1 X1I431 (.A(A[14]), .B(B[14]), .O0(OP[0]), .O1(OP[1]), .S(X1N437));
|
1053 |
|
|
AND2 X1I432 (.I0(X1N24), .I1(X1N438), .O(X1N439));
|
1054 |
|
|
AND2 X1I433 (.I0(OP[2]), .I1(X1N437), .O(X1N440));
|
1055 |
|
|
OR2 X1I434 (.I0(X1N440), .I1(X1N439), .O(S[14]));
|
1056 |
|
|
ADD1 X1I445 (.A(A[15]), .B(B[15]), .CI(X1N442), .CO(X1N472), .S(X1N456),
|
1057 |
|
|
.SUB(OP[1]));
|
1058 |
|
|
LOGIC1 X1I449 (.A(A[15]), .B(B[15]), .O0(OP[0]), .O1(OP[1]), .S(X1N455));
|
1059 |
|
|
AND2 X1I450 (.I0(X1N24), .I1(X1N456), .O(X1N457));
|
1060 |
|
|
AND2 X1I451 (.I0(OP[2]), .I1(X1N455), .O(X1N458));
|
1061 |
|
|
OR2 X1I452 (.I0(X1N458), .I1(X1N457), .O(S[15]));
|
1062 |
|
|
ADD1 X1I467 (.A(A[17]), .B(B[17]), .CI(X1N464), .CO(X1N508), .S(X1N490),
|
1063 |
|
|
.SUB(OP[1]));
|
1064 |
|
|
ADD1 X1I468 (.A(A[16]), .B(B[16]), .CI(X1N472), .CO(X1N464), .S(X1N476),
|
1065 |
|
|
.SUB(OP[1]));
|
1066 |
|
|
LOGIC1 X1I469 (.A(A[16]), .B(B[16]), .O0(OP[0]), .O1(OP[1]), .S(X1N475));
|
1067 |
|
|
AND2 X1I477 (.I0(X1N24), .I1(X1N476), .O(X1N480));
|
1068 |
|
|
AND2 X1I478 (.I0(OP[2]), .I1(X1N475), .O(X1N481));
|
1069 |
|
|
OR2 X1I479 (.I0(X1N481), .I1(X1N480), .O(S[16]));
|
1070 |
|
|
LOGIC1 X1I483 (.A(A[17]), .B(B[17]), .O0(OP[0]), .O1(OP[1]), .S(X1N489));
|
1071 |
|
|
AND2 X1I484 (.I0(X1N24), .I1(X1N490), .O(X1N491));
|
1072 |
|
|
AND2 X1I485 (.I0(OP[2]), .I1(X1N489), .O(X1N492));
|
1073 |
|
|
OR2 X1I486 (.I0(X1N492), .I1(X1N491), .O(S[17]));
|
1074 |
|
|
OR2 X1I501 (.I0(X1N495), .I1(X1N496), .O(S[18]));
|
1075 |
|
|
AND2 X1I502 (.I0(OP[2]), .I1(X1N498), .O(X1N495));
|
1076 |
|
|
AND2 X1I503 (.I0(X1N24), .I1(X1N497), .O(X1N496));
|
1077 |
|
|
LOGIC1 X1I504 (.A(A[18]), .B(B[18]), .O0(OP[0]), .O1(OP[1]), .S(X1N498));
|
1078 |
|
|
ADD1 X1I505 (.A(A[18]), .B(B[18]), .CI(X1N508), .CO(X1N523), .S(X1N497),
|
1079 |
|
|
.SUB(OP[1]));
|
1080 |
|
|
OR2 X1I516 (.I0(X1N510), .I1(X1N511), .O(S[19]));
|
1081 |
|
|
AND2 X1I517 (.I0(OP[2]), .I1(X1N513), .O(X1N510));
|
1082 |
|
|
AND2 X1I518 (.I0(X1N24), .I1(X1N512), .O(X1N511));
|
1083 |
|
|
LOGIC1 X1I519 (.A(A[19]), .B(B[19]), .O0(OP[0]), .O1(OP[1]), .S(X1N513));
|
1084 |
|
|
ADD1 X1I520 (.A(A[19]), .B(B[19]), .CI(X1N523), .CO(X1N538), .S(X1N512),
|
1085 |
|
|
.SUB(OP[1]));
|
1086 |
|
|
OR2 X1I531 (.I0(X1N525), .I1(X1N526), .O(S[20]));
|
1087 |
|
|
AND2 X1I532 (.I0(OP[2]), .I1(X1N528), .O(X1N525));
|
1088 |
|
|
AND2 X1I533 (.I0(X1N24), .I1(X1N527), .O(X1N526));
|
1089 |
|
|
LOGIC1 X1I534 (.A(A[20]), .B(B[20]), .O0(OP[0]), .O1(OP[1]), .S(X1N528));
|
1090 |
|
|
ADD1 X1I535 (.A(A[20]), .B(B[20]), .CI(X1N538), .CO(X1N553), .S(X1N527),
|
1091 |
|
|
.SUB(OP[1]));
|
1092 |
|
|
OR2 X1I546 (.I0(X1N540), .I1(X1N541), .O(S[21]));
|
1093 |
|
|
AND2 X1I547 (.I0(OP[2]), .I1(X1N543), .O(X1N540));
|
1094 |
|
|
AND2 X1I548 (.I0(X1N24), .I1(X1N542), .O(X1N541));
|
1095 |
|
|
LOGIC1 X1I549 (.A(A[21]), .B(B[21]), .O0(OP[0]), .O1(OP[1]), .S(X1N543));
|
1096 |
|
|
ADD1 X1I550 (.A(A[21]), .B(B[21]), .CI(X1N553), .CO(X1N568), .S(X1N542),
|
1097 |
|
|
.SUB(OP[1]));
|
1098 |
|
|
OR2 X1I561 (.I0(X1N555), .I1(X1N556), .O(S[22]));
|
1099 |
|
|
AND2 X1I562 (.I0(OP[2]), .I1(X1N558), .O(X1N555));
|
1100 |
|
|
AND2 X1I563 (.I0(X1N24), .I1(X1N557), .O(X1N556));
|
1101 |
|
|
LOGIC1 X1I564 (.A(A[22]), .B(B[22]), .O0(OP[0]), .O1(OP[1]), .S(X1N558));
|
1102 |
|
|
ADD1 X1I565 (.A(A[22]), .B(B[22]), .CI(X1N568), .CO(X1N583), .S(X1N557),
|
1103 |
|
|
.SUB(OP[1]));
|
1104 |
|
|
OR2 X1I576 (.I0(X1N570), .I1(X1N571), .O(S[23]));
|
1105 |
|
|
AND2 X1I577 (.I0(OP[2]), .I1(X1N573), .O(X1N570));
|
1106 |
|
|
AND2 X1I578 (.I0(X1N24), .I1(X1N572), .O(X1N571));
|
1107 |
|
|
LOGIC1 X1I579 (.A(A[23]), .B(B[23]), .O0(OP[0]), .O1(OP[1]), .S(X1N573));
|
1108 |
|
|
ADD1 X1I580 (.A(A[23]), .B(B[23]), .CI(X1N583), .CO(X1N598), .S(X1N572),
|
1109 |
|
|
.SUB(OP[1]));
|
1110 |
|
|
OR2 X1I591 (.I0(X1N585), .I1(X1N586), .O(S[24]));
|
1111 |
|
|
AND2 X1I592 (.I0(OP[2]), .I1(X1N588), .O(X1N585));
|
1112 |
|
|
AND2 X1I593 (.I0(X1N24), .I1(X1N587), .O(X1N586));
|
1113 |
|
|
LOGIC1 X1I594 (.A(A[24]), .B(B[24]), .O0(OP[0]), .O1(OP[1]), .S(X1N588));
|
1114 |
|
|
ADD1 X1I595 (.A(A[24]), .B(B[24]), .CI(X1N598), .CO(X1N613), .S(X1N587),
|
1115 |
|
|
.SUB(OP[1]));
|
1116 |
|
|
OR2 X1I606 (.I0(X1N600), .I1(X1N601), .O(S[25]));
|
1117 |
|
|
AND2 X1I607 (.I0(OP[2]), .I1(X1N603), .O(X1N600));
|
1118 |
|
|
AND2 X1I608 (.I0(X1N24), .I1(X1N602), .O(X1N601));
|
1119 |
|
|
LOGIC1 X1I609 (.A(A[25]), .B(B[25]), .O0(OP[0]), .O1(OP[1]), .S(X1N603));
|
1120 |
|
|
ADD1 X1I610 (.A(A[25]), .B(B[25]), .CI(X1N613), .CO(X1N628), .S(X1N602),
|
1121 |
|
|
.SUB(OP[1]));
|
1122 |
|
|
OR2 X1I621 (.I0(X1N615), .I1(X1N616), .O(S[26]));
|
1123 |
|
|
AND2 X1I622 (.I0(OP[2]), .I1(X1N618), .O(X1N615));
|
1124 |
|
|
AND2 X1I623 (.I0(X1N24), .I1(X1N617), .O(X1N616));
|
1125 |
|
|
LOGIC1 X1I624 (.A(A[26]), .B(B[26]), .O0(OP[0]), .O1(OP[1]), .S(X1N618));
|
1126 |
|
|
ADD1 X1I625 (.A(A[26]), .B(B[26]), .CI(X1N628), .CO(X1N643), .S(X1N617),
|
1127 |
|
|
.SUB(OP[1]));
|
1128 |
|
|
OR2 X1I636 (.I0(X1N630), .I1(X1N631), .O(S[27]));
|
1129 |
|
|
AND2 X1I637 (.I0(OP[2]), .I1(X1N633), .O(X1N630));
|
1130 |
|
|
AND2 X1I638 (.I0(X1N24), .I1(X1N632), .O(X1N631));
|
1131 |
|
|
LOGIC1 X1I639 (.A(A[27]), .B(B[27]), .O0(OP[0]), .O1(OP[1]), .S(X1N633));
|
1132 |
|
|
ADD1 X1I640 (.A(A[27]), .B(B[27]), .CI(X1N643), .CO(X1N658), .S(X1N632),
|
1133 |
|
|
.SUB(OP[1]));
|
1134 |
|
|
OR2 X1I651 (.I0(X1N645), .I1(X1N646), .O(S[28]));
|
1135 |
|
|
AND2 X1I652 (.I0(OP[2]), .I1(X1N648), .O(X1N645));
|
1136 |
|
|
AND2 X1I653 (.I0(X1N24), .I1(X1N647), .O(X1N646));
|
1137 |
|
|
LOGIC1 X1I654 (.A(A[28]), .B(B[28]), .O0(OP[0]), .O1(OP[1]), .S(X1N648));
|
1138 |
|
|
ADD1 X1I655 (.A(A[28]), .B(B[28]), .CI(X1N658), .CO(X1N673), .S(X1N647),
|
1139 |
|
|
.SUB(OP[1]));
|
1140 |
|
|
OR2 X1I666 (.I0(X1N660), .I1(X1N661), .O(S[29]));
|
1141 |
|
|
AND2 X1I667 (.I0(OP[2]), .I1(X1N663), .O(X1N660));
|
1142 |
|
|
AND2 X1I668 (.I0(X1N24), .I1(X1N662), .O(X1N661));
|
1143 |
|
|
LOGIC1 X1I669 (.A(A[29]), .B(B[29]), .O0(OP[0]), .O1(OP[1]), .S(X1N663));
|
1144 |
|
|
ADD1 X1I670 (.A(A[29]), .B(B[29]), .CI(X1N673), .CO(X1N688), .S(X1N662),
|
1145 |
|
|
.SUB(OP[1]));
|
1146 |
|
|
OR2 X1I681 (.I0(X1N675), .I1(X1N676), .O(S[30]));
|
1147 |
|
|
AND2 X1I682 (.I0(OP[2]), .I1(X1N678), .O(X1N675));
|
1148 |
|
|
AND2 X1I683 (.I0(X1N24), .I1(X1N677), .O(X1N676));
|
1149 |
|
|
LOGIC1 X1I684 (.A(A[30]), .B(B[30]), .O0(OP[0]), .O1(OP[1]), .S(X1N678));
|
1150 |
|
|
ADD1 X1I685 (.A(A[30]), .B(B[30]), .CI(X1N688), .CO(X1N706), .S(X1N677),
|
1151 |
|
|
.SUB(OP[1]));
|
1152 |
|
|
OR2 X1I696 (.I0(X1N690), .I1(X1N691), .O(S[31]));
|
1153 |
|
|
AND2 X1I697 (.I0(OP[2]), .I1(X1N693), .O(X1N690));
|
1154 |
|
|
AND2 X1I698 (.I0(X1N24), .I1(X1N692), .O(X1N691));
|
1155 |
|
|
LOGIC1 X1I699 (.A(A[31]), .B(B[31]), .O0(OP[0]), .O1(OP[1]), .S(X1N693));
|
1156 |
|
|
ADD1 X1I703 (.A(A[31]), .B(B[31]), .CI(X1N706), .CO(CO), .S(X1N692), .SUB
|
1157 |
|
|
(OP[1]));
|
1158 |
|
|
AND2 X1I714 (.I0(X1N712), .I1(A[0]), .O(X1N164));
|
1159 |
|
|
XOR2 X1I719 (.I0(OP[1]), .I1(B[0]), .O(X1N712));
|
1160 |
|
|
XOR2 X1I721 (.I0(X1N712), .I1(A[0]), .O(X1N20));
|
1161 |
|
|
AND2 X1I729 (.I0(OP[3]), .I1(CO), .O(X1N731));
|
1162 |
|
|
OR3 X1I730 (.I0(X1N731), .I1(X1N28), .I2(X1N27), .O(S[0]));
|
1163 |
|
|
AND2 X1I746 (.I0(X1N750), .I1(X1N748), .O(X1N24));
|
1164 |
|
|
INV X1I747 (.I(OP[3]), .O(X1N748));
|
1165 |
|
|
INV X1I749 (.I(OP[2]), .O(X1N750));
|
1166 |
|
|
XOR2 X1I753 (.I0(X1N706), .I1(CO), .O(X1N757));
|
1167 |
|
|
AND2 X1I756 (.I0(X1N24), .I1(X1N757), .O(OVERFLOW));
|
1168 |
|
|
|
1169 |
|
|
endmodule // ALU2
|
1170 |
|
|
|
1171 |
|
|
module FD16CE (C, CE, CLR, D, Q);
|
1172 |
|
|
output [15:0] Q;
|
1173 |
|
|
input CLR, CE, C;
|
1174 |
|
|
input [15:0] D;
|
1175 |
|
|
wire [15:0] O, I, IO;
|
1176 |
|
|
wire [7:0] DPO, SPO;
|
1177 |
|
|
FDCE Q5 (.C(C), .CE(CE), .CLR(CLR), .D(D[5]), .Q(Q[5]));
|
1178 |
|
|
FDCE Q1 (.C(C), .CE(CE), .CLR(CLR), .D(D[1]), .Q(Q[1]));
|
1179 |
|
|
FDCE Q0 (.C(C), .CE(CE), .CLR(CLR), .D(D[0]), .Q(Q[0]));
|
1180 |
|
|
FDCE Q2 (.C(C), .CE(CE), .CLR(CLR), .D(D[2]), .Q(Q[2]));
|
1181 |
|
|
FDCE Q3 (.C(C), .CE(CE), .CLR(CLR), .D(D[3]), .Q(Q[3]));
|
1182 |
|
|
FDCE Q4 (.C(C), .CE(CE), .CLR(CLR), .D(D[4]), .Q(Q[4]));
|
1183 |
|
|
FDCE Q6 (.C(C), .CE(CE), .CLR(CLR), .D(D[6]), .Q(Q[6]));
|
1184 |
|
|
FDCE Q7 (.C(C), .CE(CE), .CLR(CLR), .D(D[7]), .Q(Q[7]));
|
1185 |
|
|
FDCE Q8 (.C(C), .CE(CE), .CLR(CLR), .D(D[8]), .Q(Q[8]));
|
1186 |
|
|
FDCE Q9 (.C(C), .CE(CE), .CLR(CLR), .D(D[9]), .Q(Q[9]));
|
1187 |
|
|
FDCE Q10 (.C(C), .CE(CE), .CLR(CLR), .D(D[10]), .Q(Q[10]));
|
1188 |
|
|
FDCE Q11 (.C(C), .CE(CE), .CLR(CLR), .D(D[11]), .Q(Q[11]));
|
1189 |
|
|
FDCE Q12 (.C(C), .CE(CE), .CLR(CLR), .D(D[12]), .Q(Q[12]));
|
1190 |
|
|
FDCE Q13 (.C(C), .CE(CE), .CLR(CLR), .D(D[13]), .Q(Q[13]));
|
1191 |
|
|
FDCE Q14 (.C(C), .CE(CE), .CLR(CLR), .D(D[14]), .Q(Q[14]));
|
1192 |
|
|
FDCE Q15 (.C(C), .CE(CE), .CLR(CLR), .D(D[15]), .Q(Q[15]));
|
1193 |
|
|
|
1194 |
|
|
endmodule // FD16CE
|
1195 |
|
|
|
1196 |
|
|
module REG32 (CLK, EN, I, O);
|
1197 |
|
|
wire X1N57;
|
1198 |
|
|
FD16CE X1I55 (.C(CLK), .CE(EN), .CLR(X1N57), .D({I[15], I[14], I[13],
|
1199 |
|
|
I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3], I[2],
|
1200 |
|
|
I[1], I[0]}), .Q({O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8],
|
1201 |
|
|
O[7], O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
1202 |
|
|
FD16CE X1I56 (.C(CLK), .CE(EN), .CLR(X1N57), .D({I[31], I[30], I[29],
|
1203 |
|
|
I[28], I[27], I[26], I[25], I[24], I[23], I[22], I[21], I[20], I[19],
|
1204 |
|
|
I[18], I[17], I[16]}), .Q({O[31], O[30], O[29], O[28], O[27], O[26],
|
1205 |
|
|
O[25], O[24], O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}));
|
1206 |
|
|
GND X1I59 (.G(X1N57));
|
1207 |
|
|
|
1208 |
|
|
endmodule // REG32
|
1209 |
|
|
|
1210 |
|
|
module INTERRUPT_VECTOR (OUT, PLUS_100, PLUS_80, VECTOR_8000);
|
1211 |
|
|
wire [31:0] P, O;
|
1212 |
|
|
wire X1N142, X1N97;
|
1213 |
|
|
BUF X1I1 (.I(X1N97), .O(O[9]));
|
1214 |
|
|
INV X1I10 (.I(X1N97), .O(O[25]));
|
1215 |
|
|
INV X1I11 (.I(X1N97), .O(O[22]));
|
1216 |
|
|
INV X1I12 (.I(X1N97), .O(O[23]));
|
1217 |
|
|
INV X1I13 (.I(X1N97), .O(O[31]));
|
1218 |
|
|
GND X1I135 (.G(X1N97));
|
1219 |
|
|
MUX2_1X32 X1I139 (.A({O[31], O[30], O[29], O[28], O[27], O[26], O[25],
|
1220 |
|
|
O[24], O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16], O[15],
|
1221 |
|
|
O[14], O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5], O[4],
|
1222 |
|
|
O[3], O[2], O[1], O[0]}), .B({P[31], P[30], P[29], P[28], P[27], P[26],
|
1223 |
|
|
P[25], P[24], P[23], P[22], P[21], P[20], P[19], P[18], P[17], P[16],
|
1224 |
|
|
P[15], P[14], P[13], P[12], P[11], P[10], P[9], P[8], P[7], P[6], P[5],
|
1225 |
|
|
P[4], P[3], P[2], P[1], P[0]}), .SB(VECTOR_8000), .S({OUT[31], OUT[30],
|
1226 |
|
|
OUT[29], OUT[28], OUT[27], OUT[26], OUT[25], OUT[24], OUT[23], OUT[22],
|
1227 |
|
|
OUT[21], OUT[20], OUT[19], OUT[18], OUT[17], OUT[16], OUT[15], OUT[14],
|
1228 |
|
|
OUT[13], OUT[12], OUT[11], OUT[10], OUT[9], OUT[8], OUT[7], OUT[6],
|
1229 |
|
|
OUT[5], OUT[4], OUT[3], OUT[2], OUT[1], OUT[0]}));
|
1230 |
|
|
GND X1I143 (.G(X1N142));
|
1231 |
|
|
BUF X1I144 (.I(X1N142), .O(P[11]));
|
1232 |
|
|
BUF X1I145 (.I(X1N142), .O(P[14]));
|
1233 |
|
|
BUF X1I146 (.I(X1N142), .O(P[1]));
|
1234 |
|
|
BUF X1I147 (.I(X1N142), .O(P[0]));
|
1235 |
|
|
BUF X1I148 (.I(X1N142), .O(P[3]));
|
1236 |
|
|
BUF X1I149 (.I(X1N142), .O(P[2]));
|
1237 |
|
|
BUF X1I150 (.I(X1N142), .O(P[17]));
|
1238 |
|
|
BUF X1I151 (.I(X1N142), .O(P[16]));
|
1239 |
|
|
BUF X1I152 (.I(X1N142), .O(P[15]));
|
1240 |
|
|
BUF X1I153 (.I(X1N142), .O(P[12]));
|
1241 |
|
|
BUF X1I154 (.I(X1N142), .O(P[13]));
|
1242 |
|
|
BUF X1I155 (.I(PLUS_100), .O(P[8]));
|
1243 |
|
|
BUF X1I156 (.I(X1N142), .O(P[6]));
|
1244 |
|
|
BUF X1I157 (.I(PLUS_80), .O(P[7]));
|
1245 |
|
|
BUF X1I158 (.I(X1N142), .O(P[4]));
|
1246 |
|
|
BUF X1I159 (.I(X1N142), .O(P[5]));
|
1247 |
|
|
BUF X1I160 (.I(X1N142), .O(P[19]));
|
1248 |
|
|
BUF X1I161 (.I(X1N142), .O(P[18]));
|
1249 |
|
|
BUF X1I162 (.I(X1N142), .O(P[21]));
|
1250 |
|
|
BUF X1I163 (.I(X1N142), .O(P[20]));
|
1251 |
|
|
BUF X1I164 (.I(X1N142), .O(P[30]));
|
1252 |
|
|
INV X1I165 (.I(X1N142), .O(P[31]));
|
1253 |
|
|
BUF X1I166 (.I(X1N142), .O(P[23]));
|
1254 |
|
|
BUF X1I167 (.I(X1N142), .O(P[22]));
|
1255 |
|
|
BUF X1I168 (.I(X1N142), .O(P[25]));
|
1256 |
|
|
BUF X1I169 (.I(X1N142), .O(P[24]));
|
1257 |
|
|
BUF X1I170 (.I(X1N142), .O(P[27]));
|
1258 |
|
|
BUF X1I171 (.I(X1N142), .O(P[26]));
|
1259 |
|
|
BUF X1I172 (.I(X1N142), .O(P[29]));
|
1260 |
|
|
BUF X1I173 (.I(X1N142), .O(P[28]));
|
1261 |
|
|
BUF X1I174 (.I(X1N142), .O(P[10]));
|
1262 |
|
|
BUF X1I175 (.I(X1N142), .O(P[9]));
|
1263 |
|
|
BUF X1I2 (.I(X1N97), .O(O[10]));
|
1264 |
|
|
BUF X1I38 (.I(X1N97), .O(O[30]));
|
1265 |
|
|
BUF X1I39 (.I(X1N97), .O(O[20]));
|
1266 |
|
|
BUF X1I40 (.I(X1N97), .O(O[21]));
|
1267 |
|
|
BUF X1I41 (.I(X1N97), .O(O[18]));
|
1268 |
|
|
BUF X1I42 (.I(X1N97), .O(O[19]));
|
1269 |
|
|
BUF X1I43 (.I(X1N97), .O(O[5]));
|
1270 |
|
|
BUF X1I44 (.I(X1N97), .O(O[4]));
|
1271 |
|
|
BUF X1I45 (.I(PLUS_80), .O(O[7]));
|
1272 |
|
|
BUF X1I46 (.I(X1N97), .O(O[6]));
|
1273 |
|
|
BUF X1I47 (.I(PLUS_100), .O(O[8]));
|
1274 |
|
|
BUF X1I48 (.I(X1N97), .O(O[13]));
|
1275 |
|
|
BUF X1I49 (.I(X1N97), .O(O[12]));
|
1276 |
|
|
INV X1I5 (.I(X1N97), .O(O[28]));
|
1277 |
|
|
BUF X1I50 (.I(X1N97), .O(O[15]));
|
1278 |
|
|
BUF X1I51 (.I(X1N97), .O(O[16]));
|
1279 |
|
|
BUF X1I52 (.I(X1N97), .O(O[17]));
|
1280 |
|
|
BUF X1I53 (.I(X1N97), .O(O[2]));
|
1281 |
|
|
BUF X1I54 (.I(X1N97), .O(O[3]));
|
1282 |
|
|
BUF X1I55 (.I(X1N97), .O(O[0]));
|
1283 |
|
|
BUF X1I56 (.I(X1N97), .O(O[1]));
|
1284 |
|
|
INV X1I6 (.I(X1N97), .O(O[29]));
|
1285 |
|
|
INV X1I7 (.I(X1N97), .O(O[26]));
|
1286 |
|
|
BUF X1I72 (.I(X1N97), .O(O[14]));
|
1287 |
|
|
INV X1I8 (.I(X1N97), .O(O[27]));
|
1288 |
|
|
INV X1I9 (.I(X1N97), .O(O[24]));
|
1289 |
|
|
BUF X1I96 (.I(X1N97), .O(O[11]));
|
1290 |
|
|
|
1291 |
|
|
endmodule // INTERRUPT_VECTOR
|
1292 |
|
|
|
1293 |
|
|
module MUX3_1X32 (A, B, C, S);
|
1294 |
|
|
output [31:0] S;
|
1295 |
|
|
input [31:0] A;
|
1296 |
|
|
wire [31:0] TEMP, C;
|
1297 |
|
|
MUX2_1X32 X1I1 (.A({TEMP[31], TEMP[30], TEMP[29], TEMP[28], TEMP[27],
|
1298 |
|
|
TEMP[26], TEMP[25], TEMP[24], TEMP[23], TEMP[22], TEMP[21], TEMP[20],
|
1299 |
|
|
TEMP[19], TEMP[18], TEMP[17], TEMP[16], TEMP[15], TEMP[14], TEMP[13],
|
1300 |
|
|
TEMP[12], TEMP[11], TEMP[10], TEMP[9], TEMP[8], TEMP[7], TEMP[6],
|
1301 |
|
|
TEMP[5], TEMP[4], TEMP[3], TEMP[2], TEMP[1], TEMP[0]}), .B({C[31], C[30]
|
1302 |
|
|
, C[29], C[28], C[27], C[26], C[25], C[24], C[23], C[22], C[21], C[20],
|
1303 |
|
|
C[19], C[18], C[17], C[16], C[15], C[14], C[13], C[12], C[11], C[10],
|
1304 |
|
|
C[9], C[8], C[7], C[6], C[5], C[4], C[3], C[2], C[1], C[0]}), .SB(C),
|
1305 |
|
|
.S({S[31], S[30], S[29], S[28], S[27], S[26], S[25], S[24], S[23], S[22]
|
1306 |
|
|
, S[21], S[20], S[19], S[18], S[17], S[16], S[15], S[14], S[13], S[12],
|
1307 |
|
|
S[11], S[10], S[9], S[8], S[7], S[6], S[5], S[4], S[3], S[2], S[1], S[0]
|
1308 |
|
|
}));
|
1309 |
|
|
MUX2_1X32 X1I2 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25], A[24]
|
1310 |
|
|
, A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16], A[15], A[14],
|
1311 |
|
|
A[13], A[12], A[11], A[10], A[9], A[8], A[7], A[6], A[5], A[4], A[3],
|
1312 |
|
|
A[2], A[1], A[0]}), .B({B[31], B[30], B[29], B[28], B[27], B[26], B[25]
|
1313 |
|
|
, B[24], B[23], B[22], B[21], B[20], B[19], B[18], B[17], B[16], B[15],
|
1314 |
|
|
B[14], B[13], B[12], B[11], B[10], B[9], B[8], B[7], B[6], B[5], B[4],
|
1315 |
|
|
B[3], B[2], B[1], B[0]}), .SB(B), .S({TEMP[31], TEMP[30], TEMP[29],
|
1316 |
|
|
TEMP[28], TEMP[27], TEMP[26], TEMP[25], TEMP[24], TEMP[23], TEMP[22],
|
1317 |
|
|
TEMP[21], TEMP[20], TEMP[19], TEMP[18], TEMP[17], TEMP[16], TEMP[15],
|
1318 |
|
|
TEMP[14], TEMP[13], TEMP[12], TEMP[11], TEMP[10], TEMP[9], TEMP[8],
|
1319 |
|
|
TEMP[7], TEMP[6], TEMP[5], TEMP[4], TEMP[3], TEMP[2], TEMP[1], TEMP[0]})
|
1320 |
|
|
);
|
1321 |
|
|
|
1322 |
|
|
endmodule // MUX3_1X32
|
1323 |
|
|
|
1324 |
|
|
module RANDOM (CLK, P);
|
1325 |
|
|
wire X1N130, X1N121, X1N141, X1N124, X1N115, X1N134, X1N127, X1N118,
|
1326 |
|
|
X1N137, X1N92, RESET;
|
1327 |
|
|
INV X1I114 (.I(P[9]), .O(X1N115));
|
1328 |
|
|
INV X1I117 (.I(P[10]), .O(X1N118));
|
1329 |
|
|
INV X1I123 (.I(P[12]), .O(X1N124));
|
1330 |
|
|
INV X1I126 (.I(P[13]), .O(X1N127));
|
1331 |
|
|
AND2 X1I129 (.I0(P[9]), .I1(P[8]), .O(X1N130));
|
1332 |
|
|
AND2 X1I139 (.I0(P[11]), .I1(X1N134), .O(X1N137));
|
1333 |
|
|
AND2 X1I143 (.I0(P[12]), .I1(X1N137), .O(X1N141));
|
1334 |
|
|
AND2 X1I168 (.I0(P[10]), .I1(X1N130), .O(X1N134));
|
1335 |
|
|
OR2B1 X1I169 (.I0(P[11]), .I1(RESET), .O(X1N121));
|
1336 |
|
|
AND2 X1I182 (.I0(P[13]), .I1(X1N141), .O(RESET));
|
1337 |
|
|
FDE X1I78 (.C(CLK), .CE(X1N134), .D(X1N121), .Q(P[11]));
|
1338 |
|
|
FDE X1I79 (.C(CLK), .CE(X1N130), .D(X1N118), .Q(P[10]));
|
1339 |
|
|
FDE X1I80 (.C(CLK), .CE(X1N141), .D(X1N127), .Q(P[13]));
|
1340 |
|
|
FDE X1I81 (.C(CLK), .CE(X1N137), .D(X1N124), .Q(P[12]));
|
1341 |
|
|
FDE X1I82 (.C(CLK), .CE(P[8]), .D(X1N115), .Q(P[9]));
|
1342 |
|
|
FDE X1I83 (.C(CLK), .D(X1N92), .Q(P[8]));
|
1343 |
|
|
INV X1I90 (.I(P[8]), .O(X1N92));
|
1344 |
|
|
|
1345 |
|
|
// WARNING - Component X1I83 has unconnected pins: 1 input, 0 output, 0 inout.
|
1346 |
|
|
endmodule // RANDOM
|
1347 |
|
|
|
1348 |
|
|
module X7SEG (\D,C,B,A , .D,C,B,A(\D,C,B,A ), \SA,SB,SC,SD,SE,SF,SG ,
|
1349 |
|
|
.SA,SB,SC,SD,SE,SF,SG(\SA,SB,SC,SD,SE,SF,SG ));
|
1350 |
|
|
wire X1N131, X1N105, X1N142, X1N133, X1N106, X1N161, X1N171, X1N144,
|
1351 |
|
|
X1N135, X1N108, X1N190, X1N163, X1N191, X1N173, X1N146, X1N129, X1N175,
|
1352 |
|
|
X1N157, X1N148, X1N168, X1N159, X1N188, SA, SB, SC, SD, SE, SF, SG,
|
1353 |
|
|
X1N60, A, X1N62, B, C, D, X1N59;
|
1354 |
|
|
AND4B3 X1I1 (.I0(B), .I1(C), .I2(D), .I3(A), .O(X1N148));
|
1355 |
|
|
NOR3 X1I104 (.I0(X1N106), .I1(X1N105), .I2(X1N108), .O(SE));
|
1356 |
|
|
AND3B2 X1I110 (.I0(C), .I1(D), .I2(A), .O(X1N157));
|
1357 |
|
|
AND3B2 X1I111 (.I0(C), .I1(D), .I2(B), .O(X1N159));
|
1358 |
|
|
AND3B1 X1I112 (.I0(D), .I1(A), .I2(B), .O(X1N161));
|
1359 |
|
|
AND4B1 X1I113 (.I0(B), .I1(A), .I2(C), .I3(D), .O(X1N163));
|
1360 |
|
|
NOR4 X1I128 (.I0(X1N129), .I1(X1N131), .I2(X1N133), .I3(X1N135), .O(SB));
|
1361 |
|
|
NOR4 X1I139 (.I0(X1N144), .I1(X1N146), .I2(X1N142), .I3(X1N148), .O(SA));
|
1362 |
|
|
NOR4 X1I150 (.I0(X1N168), .I1(X1N171), .I2(X1N173), .I3(X1N175), .O(SD));
|
1363 |
|
|
NOR4 X1I153 (.I0(X1N163), .I1(X1N161), .I2(X1N159), .I3(X1N157), .O(SF));
|
1364 |
|
|
AND3B3 X1I177 (.I0(B), .I1(C), .I2(D), .O(X1N188));
|
1365 |
|
|
AND4B1 X1I179 (.I0(D), .I1(A), .I2(B), .I3(C), .O(X1N190));
|
1366 |
|
|
AND4B2 X1I180 (.I0(A), .I1(B), .I2(C), .I3(D), .O(X1N191));
|
1367 |
|
|
NOR3 X1I189 (.I0(X1N191), .I1(X1N190), .I2(X1N188), .O(SG));
|
1368 |
|
|
AND4B3 X1I2 (.I0(A), .I1(B), .I2(D), .I3(C), .O(X1N142));
|
1369 |
|
|
MU_TITLE X1I201 ();
|
1370 |
|
|
AND4B2 X1I24 (.I0(B), .I1(D), .I2(C), .I3(A), .O(X1N135));
|
1371 |
|
|
AND4B2 X1I25 (.I0(A), .I1(D), .I2(C), .I3(B), .O(X1N133));
|
1372 |
|
|
AND3 X1I26 (.I0(A), .I1(B), .I2(D), .O(X1N131));
|
1373 |
|
|
AND3B1 X1I27 (.I0(A), .I1(C), .I2(D), .O(X1N129));
|
1374 |
|
|
AND4B1 X1I3 (.I0(C), .I1(A), .I2(B), .I3(D), .O(X1N146));
|
1375 |
|
|
AND4B1 X1I4 (.I0(B), .I1(A), .I2(C), .I3(D), .O(X1N144));
|
1376 |
|
|
AND3B1 X1I43 (.I0(A), .I1(C), .I2(D), .O(X1N59));
|
1377 |
|
|
AND3 X1I44 (.I0(B), .I1(C), .I2(D), .O(X1N62));
|
1378 |
|
|
AND4B3 X1I46 (.I0(A), .I1(C), .I2(D), .I3(B), .O(X1N60));
|
1379 |
|
|
NOR3 X1I58 (.I0(X1N62), .I1(X1N59), .I2(X1N60), .O(SC));
|
1380 |
|
|
AND4B3 X1I67 (.I0(B), .I1(C), .I2(D), .I3(A), .O(X1N175));
|
1381 |
|
|
AND4B3 X1I76 (.I0(A), .I1(B), .I2(D), .I3(C), .O(X1N173));
|
1382 |
|
|
AND3 X1I77 (.I0(A), .I1(B), .I2(C), .O(X1N171));
|
1383 |
|
|
AND4B2 X1I81 (.I0(A), .I1(C), .I2(B), .I3(D), .O(X1N168));
|
1384 |
|
|
AND3B2 X1I87 (.I0(B), .I1(D), .I2(C), .O(X1N105));
|
1385 |
|
|
AND3B2 X1I89 (.I0(B), .I1(C), .I2(A), .O(X1N106));
|
1386 |
|
|
AND2B1 X1I98 (.I0(D), .I1(A), .O(X1N108));
|
1387 |
|
|
|
1388 |
|
|
endmodule // X7SEG
|
1389 |
|
|
|
1390 |
|
|
module X14SEG (IN, LEFT, RIGHT);
|
1391 |
|
|
X7SEG X1I1 (.D,C,B,A({IN[3], IN[2], IN[1], IN[0]}), .SA,SB,SC,SD,SE,SF,SG(
|
1392 |
|
|
{RIGHT[6], RIGHT[5], RIGHT[4], RIGHT[3], RIGHT[2], RIGHT[1], RIGHT[0]})
|
1393 |
|
|
);
|
1394 |
|
|
X7SEG X1I2 (.D,C,B,A({IN[7], IN[6], IN[5], IN[4]}),
|
1395 |
|
|
.SA,SB,SC,SD,SE,SF,SG({LEFT[6], LEFT[5], LEFT[4], LEFT[3], LEFT[2],
|
1396 |
|
|
LEFT[1], LEFT[0]}));
|
1397 |
|
|
|
1398 |
|
|
endmodule // X14SEG
|
1399 |
|
|
|
1400 |
|
|
module PC32 (CLK, EN, I, O);
|
1401 |
|
|
wire [31:0] OA, IA, I, O;
|
1402 |
|
|
wire X1N57;
|
1403 |
|
|
INV X1I141 (.I(I[31]), .O(IA[31]));
|
1404 |
|
|
BUF X1I168 (.I(I[30]), .O(IA[30]));
|
1405 |
|
|
INV X1I169 (.I(I[29]), .O(IA[29]));
|
1406 |
|
|
INV X1I170 (.I(I[28]), .O(IA[28]));
|
1407 |
|
|
INV X1I171 (.I(I[27]), .O(IA[27]));
|
1408 |
|
|
INV X1I172 (.I(I[26]), .O(IA[26]));
|
1409 |
|
|
INV X1I173 (.I(I[25]), .O(IA[25]));
|
1410 |
|
|
INV X1I174 (.I(I[24]), .O(IA[24]));
|
1411 |
|
|
INV X1I175 (.I(I[23]), .O(IA[23]));
|
1412 |
|
|
INV X1I176 (.I(I[22]), .O(IA[22]));
|
1413 |
|
|
BUF X1I177 (.I(I[21]), .O(IA[21]));
|
1414 |
|
|
BUF X1I178 (.I(I[20]), .O(IA[20]));
|
1415 |
|
|
BUF X1I179 (.I(I[19]), .O(IA[19]));
|
1416 |
|
|
BUF X1I180 (.I(I[18]), .O(IA[18]));
|
1417 |
|
|
BUF X1I198 (.I(I[17]), .O(IA[17]));
|
1418 |
|
|
BUF X1I199 (.I(I[16]), .O(IA[16]));
|
1419 |
|
|
BUF X1I200 (.I(I[14]), .O(IA[14]));
|
1420 |
|
|
BUF X1I201 (.I(I[15]), .O(IA[15]));
|
1421 |
|
|
BUF X1I202 (.I(I[12]), .O(IA[12]));
|
1422 |
|
|
BUF X1I203 (.I(I[13]), .O(IA[13]));
|
1423 |
|
|
BUF X1I204 (.I(I[10]), .O(IA[10]));
|
1424 |
|
|
BUF X1I205 (.I(I[11]), .O(IA[11]));
|
1425 |
|
|
BUF X1I206 (.I(I[8]), .O(IA[8]));
|
1426 |
|
|
BUF X1I207 (.I(I[9]), .O(IA[9]));
|
1427 |
|
|
BUF X1I208 (.I(I[6]), .O(IA[6]));
|
1428 |
|
|
BUF X1I209 (.I(I[7]), .O(IA[7]));
|
1429 |
|
|
BUF X1I210 (.I(I[4]), .O(IA[4]));
|
1430 |
|
|
BUF X1I211 (.I(I[5]), .O(IA[5]));
|
1431 |
|
|
BUF X1I212 (.I(I[1]), .O(IA[1]));
|
1432 |
|
|
BUF X1I213 (.I(I[0]), .O(IA[0]));
|
1433 |
|
|
BUF X1I214 (.I(I[3]), .O(IA[3]));
|
1434 |
|
|
BUF X1I215 (.I(I[2]), .O(IA[2]));
|
1435 |
|
|
INV X1I402 (.I(OA[31]), .O(O[31]));
|
1436 |
|
|
BUF X1I407 (.I(OA[30]), .O(O[30]));
|
1437 |
|
|
INV X1I408 (.I(OA[28]), .O(O[28]));
|
1438 |
|
|
INV X1I409 (.I(OA[29]), .O(O[29]));
|
1439 |
|
|
INV X1I410 (.I(OA[26]), .O(O[26]));
|
1440 |
|
|
INV X1I411 (.I(OA[27]), .O(O[27]));
|
1441 |
|
|
INV X1I412 (.I(OA[24]), .O(O[24]));
|
1442 |
|
|
INV X1I413 (.I(OA[25]), .O(O[25]));
|
1443 |
|
|
INV X1I414 (.I(OA[22]), .O(O[22]));
|
1444 |
|
|
INV X1I415 (.I(OA[23]), .O(O[23]));
|
1445 |
|
|
BUF X1I416 (.I(OA[20]), .O(O[20]));
|
1446 |
|
|
BUF X1I417 (.I(OA[21]), .O(O[21]));
|
1447 |
|
|
BUF X1I418 (.I(OA[18]), .O(O[18]));
|
1448 |
|
|
BUF X1I419 (.I(OA[19]), .O(O[19]));
|
1449 |
|
|
BUF X1I437 (.I(OA[5]), .O(O[5]));
|
1450 |
|
|
BUF X1I438 (.I(OA[4]), .O(O[4]));
|
1451 |
|
|
BUF X1I439 (.I(OA[7]), .O(O[7]));
|
1452 |
|
|
BUF X1I440 (.I(OA[6]), .O(O[6]));
|
1453 |
|
|
BUF X1I441 (.I(OA[9]), .O(O[9]));
|
1454 |
|
|
BUF X1I442 (.I(OA[8]), .O(O[8]));
|
1455 |
|
|
BUF X1I443 (.I(OA[11]), .O(O[11]));
|
1456 |
|
|
BUF X1I444 (.I(OA[10]), .O(O[10]));
|
1457 |
|
|
BUF X1I445 (.I(OA[13]), .O(O[13]));
|
1458 |
|
|
BUF X1I446 (.I(OA[12]), .O(O[12]));
|
1459 |
|
|
BUF X1I447 (.I(OA[15]), .O(O[15]));
|
1460 |
|
|
BUF X1I448 (.I(OA[14]), .O(O[14]));
|
1461 |
|
|
BUF X1I449 (.I(OA[16]), .O(O[16]));
|
1462 |
|
|
BUF X1I450 (.I(OA[17]), .O(O[17]));
|
1463 |
|
|
BUF X1I451 (.I(OA[2]), .O(O[2]));
|
1464 |
|
|
BUF X1I452 (.I(OA[3]), .O(O[3]));
|
1465 |
|
|
BUF X1I453 (.I(OA[0]), .O(O[0]));
|
1466 |
|
|
BUF X1I454 (.I(OA[1]), .O(O[1]));
|
1467 |
|
|
FD16CE X1I55 (.C(CLK), .CE(EN), .CLR(X1N57), .D({IA[15], IA[14], IA[13],
|
1468 |
|
|
IA[12], IA[11], IA[10], IA[9], IA[8], IA[7], IA[6], IA[5], IA[4], IA[3]
|
1469 |
|
|
, IA[2], IA[1], IA[0]}), .Q({OA[15], OA[14], OA[13], OA[12], OA[11],
|
1470 |
|
|
OA[10], OA[9], OA[8], OA[7], OA[6], OA[5], OA[4], OA[3], OA[2], OA[1],
|
1471 |
|
|
OA[0]}));
|
1472 |
|
|
FD16CE X1I56 (.C(CLK), .CE(EN), .CLR(X1N57), .D({IA[31], IA[30], IA[29],
|
1473 |
|
|
IA[28], IA[27], IA[26], IA[25], IA[24], IA[23], IA[22], IA[21], IA[20],
|
1474 |
|
|
IA[19], IA[18], IA[17], IA[16]}), .Q({OA[31], OA[30], OA[29], OA[28],
|
1475 |
|
|
OA[27], OA[26], OA[25], OA[24], OA[23], OA[22], OA[21], OA[20], OA[19],
|
1476 |
|
|
OA[18], OA[17], OA[16]}));
|
1477 |
|
|
GND X1I59 (.G(X1N57));
|
1478 |
|
|
|
1479 |
|
|
endmodule // PC32
|
1480 |
|
|
|
1481 |
|
|
module REG6 (CLK, EN, I, O, RES);
|
1482 |
|
|
FDRE X1I1 (.C(CLK), .CE(EN), .D(I[4]), .Q(O[4]), .R(RES));
|
1483 |
|
|
FDRE X1I2 (.C(CLK), .CE(EN), .D(I[3]), .Q(O[3]), .R(RES));
|
1484 |
|
|
FDRE X1I3 (.C(CLK), .CE(EN), .D(I[2]), .Q(O[2]), .R(RES));
|
1485 |
|
|
FDRE X1I39 (.C(CLK), .CE(EN), .D(I[5]), .Q(O[5]), .R(RES));
|
1486 |
|
|
FDRE X1I4 (.C(CLK), .CE(EN), .D(I[1]), .Q(O[1]), .R(RES));
|
1487 |
|
|
FDRE X1I5 (.C(CLK), .CE(EN), .D(I[0]), .Q(O[0]), .R(RES));
|
1488 |
|
|
|
1489 |
|
|
endmodule // REG6
|
1490 |
|
|
|
1491 |
|
|
module CACHE (ADDRESS, CLK, DATAIN, DATA, HIT, PFNIN, WRITE);
|
1492 |
|
|
wire [19:0] PFN;
|
1493 |
|
|
wire [9:0] ADDRESS;
|
1494 |
|
|
wire VCC;
|
1495 |
|
|
VCC X1I437 (.P(VCC));
|
1496 |
|
|
GND X1I447 (.G(HIT));
|
1497 |
|
|
|
1498 |
|
|
endmodule // CACHE
|
1499 |
|
|
|
1500 |
|
|
module SOP3 (I0, I1, I2, O);
|
1501 |
|
|
output O;
|
1502 |
|
|
input I2, I1, I0;
|
1503 |
|
|
wire [15:0] Q, D;
|
1504 |
|
|
wire I01;
|
1505 |
|
|
AND2 X1I31 (.I0(I0), .I1(I1), .O(I01));
|
1506 |
|
|
OR2 X1I32 (.I0(I01), .I1(I2), .O(O));
|
1507 |
|
|
|
1508 |
|
|
endmodule // SOP3
|
1509 |
|
|
|
1510 |
|
|
module M2_1X20 (A, B, SB, S);
|
1511 |
|
|
output [19:0] S;
|
1512 |
|
|
input [19:0] B;
|
1513 |
|
|
input [19:0] A;
|
1514 |
|
|
M2_1 X1I100 (.D0(A[17]), .D1(B[17]), .O(S[17]), .S0(SB));
|
1515 |
|
|
M2_1 X1I105 (.D0(A[15]), .D1(B[15]), .O(S[15]), .S0(SB));
|
1516 |
|
|
M2_1 X1I106 (.D0(A[14]), .D1(B[14]), .O(S[14]), .S0(SB));
|
1517 |
|
|
M2_1 X1I107 (.D0(A[12]), .D1(B[12]), .O(S[12]), .S0(SB));
|
1518 |
|
|
M2_1 X1I108 (.D0(A[13]), .D1(B[13]), .O(S[13]), .S0(SB));
|
1519 |
|
|
M2_1 X1I109 (.D0(A[9]), .D1(B[9]), .O(S[9]), .S0(SB));
|
1520 |
|
|
M2_1 X1I110 (.D0(A[8]), .D1(B[8]), .O(S[8]), .S0(SB));
|
1521 |
|
|
M2_1 X1I111 (.D0(A[10]), .D1(B[10]), .O(S[10]), .S0(SB));
|
1522 |
|
|
M2_1 X1I112 (.D0(A[11]), .D1(B[11]), .O(S[11]), .S0(SB));
|
1523 |
|
|
M2_1 X1I117 (.D0(A[7]), .D1(B[7]), .O(S[7]), .S0(SB));
|
1524 |
|
|
M2_1 X1I118 (.D0(A[6]), .D1(B[6]), .O(S[6]), .S0(SB));
|
1525 |
|
|
M2_1 X1I119 (.D0(A[4]), .D1(B[4]), .O(S[4]), .S0(SB));
|
1526 |
|
|
M2_1 X1I120 (.D0(A[5]), .D1(B[5]), .O(S[5]), .S0(SB));
|
1527 |
|
|
M2_1 X1I121 (.D0(A[1]), .D1(B[1]), .O(S[1]), .S0(SB));
|
1528 |
|
|
M2_1 X1I122 (.D0(A[0]), .D1(B[0]), .O(S[0]), .S0(SB));
|
1529 |
|
|
M2_1 X1I123 (.D0(A[2]), .D1(B[2]), .O(S[2]), .S0(SB));
|
1530 |
|
|
M2_1 X1I124 (.D0(A[3]), .D1(B[3]), .O(S[3]), .S0(SB));
|
1531 |
|
|
M2_1 X1I97 (.D0(A[19]), .D1(B[19]), .O(S[19]), .S0(SB));
|
1532 |
|
|
M2_1 X1I98 (.D0(A[18]), .D1(B[18]), .O(S[18]), .S0(SB));
|
1533 |
|
|
M2_1 X1I99 (.D0(A[16]), .D1(B[16]), .O(S[16]), .S0(SB));
|
1534 |
|
|
|
1535 |
|
|
endmodule // M2_1X20
|
1536 |
|
|
|
1537 |
|
|
module AND6 (I0, I1, I2, I3, I4, I5, O);
|
1538 |
|
|
output O;
|
1539 |
|
|
input I5, I4, I3, I2, I1, I0;
|
1540 |
|
|
wire I35;
|
1541 |
|
|
AND3 X1I69 (.I0(I3), .I1(I4), .I2(I5), .O(I35));
|
1542 |
|
|
AND4 X1I85 (.I0(I0), .I1(I1), .I2(I2), .I3(I35), .O(O));
|
1543 |
|
|
|
1544 |
|
|
endmodule // AND6
|
1545 |
|
|
|
1546 |
|
|
module FD4CE (C, CE, CLR, .D0(D[0]), .D1(D[1]), .D2(D[2]), .D3(D[3]), .Q0
|
1547 |
|
|
(Q[0]), .Q1(Q[1]), .Q2(Q[2]), .Q3(Q[3]));
|
1548 |
|
|
output [3:0] Q;
|
1549 |
|
|
input CLR, CE, C;
|
1550 |
|
|
input [3:0] D;
|
1551 |
|
|
wire [15:0] O, I, Q, D, IO;
|
1552 |
|
|
wire [7:0] DPO, SPO;
|
1553 |
|
|
FDCE Q2 (.C(C), .CE(CE), .CLR(CLR), .D(D[2]), .Q(Q[2]));
|
1554 |
|
|
FDCE Q0 (.C(C), .CE(CE), .CLR(CLR), .D(D[0]), .Q(Q[0]));
|
1555 |
|
|
FDCE Q1 (.C(C), .CE(CE), .CLR(CLR), .D(D[1]), .Q(Q[1]));
|
1556 |
|
|
FDCE Q3 (.C(C), .CE(CE), .CLR(CLR), .D(D[3]), .Q(Q[3]));
|
1557 |
|
|
|
1558 |
|
|
endmodule // FD4CE
|
1559 |
|
|
|
1560 |
|
|
module MMUSEG (CLK, HIT_X, HIT_Y, \VPN[19:0],ASID[5:0],GLOB ,
|
1561 |
|
|
.VPN,ASID[5:0],GLOB[19:0](\VPN,ASID[5:0],GLOB[19:0] ), WRITE_X, WRITE_Y)
|
1562 |
|
|
;
|
1563 |
|
|
wire [19:0] VPN;
|
1564 |
|
|
wire [5:0] ASID;
|
1565 |
|
|
wire X1N110, X1N101, X1N111, X1N112, X1N103, X1N114, X1N431, X1N360,
|
1566 |
|
|
X1N108, X1N370, X1N280, X1N118, X1N109, X1N371, X1N290, X1N281, X1N272,
|
1567 |
|
|
X1N263, X1N119, X1N372, X1N282, X1N273, X1N481, X1N373, X1N364, X1N283,
|
1568 |
|
|
X1N274, X1N374, X1N365, X1N284, X1N275, X1N483, X1N375, X1N366, X1N285,
|
1569 |
|
|
X1N276, X1N466, X1N367, X1N286, X1N277, X1N485, X1N368, X1N287, X1N278,
|
1570 |
|
|
X1N477, X1N369, X1N288, X1N279, X1N487, X1N289, X1N479, X1N489, HIT,
|
1571 |
|
|
ASID_MATCH, X1N24, X1N19, X1N74, X1N75, X1N96, X1N99, GLOB, WRITE;
|
1572 |
|
|
XNOR2 X1I100 (.I0(ASID[3]), .I1(X1N101), .O(X1N109));
|
1573 |
|
|
XNOR2 X1I102 (.I0(ASID[2]), .I1(X1N103), .O(X1N108));
|
1574 |
|
|
XNOR2 X1I104 (.I0(ASID[1]), .I1(X1N74), .O(X1N112));
|
1575 |
|
|
XNOR2 X1I105 (.I0(ASID[0]), .I1(X1N75), .O(X1N114));
|
1576 |
|
|
AND6 X1I107 (.I0(X1N114), .I1(X1N112), .I2(X1N108), .I3(X1N109), .I4
|
1577 |
|
|
(X1N110), .I5(X1N111), .O(X1N118));
|
1578 |
|
|
FD4CE X1I11 (.C(CLK), .CE(WRITE), .CLR(X1N19), .D0(VPN[11]), .D1(VPN[10])
|
1579 |
|
|
, .D2(VPN[9]), .D3(VPN[8]), .Q0(X1N279), .Q1(X1N280), .Q2(X1N281), .Q3
|
1580 |
|
|
(X1N282));
|
1581 |
|
|
OR2 X1I117 (.I0(X1N119), .I1(X1N118), .O(ASID_MATCH));
|
1582 |
|
|
FD4CE X1I12 (.C(CLK), .CE(WRITE), .CLR(X1N19), .D0(VPN[7]), .D1(VPN[6]),
|
1583 |
|
|
.D2(VPN[5]), .D3(VPN[4]), .Q0(X1N283), .Q1(X1N284), .Q2(X1N285), .Q3
|
1584 |
|
|
(X1N286));
|
1585 |
|
|
FD4CE X1I13 (.C(CLK), .CE(WRITE), .CLR(X1N24), .D0(ASID[5]), .D1(ASID[4])
|
1586 |
|
|
, .D2(ASID[3]), .D3(ASID[2]), .Q0(X1N96), .Q1(X1N99), .Q2(X1N101), .Q3
|
1587 |
|
|
(X1N103));
|
1588 |
|
|
FD4CE X1I14 (.C(CLK), .CE(WRITE), .CLR(X1N19), .D0(VPN[3]), .D1(VPN[2]),
|
1589 |
|
|
.D2(VPN[1]), .D3(VPN[0]), .Q0(X1N287), .Q1(X1N288), .Q2(X1N289), .Q3
|
1590 |
|
|
(X1N290));
|
1591 |
|
|
FDCE X1I16 (.C(CLK), .CE(WRITE), .CLR(X1N24), .D(ASID[1]), .Q(X1N74));
|
1592 |
|
|
FDCE X1I17 (.C(CLK), .CE(WRITE), .CLR(X1N24), .D(ASID[0]), .Q(X1N75));
|
1593 |
|
|
FDCE X1I18 (.C(CLK), .CE(WRITE), .CLR(X1N24), .D(GLOB), .Q(X1N119));
|
1594 |
|
|
XNOR2 X1I255 (.I0(VPN[4]), .I1(X1N286), .O(X1N371));
|
1595 |
|
|
XNOR2 X1I256 (.I0(VPN[5]), .I1(X1N285), .O(X1N370));
|
1596 |
|
|
XNOR2 X1I257 (.I0(VPN[6]), .I1(X1N284), .O(X1N369));
|
1597 |
|
|
XNOR2 X1I258 (.I0(VPN[7]), .I1(X1N283), .O(X1N368));
|
1598 |
|
|
XNOR2 X1I259 (.I0(VPN[8]), .I1(X1N282), .O(X1N367));
|
1599 |
|
|
XNOR2 X1I260 (.I0(VPN[9]), .I1(X1N281), .O(X1N375));
|
1600 |
|
|
XNOR2 X1I261 (.I0(VPN[10]), .I1(X1N280), .O(X1N366));
|
1601 |
|
|
XNOR2 X1I262 (.I0(VPN[11]), .I1(X1N279), .O(X1N365));
|
1602 |
|
|
XNOR2 X1I264 (.I0(VPN[15]), .I1(X1N275), .O(X1N479));
|
1603 |
|
|
XNOR2 X1I265 (.I0(VPN[14]), .I1(X1N276), .O(X1N477));
|
1604 |
|
|
XNOR2 X1I266 (.I0(VPN[12]), .I1(X1N278), .O(X1N364));
|
1605 |
|
|
XNOR2 X1I267 (.I0(VPN[13]), .I1(X1N277), .O(X1N466));
|
1606 |
|
|
XNOR2 X1I268 (.I0(VPN[17]), .I1(X1N273), .O(X1N483));
|
1607 |
|
|
XNOR2 X1I269 (.I0(VPN[16]), .I1(X1N274), .O(X1N481));
|
1608 |
|
|
XNOR2 X1I270 (.I0(VPN[18]), .I1(X1N272), .O(X1N485));
|
1609 |
|
|
XNOR2 X1I271 (.I0(VPN[19]), .I1(X1N263), .O(X1N487));
|
1610 |
|
|
GND X1I28 (.G(X1N24));
|
1611 |
|
|
XNOR2 X1I291 (.I0(VPN[3]), .I1(X1N287), .O(X1N372));
|
1612 |
|
|
XNOR2 X1I292 (.I0(VPN[2]), .I1(X1N288), .O(X1N373));
|
1613 |
|
|
XNOR2 X1I293 (.I0(VPN[1]), .I1(X1N289), .O(X1N374));
|
1614 |
|
|
XNOR2 X1I294 (.I0(VPN[0]), .I1(X1N290), .O(X1N360));
|
1615 |
|
|
GND X1I31 (.G(X1N19));
|
1616 |
|
|
FD4CE X1I4 (.C(CLK), .CE(WRITE), .CLR(X1N19), .D0(VPN[15]), .D1(VPN[14]),
|
1617 |
|
|
.D2(VPN[13]), .D3(VPN[12]), .Q0(X1N275), .Q1(X1N276), .Q2(X1N277), .Q3
|
1618 |
|
|
(X1N278));
|
1619 |
|
|
AND16 X1I400 (.I0(X1N360), .I1(X1N374), .I10(X1N366), .I11(X1N365), .I12
|
1620 |
|
|
(X1N364), .I13(X1N466), .I14(X1N489), .I15(ASID_MATCH), .I2(X1N373), .I3
|
1621 |
|
|
(X1N372), .I4(X1N371), .I5(X1N370), .I6(X1N369), .I7(X1N368), .I8
|
1622 |
|
|
(X1N367), .I9(X1N375), .O(HIT));
|
1623 |
|
|
AND2 X1I411 (.I0(WRITE_Y), .I1(WRITE_X), .O(WRITE));
|
1624 |
|
|
BUFE X1I417 (.E(HIT), .I(X1N431), .O(HIT_X));
|
1625 |
|
|
BUFE X1I427 (.E(HIT), .I(X1N431), .O(HIT_Y));
|
1626 |
|
|
GND X1I430 (.G(X1N431));
|
1627 |
|
|
AND6 X1I476 (.I0(X1N477), .I1(X1N479), .I2(X1N481), .I3(X1N483), .I4
|
1628 |
|
|
(X1N485), .I5(X1N487), .O(X1N489));
|
1629 |
|
|
XNOR2 X1I76 (.I0(ASID[5]), .I1(X1N96), .O(X1N111));
|
1630 |
|
|
FD4CE X1I8 (.C(CLK), .CE(WRITE), .CLR(X1N19), .D0(VPN[19]), .D1(VPN[18]),
|
1631 |
|
|
.D2(VPN[17]), .D3(VPN[16]), .Q0(X1N263), .Q1(X1N272), .Q2(X1N273), .Q3
|
1632 |
|
|
(X1N274));
|
1633 |
|
|
XNOR2 X1I98 (.I0(ASID[4]), .I1(X1N99), .O(X1N110));
|
1634 |
|
|
|
1635 |
|
|
ERROR - Ports should not have increments other than 1
|
1636 |
|
|
endmodule // MMUSEG
|
1637 |
|
|
|
1638 |
|
|
module D3_8E (.A0(A[0]), .A1(A[1]), .A2(A[2]), .D0(D[0]), .D1(D[1]), .D2
|
1639 |
|
|
(D[2]), .D3(D[3]), .D4(D[4]), .D5(D[5]), .D6(D[6]), .D7(D[7]), E);
|
1640 |
|
|
output [7:0] D;
|
1641 |
|
|
input E;
|
1642 |
|
|
input [2:0] A;
|
1643 |
|
|
wire [63:0] A;
|
1644 |
|
|
wire [15:0] Q, D, O, I, IO;
|
1645 |
|
|
wire [7:0] DPO, SPO;
|
1646 |
|
|
AND4 X1I30 (.I0(A[2]), .I1(A[1]), .I2(A[0]), .I3(E), .O(D[7]));
|
1647 |
|
|
AND4B1 X1I31 (.I0(A[0]), .I1(A[2]), .I2(A[1]), .I3(E), .O(D[6]));
|
1648 |
|
|
AND4B1 X1I32 (.I0(A[1]), .I1(A[2]), .I2(A[0]), .I3(E), .O(D[5]));
|
1649 |
|
|
AND4B2 X1I33 (.I0(A[1]), .I1(A[0]), .I2(A[2]), .I3(E), .O(D[4]));
|
1650 |
|
|
AND4B1 X1I34 (.I0(A[2]), .I1(A[0]), .I2(A[1]), .I3(E), .O(D[3]));
|
1651 |
|
|
AND4B2 X1I35 (.I0(A[2]), .I1(A[0]), .I2(A[1]), .I3(E), .O(D[2]));
|
1652 |
|
|
AND4B2 X1I36 (.I0(A[2]), .I1(A[1]), .I2(A[0]), .I3(E), .O(D[1]));
|
1653 |
|
|
AND4B3 X1I37 (.I0(A[2]), .I1(A[1]), .I2(A[0]), .I3(E), .O(D[0]));
|
1654 |
|
|
|
1655 |
|
|
endmodule // D3_8E
|
1656 |
|
|
|
1657 |
|
|
module MMU (CLK, DIRTY, ENTRY_HI, ENTRY_HI_OUT, ENTRY_LO, ENTRY_LO_OUT, HIT
|
1658 |
|
|
, HIT_BUT_NOT_VALID, INDEX_IN, INDEX_OUT, LOOK_UP, NO_CACHE, PFN, READ,
|
1659 |
|
|
VPN_INTO, WRITE_IN);
|
1660 |
|
|
wire [31:0] ENTRY_HI_A, ENTRY_LO_B, ENTRY_LO_A, ENTRY_HI_B, ENTRY_LO_OUT;
|
1661 |
|
|
wire [19:0] LOOKUP_VPN, PFN;
|
1662 |
|
|
wire [5:0] INDEX_IN;
|
1663 |
|
|
wire X1N610, X1N611, X1N612, X1N613, X1N614, X1N560, X1N660, X1N615,
|
1664 |
|
|
X1N616, X1N932, X1N347, X1N960, X1N870, X1N726, X1N627, X1N609, X1N871,
|
1665 |
|
|
X1N953, X1N872, X1N782, X1N584, X1N981, X1N873, X1N693, X1N946, X1N874,
|
1666 |
|
|
X1N974, X1N875, X1N939, X1N759, X1N967, X1N868, X1N869, X1N1240, X1N1080
|
1667 |
|
|
, X1N1315, X1N1226, X1N1082, X1N1283, X1N1185, X1N1249, X1N1096, X1N1087
|
1668 |
|
|
, X1N1078, X1N1088, X1N1089, WRITE;
|
1669 |
|
|
supply0 GND;
|
1670 |
|
|
PULLUP X1I1000 (.O(X1N872));
|
1671 |
|
|
PULLUP X1I1002 (.O(X1N869));
|
1672 |
|
|
PULLUP X1I1004 (.O(X1N870));
|
1673 |
|
|
PULLUP X1I1005 (.O(X1N932));
|
1674 |
|
|
PULLUP X1I1009 (.O(X1N939));
|
1675 |
|
|
PULLUP X1I1011 (.O(X1N946));
|
1676 |
|
|
PULLUP X1I1013 (.O(X1N953));
|
1677 |
|
|
PULLUP X1I1015 (.O(X1N960));
|
1678 |
|
|
PULLUP X1I1017 (.O(X1N967));
|
1679 |
|
|
PULLUP X1I1019 (.O(X1N974));
|
1680 |
|
|
PULLUP X1I1021 (.O(X1N981));
|
1681 |
|
|
NAND4 X1I1023 (.I0(X1N875), .I1(X1N871), .I2(X1N872), .I3(X1N870), .O
|
1682 |
|
|
(X1N1078));
|
1683 |
|
|
NAND4 X1I1032 (.I0(X1N874), .I1(X1N871), .I2(X1N869), .I3(X1N870), .O
|
1684 |
|
|
(X1N1080));
|
1685 |
|
|
NAND4 X1I1040 (.I0(X1N873), .I1(X1N872), .I2(X1N869), .I3(X1N870), .O
|
1686 |
|
|
(X1N1082));
|
1687 |
|
|
NAND4 X1I1046 (.I0(X1N981), .I1(X1N974), .I2(X1N953), .I3(X1N946), .O
|
1688 |
|
|
(X1N1088));
|
1689 |
|
|
NAND4 X1I1047 (.I0(X1N981), .I1(X1N967), .I2(X1N953), .I3(X1N939), .O
|
1690 |
|
|
(X1N1089));
|
1691 |
|
|
NAND4 X1I1048 (.I0(X1N981), .I1(X1N974), .I2(X1N967), .I3(X1N960), .O
|
1692 |
|
|
(X1N1087));
|
1693 |
|
|
AND2 X1I1189 (.I0(INDEX_OUT[5]), .I1(WRITE), .O(X1N347));
|
1694 |
|
|
RAM32X32S X1I119 (.A0(INDEX_OUT[0]), .A1(INDEX_OUT[1]), .A2(INDEX_OUT[2])
|
1695 |
|
|
, .A3(INDEX_OUT[3]), .A4(INDEX_OUT[4]), .D({ENTRY_HI[31], ENTRY_HI[30],
|
1696 |
|
|
ENTRY_HI[29], ENTRY_HI[28], ENTRY_HI[27], ENTRY_HI[26], ENTRY_HI[25],
|
1697 |
|
|
ENTRY_HI[24], ENTRY_HI[23], ENTRY_HI[22], ENTRY_HI[21], ENTRY_HI[20],
|
1698 |
|
|
ENTRY_HI[19], ENTRY_HI[18], ENTRY_HI[17], ENTRY_HI[16], ENTRY_HI[15],
|
1699 |
|
|
ENTRY_HI[14], ENTRY_HI[13], ENTRY_HI[12], ENTRY_HI[11], ENTRY_HI[10],
|
1700 |
|
|
ENTRY_HI[9], ENTRY_HI[8], ENTRY_HI[7], ENTRY_HI[6], ENTRY_HI[5],
|
1701 |
|
|
ENTRY_HI[4], ENTRY_HI[3], ENTRY_HI[2], ENTRY_HI[1], ENTRY_HI[0]}), .O({
|
1702 |
|
|
ENTRY_HI_B[31], ENTRY_HI_B[30], ENTRY_HI_B[29], ENTRY_HI_B[28],
|
1703 |
|
|
ENTRY_HI_B[27], ENTRY_HI_B[26], ENTRY_HI_B[25], ENTRY_HI_B[24],
|
1704 |
|
|
ENTRY_HI_B[23], ENTRY_HI_B[22], ENTRY_HI_B[21], ENTRY_HI_B[20],
|
1705 |
|
|
ENTRY_HI_B[19], ENTRY_HI_B[18], ENTRY_HI_B[17], ENTRY_HI_B[16],
|
1706 |
|
|
ENTRY_HI_B[15], ENTRY_HI_B[14], ENTRY_HI_B[13], ENTRY_HI_B[12],
|
1707 |
|
|
ENTRY_HI_B[11], ENTRY_HI_B[10], ENTRY_HI_B[9], ENTRY_HI_B[8],
|
1708 |
|
|
ENTRY_HI_B[7], ENTRY_HI_B[6], ENTRY_HI_B[5], ENTRY_HI_B[4],
|
1709 |
|
|
ENTRY_HI_B[3], ENTRY_HI_B[2], ENTRY_HI_B[1], ENTRY_HI_B[0]}), .WCLK(CLK)
|
1710 |
|
|
, .WE(X1N347));
|
1711 |
|
|
AND2B1 X1I1190 (.I0(INDEX_OUT[5]), .I1(WRITE), .O(X1N1185));
|
1712 |
|
|
RAM32X32S X1I120 (.A0(INDEX_OUT[0]), .A1(INDEX_OUT[1]), .A2(INDEX_OUT[2])
|
1713 |
|
|
, .A3(INDEX_OUT[3]), .A4(INDEX_OUT[4]), .D({ENTRY_HI[31], ENTRY_HI[30],
|
1714 |
|
|
ENTRY_HI[29], ENTRY_HI[28], ENTRY_HI[27], ENTRY_HI[26], ENTRY_HI[25],
|
1715 |
|
|
ENTRY_HI[24], ENTRY_HI[23], ENTRY_HI[22], ENTRY_HI[21], ENTRY_HI[20],
|
1716 |
|
|
ENTRY_HI[19], ENTRY_HI[18], ENTRY_HI[17], ENTRY_HI[16], ENTRY_HI[15],
|
1717 |
|
|
ENTRY_HI[14], ENTRY_HI[13], ENTRY_HI[12], ENTRY_HI[11], ENTRY_HI[10],
|
1718 |
|
|
ENTRY_HI[9], ENTRY_HI[8], ENTRY_HI[7], ENTRY_HI[6], ENTRY_HI[5],
|
1719 |
|
|
ENTRY_HI[4], ENTRY_HI[3], ENTRY_HI[2], ENTRY_HI[1], ENTRY_HI[0]}), .O({
|
1720 |
|
|
ENTRY_HI_A[31], ENTRY_HI_A[30], ENTRY_HI_A[29], ENTRY_HI_A[28],
|
1721 |
|
|
ENTRY_HI_A[27], ENTRY_HI_A[26], ENTRY_HI_A[25], ENTRY_HI_A[24],
|
1722 |
|
|
ENTRY_HI_A[23], ENTRY_HI_A[22], ENTRY_HI_A[21], ENTRY_HI_A[20],
|
1723 |
|
|
ENTRY_HI_A[19], ENTRY_HI_A[18], ENTRY_HI_A[17], ENTRY_HI_A[16],
|
1724 |
|
|
ENTRY_HI_A[15], ENTRY_HI_A[14], ENTRY_HI_A[13], ENTRY_HI_A[12],
|
1725 |
|
|
ENTRY_HI_A[11], ENTRY_HI_A[10], ENTRY_HI_A[9], ENTRY_HI_A[8],
|
1726 |
|
|
ENTRY_HI_A[7], ENTRY_HI_A[6], ENTRY_HI_A[5], ENTRY_HI_A[4],
|
1727 |
|
|
ENTRY_HI_A[3], ENTRY_HI_A[2], ENTRY_HI_A[1], ENTRY_HI_A[0]}), .WCLK(CLK)
|
1728 |
|
|
, .WE(X1N1185));
|
1729 |
|
|
M2_1 X1I1205 (.D0(X1N1089), .D1(INDEX_IN[3]), .O(INDEX_OUT[3]), .S0
|
1730 |
|
|
(X1N1249));
|
1731 |
|
|
M2_1 X1I1206 (.D0(X1N1088), .D1(INDEX_IN[4]), .O(INDEX_OUT[4]), .S0
|
1732 |
|
|
(X1N1249));
|
1733 |
|
|
M2_1 X1I1207 (.D0(X1N1087), .D1(INDEX_IN[5]), .O(INDEX_OUT[5]), .S0
|
1734 |
|
|
(X1N1249));
|
1735 |
|
|
M2_1 X1I1208 (.D0(X1N1078), .D1(INDEX_IN[0]), .O(INDEX_OUT[0]), .S0
|
1736 |
|
|
(X1N1249));
|
1737 |
|
|
M2_1 X1I1209 (.D0(X1N1080), .D1(INDEX_IN[1]), .O(INDEX_OUT[1]), .S0
|
1738 |
|
|
(X1N1249));
|
1739 |
|
|
M2_1 X1I1210 (.D0(X1N1082), .D1(INDEX_IN[2]), .O(INDEX_OUT[2]), .S0
|
1740 |
|
|
(X1N1249));
|
1741 |
|
|
M2_1X20 X1I1222 (.A({ENTRY_LO_OUT[31], ENTRY_LO_OUT[30], ENTRY_LO_OUT[29]
|
1742 |
|
|
, ENTRY_LO_OUT[28], ENTRY_LO_OUT[27], ENTRY_LO_OUT[26], ENTRY_LO_OUT[25]
|
1743 |
|
|
, ENTRY_LO_OUT[24], ENTRY_LO_OUT[23], ENTRY_LO_OUT[22], ENTRY_LO_OUT[21]
|
1744 |
|
|
, ENTRY_LO_OUT[20], ENTRY_LO_OUT[19], ENTRY_LO_OUT[18], ENTRY_LO_OUT[17]
|
1745 |
|
|
, ENTRY_LO_OUT[16], ENTRY_LO_OUT[15], ENTRY_LO_OUT[14], ENTRY_LO_OUT[13]
|
1746 |
|
|
, ENTRY_LO_OUT[12]}), .B({GND, GND, GND, VPN_INTO[16], VPN_INTO[15],
|
1747 |
|
|
VPN_INTO[14], VPN_INTO[13], VPN_INTO[12], VPN_INTO[11], VPN_INTO[10],
|
1748 |
|
|
VPN_INTO[9], VPN_INTO[8], VPN_INTO[7], VPN_INTO[6], VPN_INTO[5],
|
1749 |
|
|
VPN_INTO[4], VPN_INTO[3], VPN_INTO[2], VPN_INTO[1], VPN_INTO[0]}), .SB
|
1750 |
|
|
(X1N1226), .S({PFN[19], PFN[18], PFN[17], PFN[16], PFN[15], PFN[14],
|
1751 |
|
|
PFN[13], PFN[12], PFN[11], PFN[10], PFN[9], PFN[8], PFN[7], PFN[6],
|
1752 |
|
|
PFN[5], PFN[4], PFN[3], PFN[2], PFN[1], PFN[0]}));
|
1753 |
|
|
AND2B1 X1I1227 (.I0(LOOKUP_VPN[18]), .I1(LOOKUP_VPN[19]), .O(X1N1226));
|
1754 |
|
|
AND2B1 X1I1234 (.I0(LOOKUP_VPN[18]), .I1(LOOKUP_VPN[19]), .O(X1N1240));
|
1755 |
|
|
OR2 X1I1255 (.I0(READ), .I1(WRITE), .O(X1N1249));
|
1756 |
|
|
M2_1 X1I1261 (.D0(ENTRY_LO_OUT[11]), .D1(LOOKUP_VPN[17]), .O(NO_CACHE),
|
1757 |
|
|
.S0(X1N1226));
|
1758 |
|
|
OR2 X1I1278 (.I0(X1N1226), .I1(ENTRY_LO_OUT[10]), .O(DIRTY));
|
1759 |
|
|
MUX2_1X32 X1I128 (.A({ENTRY_HI_A[31], ENTRY_HI_A[30], ENTRY_HI_A[29],
|
1760 |
|
|
ENTRY_HI_A[28], ENTRY_HI_A[27], ENTRY_HI_A[26], ENTRY_HI_A[25],
|
1761 |
|
|
ENTRY_HI_A[24], ENTRY_HI_A[23], ENTRY_HI_A[22], ENTRY_HI_A[21],
|
1762 |
|
|
ENTRY_HI_A[20], ENTRY_HI_A[19], ENTRY_HI_A[18], ENTRY_HI_A[17],
|
1763 |
|
|
ENTRY_HI_A[16], ENTRY_HI_A[15], ENTRY_HI_A[14], ENTRY_HI_A[13],
|
1764 |
|
|
ENTRY_HI_A[12], ENTRY_HI_A[11], ENTRY_HI_A[10], ENTRY_HI_A[9],
|
1765 |
|
|
ENTRY_HI_A[8], ENTRY_HI_A[7], ENTRY_HI_A[6], ENTRY_HI_A[5],
|
1766 |
|
|
ENTRY_HI_A[4], ENTRY_HI_A[3], ENTRY_HI_A[2], ENTRY_HI_A[1],
|
1767 |
|
|
ENTRY_HI_A[0]}), .B({ENTRY_HI_B[31], ENTRY_HI_B[30], ENTRY_HI_B[29],
|
1768 |
|
|
ENTRY_HI_B[28], ENTRY_HI_B[27], ENTRY_HI_B[26], ENTRY_HI_B[25],
|
1769 |
|
|
ENTRY_HI_B[24], ENTRY_HI_B[23], ENTRY_HI_B[22], ENTRY_HI_B[21],
|
1770 |
|
|
ENTRY_HI_B[20], ENTRY_HI_B[19], ENTRY_HI_B[18], ENTRY_HI_B[17],
|
1771 |
|
|
ENTRY_HI_B[16], ENTRY_HI_B[15], ENTRY_HI_B[14], ENTRY_HI_B[13],
|
1772 |
|
|
ENTRY_HI_B[12], ENTRY_HI_B[11], ENTRY_HI_B[10], ENTRY_HI_B[9],
|
1773 |
|
|
ENTRY_HI_B[8], ENTRY_HI_B[7], ENTRY_HI_B[6], ENTRY_HI_B[5],
|
1774 |
|
|
ENTRY_HI_B[4], ENTRY_HI_B[3], ENTRY_HI_B[2], ENTRY_HI_B[1],
|
1775 |
|
|
ENTRY_HI_B[0]}), .SB(INDEX_OUT[5]), .S({ENTRY_HI_OUT[31],
|
1776 |
|
|
ENTRY_HI_OUT[30], ENTRY_HI_OUT[29], ENTRY_HI_OUT[28], ENTRY_HI_OUT[27],
|
1777 |
|
|
ENTRY_HI_OUT[26], ENTRY_HI_OUT[25], ENTRY_HI_OUT[24], ENTRY_HI_OUT[23],
|
1778 |
|
|
ENTRY_HI_OUT[22], ENTRY_HI_OUT[21], ENTRY_HI_OUT[20], ENTRY_HI_OUT[19],
|
1779 |
|
|
ENTRY_HI_OUT[18], ENTRY_HI_OUT[17], ENTRY_HI_OUT[16], ENTRY_HI_OUT[15],
|
1780 |
|
|
ENTRY_HI_OUT[14], ENTRY_HI_OUT[13], ENTRY_HI_OUT[12], ENTRY_HI_OUT[11],
|
1781 |
|
|
ENTRY_HI_OUT[10], ENTRY_HI_OUT[9], ENTRY_HI_OUT[8], ENTRY_HI_OUT[7],
|
1782 |
|
|
ENTRY_HI_OUT[6], ENTRY_HI_OUT[5], ENTRY_HI_OUT[4], ENTRY_HI_OUT[3],
|
1783 |
|
|
ENTRY_HI_OUT[2], ENTRY_HI_OUT[1], ENTRY_HI_OUT[0]}));
|
1784 |
|
|
M2_1X20 X1I1280 (.A({VPN_INTO[19], VPN_INTO[18], VPN_INTO[17],
|
1785 |
|
|
VPN_INTO[16], VPN_INTO[15], VPN_INTO[14], VPN_INTO[13], VPN_INTO[12],
|
1786 |
|
|
VPN_INTO[11], VPN_INTO[10], VPN_INTO[9], VPN_INTO[8], VPN_INTO[7],
|
1787 |
|
|
VPN_INTO[6], VPN_INTO[5], VPN_INTO[4], VPN_INTO[3], VPN_INTO[2],
|
1788 |
|
|
VPN_INTO[1], VPN_INTO[0]}), .B({ENTRY_HI[31], ENTRY_HI[30], ENTRY_HI[29]
|
1789 |
|
|
, ENTRY_HI[28], ENTRY_HI[27], ENTRY_HI[26], ENTRY_HI[25], ENTRY_HI[24],
|
1790 |
|
|
ENTRY_HI[23], ENTRY_HI[22], ENTRY_HI[21], ENTRY_HI[20], ENTRY_HI[19],
|
1791 |
|
|
ENTRY_HI[18], ENTRY_HI[17], ENTRY_HI[16], ENTRY_HI[15], ENTRY_HI[14],
|
1792 |
|
|
ENTRY_HI[13], ENTRY_HI[12]}), .SB(X1N1283), .S({LOOKUP_VPN[19],
|
1793 |
|
|
LOOKUP_VPN[18], LOOKUP_VPN[17], LOOKUP_VPN[16], LOOKUP_VPN[15],
|
1794 |
|
|
LOOKUP_VPN[14], LOOKUP_VPN[13], LOOKUP_VPN[12], LOOKUP_VPN[11],
|
1795 |
|
|
LOOKUP_VPN[10], LOOKUP_VPN[9], LOOKUP_VPN[8], LOOKUP_VPN[7],
|
1796 |
|
|
LOOKUP_VPN[6], LOOKUP_VPN[5], LOOKUP_VPN[4], LOOKUP_VPN[3],
|
1797 |
|
|
LOOKUP_VPN[2], LOOKUP_VPN[1], LOOKUP_VPN[0]}));
|
1798 |
|
|
OR2 X1I1285 (.I0(LOOK_UP), .I1(WRITE), .O(X1N1283));
|
1799 |
|
|
MUX2_1X32 X1I129 (.A({ENTRY_LO_A[31], ENTRY_LO_A[30], ENTRY_LO_A[29],
|
1800 |
|
|
ENTRY_LO_A[28], ENTRY_LO_A[27], ENTRY_LO_A[26], ENTRY_LO_A[25],
|
1801 |
|
|
ENTRY_LO_A[24], ENTRY_LO_A[23], ENTRY_LO_A[22], ENTRY_LO_A[21],
|
1802 |
|
|
ENTRY_LO_A[20], ENTRY_LO_A[19], ENTRY_LO_A[18], ENTRY_LO_A[17],
|
1803 |
|
|
ENTRY_LO_A[16], ENTRY_LO_A[15], ENTRY_LO_A[14], ENTRY_LO_A[13],
|
1804 |
|
|
ENTRY_LO_A[12], ENTRY_LO_A[11], ENTRY_LO_A[10], ENTRY_LO_A[9],
|
1805 |
|
|
ENTRY_LO_A[8], ENTRY_LO_A[7], ENTRY_LO_A[6], ENTRY_LO_A[5],
|
1806 |
|
|
ENTRY_LO_A[4], ENTRY_LO_A[3], ENTRY_LO_A[2], ENTRY_LO_A[1],
|
1807 |
|
|
ENTRY_LO_A[0]}), .B({ENTRY_LO_B[31], ENTRY_LO_B[30], ENTRY_LO_B[29],
|
1808 |
|
|
ENTRY_LO_B[28], ENTRY_LO_B[27], ENTRY_LO_B[26], ENTRY_LO_B[25],
|
1809 |
|
|
ENTRY_LO_B[24], ENTRY_LO_B[23], ENTRY_LO_B[22], ENTRY_LO_B[21],
|
1810 |
|
|
ENTRY_LO_B[20], ENTRY_LO_B[19], ENTRY_LO_B[18], ENTRY_LO_B[17],
|
1811 |
|
|
ENTRY_LO_B[16], ENTRY_LO_B[15], ENTRY_LO_B[14], ENTRY_LO_B[13],
|
1812 |
|
|
ENTRY_LO_B[12], ENTRY_LO_B[11], ENTRY_LO_B[10], ENTRY_LO_B[9],
|
1813 |
|
|
ENTRY_LO_B[8], ENTRY_LO_B[7], ENTRY_LO_B[6], ENTRY_LO_B[5],
|
1814 |
|
|
ENTRY_LO_B[4], ENTRY_LO_B[3], ENTRY_LO_B[2], ENTRY_LO_B[1],
|
1815 |
|
|
ENTRY_LO_B[0]}), .SB(INDEX_OUT[5]), .S({ENTRY_LO_OUT[31],
|
1816 |
|
|
ENTRY_LO_OUT[30], ENTRY_LO_OUT[29], ENTRY_LO_OUT[28], ENTRY_LO_OUT[27],
|
1817 |
|
|
ENTRY_LO_OUT[26], ENTRY_LO_OUT[25], ENTRY_LO_OUT[24], ENTRY_LO_OUT[23],
|
1818 |
|
|
ENTRY_LO_OUT[22], ENTRY_LO_OUT[21], ENTRY_LO_OUT[20], ENTRY_LO_OUT[19],
|
1819 |
|
|
ENTRY_LO_OUT[18], ENTRY_LO_OUT[17], ENTRY_LO_OUT[16], ENTRY_LO_OUT[15],
|
1820 |
|
|
ENTRY_LO_OUT[14], ENTRY_LO_OUT[13], ENTRY_LO_OUT[12], ENTRY_LO_OUT[11],
|
1821 |
|
|
ENTRY_LO_OUT[10], ENTRY_LO_OUT[9], ENTRY_LO_OUT[8], ENTRY_LO_OUT[7],
|
1822 |
|
|
ENTRY_LO_OUT[6], ENTRY_LO_OUT[5], ENTRY_LO_OUT[4], ENTRY_LO_OUT[3],
|
1823 |
|
|
ENTRY_LO_OUT[2], ENTRY_LO_OUT[1], ENTRY_LO_OUT[0]}));
|
1824 |
|
|
AND2B1 X1I1292 (.I0(HIT), .I1(WRITE_IN), .O(WRITE));
|
1825 |
|
|
RAM32X32S X1I130 (.A0(INDEX_OUT[0]), .A1(INDEX_OUT[1]), .A2(INDEX_OUT[2])
|
1826 |
|
|
, .A3(INDEX_OUT[3]), .A4(INDEX_OUT[4]), .D({ENTRY_LO[31], ENTRY_LO[30],
|
1827 |
|
|
ENTRY_LO[29], ENTRY_LO[28], ENTRY_LO[27], ENTRY_LO[26], ENTRY_LO[25],
|
1828 |
|
|
ENTRY_LO[24], ENTRY_LO[23], ENTRY_LO[22], ENTRY_LO[21], ENTRY_LO[20],
|
1829 |
|
|
ENTRY_LO[19], ENTRY_LO[18], ENTRY_LO[17], ENTRY_LO[16], ENTRY_LO[15],
|
1830 |
|
|
ENTRY_LO[14], ENTRY_LO[13], ENTRY_LO[12], ENTRY_LO[11], ENTRY_LO[10],
|
1831 |
|
|
ENTRY_LO[9], ENTRY_LO[8], ENTRY_LO[7], ENTRY_LO[6], ENTRY_LO[5],
|
1832 |
|
|
ENTRY_LO[4], ENTRY_LO[3], ENTRY_LO[2], ENTRY_LO[1], ENTRY_LO[0]}), .O({
|
1833 |
|
|
ENTRY_LO_B[31], ENTRY_LO_B[30], ENTRY_LO_B[29], ENTRY_LO_B[28],
|
1834 |
|
|
ENTRY_LO_B[27], ENTRY_LO_B[26], ENTRY_LO_B[25], ENTRY_LO_B[24],
|
1835 |
|
|
ENTRY_LO_B[23], ENTRY_LO_B[22], ENTRY_LO_B[21], ENTRY_LO_B[20],
|
1836 |
|
|
ENTRY_LO_B[19], ENTRY_LO_B[18], ENTRY_LO_B[17], ENTRY_LO_B[16],
|
1837 |
|
|
ENTRY_LO_B[15], ENTRY_LO_B[14], ENTRY_LO_B[13], ENTRY_LO_B[12],
|
1838 |
|
|
ENTRY_LO_B[11], ENTRY_LO_B[10], ENTRY_LO_B[9], ENTRY_LO_B[8],
|
1839 |
|
|
ENTRY_LO_B[7], ENTRY_LO_B[6], ENTRY_LO_B[5], ENTRY_LO_B[4],
|
1840 |
|
|
ENTRY_LO_B[3], ENTRY_LO_B[2], ENTRY_LO_B[1], ENTRY_LO_B[0]}), .WCLK(CLK)
|
1841 |
|
|
, .WE(X1N347));
|
1842 |
|
|
OR4B1 X1I1304 (.I0(X1N932), .I1(X1N1087), .I2(X1N1088), .I3(X1N1089), .O
|
1843 |
|
|
(X1N1096));
|
1844 |
|
|
OR2 X1I1309 (.I0(X1N1240), .I1(X1N1315), .O(HIT));
|
1845 |
|
|
RAM32X32S X1I131 (.A0(INDEX_OUT[0]), .A1(INDEX_OUT[1]), .A2(INDEX_OUT[2])
|
1846 |
|
|
, .A3(INDEX_OUT[3]), .A4(INDEX_OUT[4]), .D({ENTRY_LO[31], ENTRY_LO[30],
|
1847 |
|
|
ENTRY_LO[29], ENTRY_LO[28], ENTRY_LO[27], ENTRY_LO[26], ENTRY_LO[25],
|
1848 |
|
|
ENTRY_LO[24], ENTRY_LO[23], ENTRY_LO[22], ENTRY_LO[21], ENTRY_LO[20],
|
1849 |
|
|
ENTRY_LO[19], ENTRY_LO[18], ENTRY_LO[17], ENTRY_LO[16], ENTRY_LO[15],
|
1850 |
|
|
ENTRY_LO[14], ENTRY_LO[13], ENTRY_LO[12], ENTRY_LO[11], ENTRY_LO[10],
|
1851 |
|
|
ENTRY_LO[9], ENTRY_LO[8], ENTRY_LO[7], ENTRY_LO[6], ENTRY_LO[5],
|
1852 |
|
|
ENTRY_LO[4], ENTRY_LO[3], ENTRY_LO[2], ENTRY_LO[1], ENTRY_LO[0]}), .O({
|
1853 |
|
|
ENTRY_LO_A[31], ENTRY_LO_A[30], ENTRY_LO_A[29], ENTRY_LO_A[28],
|
1854 |
|
|
ENTRY_LO_A[27], ENTRY_LO_A[26], ENTRY_LO_A[25], ENTRY_LO_A[24],
|
1855 |
|
|
ENTRY_LO_A[23], ENTRY_LO_A[22], ENTRY_LO_A[21], ENTRY_LO_A[20],
|
1856 |
|
|
ENTRY_LO_A[19], ENTRY_LO_A[18], ENTRY_LO_A[17], ENTRY_LO_A[16],
|
1857 |
|
|
ENTRY_LO_A[15], ENTRY_LO_A[14], ENTRY_LO_A[13], ENTRY_LO_A[12],
|
1858 |
|
|
ENTRY_LO_A[11], ENTRY_LO_A[10], ENTRY_LO_A[9], ENTRY_LO_A[8],
|
1859 |
|
|
ENTRY_LO_A[7], ENTRY_LO_A[6], ENTRY_LO_A[5], ENTRY_LO_A[4],
|
1860 |
|
|
ENTRY_LO_A[3], ENTRY_LO_A[2], ENTRY_LO_A[1], ENTRY_LO_A[0]}), .WCLK(CLK)
|
1861 |
|
|
, .WE(X1N1185));
|
1862 |
|
|
AND2 X1I1313 (.I0(X1N1096), .I1(ENTRY_LO_OUT[9]), .O(X1N1315));
|
1863 |
|
|
AND3B2 X1I1316 (.I0(X1N1240), .I1(ENTRY_LO_OUT[9]), .I2(X1N1096), .O
|
1864 |
|
|
(HIT_BUT_NOT_VALID));
|
1865 |
|
|
MMUSEG X1I553 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N870),
|
1866 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1867 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1868 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1869 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1870 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1871 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1872 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1873 |
|
|
(X1N611));
|
1874 |
|
|
MMUSEG X1I559 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N869),
|
1875 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1876 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1877 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1878 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1879 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1880 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1881 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1882 |
|
|
(X1N610));
|
1883 |
|
|
MMUSEG X1I563 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N873),
|
1884 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1885 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1886 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1887 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1888 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1889 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1890 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1891 |
|
|
(X1N614));
|
1892 |
|
|
MMUSEG X1I567 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N872),
|
1893 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1894 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1895 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1896 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1897 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1898 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1899 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1900 |
|
|
(X1N613));
|
1901 |
|
|
MMUSEG X1I569 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N871),
|
1902 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1903 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1904 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1905 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1906 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1907 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1908 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1909 |
|
|
(X1N612));
|
1910 |
|
|
MMUSEG X1I573 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N875),
|
1911 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1912 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1913 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1914 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1915 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1916 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1917 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1918 |
|
|
(X1N616));
|
1919 |
|
|
MMUSEG X1I577 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N874),
|
1920 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1921 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1922 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1923 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1924 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1925 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1926 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1927 |
|
|
(X1N615));
|
1928 |
|
|
MMUSEG X1I579 (.CLK(CLK), .HIT_X(X1N932), .HIT_Y(X1N868),
|
1929 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1930 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1931 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1932 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1933 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1934 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1935 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N560), .WRITE_Y
|
1936 |
|
|
(X1N609));
|
1937 |
|
|
MMUSEG X1I586 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N868),
|
1938 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1939 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1940 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1941 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1942 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1943 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1944 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1945 |
|
|
(X1N609));
|
1946 |
|
|
MMUSEG X1I589 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N869),
|
1947 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1948 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1949 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1950 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1951 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1952 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1953 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1954 |
|
|
(X1N610));
|
1955 |
|
|
MMUSEG X1I591 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N870),
|
1956 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1957 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1958 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1959 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1960 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1961 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1962 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1963 |
|
|
(X1N611));
|
1964 |
|
|
MMUSEG X1I594 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N871),
|
1965 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1966 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1967 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1968 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1969 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1970 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1971 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1972 |
|
|
(X1N612));
|
1973 |
|
|
MMUSEG X1I596 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N872),
|
1974 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1975 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1976 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1977 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1978 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1979 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1980 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1981 |
|
|
(X1N613));
|
1982 |
|
|
MMUSEG X1I600 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N873),
|
1983 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1984 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1985 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1986 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1987 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1988 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1989 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1990 |
|
|
(X1N614));
|
1991 |
|
|
MMUSEG X1I604 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N874),
|
1992 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
1993 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
1994 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
1995 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
1996 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
1997 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
1998 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
1999 |
|
|
(X1N615));
|
2000 |
|
|
MMUSEG X1I608 (.CLK(CLK), .HIT_X(X1N939), .HIT_Y(X1N875),
|
2001 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2002 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2003 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2004 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2005 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2006 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2007 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N584), .WRITE_Y
|
2008 |
|
|
(X1N616));
|
2009 |
|
|
MMUSEG X1I625 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N875),
|
2010 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2011 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2012 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2013 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2014 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2015 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2016 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2017 |
|
|
(X1N616));
|
2018 |
|
|
MMUSEG X1I629 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N874),
|
2019 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2020 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2021 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2022 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2023 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2024 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2025 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2026 |
|
|
(X1N615));
|
2027 |
|
|
MMUSEG X1I633 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N873),
|
2028 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2029 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2030 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2031 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2032 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2033 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2034 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2035 |
|
|
(X1N614));
|
2036 |
|
|
MMUSEG X1I637 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N872),
|
2037 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2038 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2039 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2040 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2041 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2042 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2043 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2044 |
|
|
(X1N613));
|
2045 |
|
|
MMUSEG X1I639 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N871),
|
2046 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2047 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2048 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2049 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2050 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2051 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2052 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2053 |
|
|
(X1N612));
|
2054 |
|
|
MMUSEG X1I642 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N870),
|
2055 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2056 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2057 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2058 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2059 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2060 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2061 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2062 |
|
|
(X1N611));
|
2063 |
|
|
MMUSEG X1I644 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N869),
|
2064 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2065 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2066 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2067 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2068 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2069 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2070 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2071 |
|
|
(X1N610));
|
2072 |
|
|
MMUSEG X1I647 (.CLK(CLK), .HIT_X(X1N946), .HIT_Y(X1N868),
|
2073 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2074 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2075 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2076 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2077 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2078 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2079 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N627), .WRITE_Y
|
2080 |
|
|
(X1N609));
|
2081 |
|
|
MMUSEG X1I658 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N875),
|
2082 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2083 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2084 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2085 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2086 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2087 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2088 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2089 |
|
|
(X1N616));
|
2090 |
|
|
MMUSEG X1I662 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N874),
|
2091 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2092 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2093 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2094 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2095 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2096 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2097 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2098 |
|
|
(X1N615));
|
2099 |
|
|
MMUSEG X1I666 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N873),
|
2100 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2101 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2102 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2103 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2104 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2105 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2106 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2107 |
|
|
(X1N614));
|
2108 |
|
|
MMUSEG X1I670 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N872),
|
2109 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2110 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2111 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2112 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2113 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2114 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2115 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2116 |
|
|
(X1N613));
|
2117 |
|
|
MMUSEG X1I672 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N871),
|
2118 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2119 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2120 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2121 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2122 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2123 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2124 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2125 |
|
|
(X1N612));
|
2126 |
|
|
MMUSEG X1I675 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N870),
|
2127 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2128 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2129 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2130 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2131 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2132 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2133 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2134 |
|
|
(X1N611));
|
2135 |
|
|
MMUSEG X1I677 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N869),
|
2136 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2137 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2138 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2139 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2140 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2141 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2142 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2143 |
|
|
(X1N610));
|
2144 |
|
|
MMUSEG X1I680 (.CLK(CLK), .HIT_X(X1N953), .HIT_Y(X1N868),
|
2145 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2146 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2147 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2148 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2149 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2150 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2151 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N660), .WRITE_Y
|
2152 |
|
|
(X1N609));
|
2153 |
|
|
MMUSEG X1I691 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N875),
|
2154 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2155 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2156 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2157 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2158 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2159 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2160 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2161 |
|
|
(X1N616));
|
2162 |
|
|
MMUSEG X1I695 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N874),
|
2163 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2164 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2165 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2166 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2167 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2168 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2169 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2170 |
|
|
(X1N615));
|
2171 |
|
|
MMUSEG X1I699 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N873),
|
2172 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2173 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2174 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2175 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2176 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2177 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2178 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2179 |
|
|
(X1N614));
|
2180 |
|
|
MMUSEG X1I703 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N872),
|
2181 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2182 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2183 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2184 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2185 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2186 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2187 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2188 |
|
|
(X1N613));
|
2189 |
|
|
MMUSEG X1I705 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N871),
|
2190 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2191 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2192 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2193 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2194 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2195 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2196 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2197 |
|
|
(X1N612));
|
2198 |
|
|
MMUSEG X1I708 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N870),
|
2199 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2200 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2201 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2202 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2203 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2204 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2205 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2206 |
|
|
(X1N611));
|
2207 |
|
|
MMUSEG X1I710 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N869),
|
2208 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2209 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2210 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2211 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2212 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2213 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2214 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2215 |
|
|
(X1N610));
|
2216 |
|
|
MMUSEG X1I713 (.CLK(CLK), .HIT_X(X1N960), .HIT_Y(X1N868),
|
2217 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2218 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2219 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2220 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2221 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2222 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2223 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N693), .WRITE_Y
|
2224 |
|
|
(X1N609));
|
2225 |
|
|
MMUSEG X1I724 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N875),
|
2226 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2227 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2228 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2229 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2230 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2231 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2232 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2233 |
|
|
(X1N616));
|
2234 |
|
|
MMUSEG X1I728 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N874),
|
2235 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2236 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2237 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2238 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2239 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2240 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2241 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2242 |
|
|
(X1N615));
|
2243 |
|
|
MMUSEG X1I732 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N873),
|
2244 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2245 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2246 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2247 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2248 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2249 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2250 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2251 |
|
|
(X1N614));
|
2252 |
|
|
MMUSEG X1I736 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N872),
|
2253 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2254 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2255 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2256 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2257 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2258 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2259 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2260 |
|
|
(X1N613));
|
2261 |
|
|
MMUSEG X1I738 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N871),
|
2262 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2263 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2264 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2265 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2266 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2267 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2268 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2269 |
|
|
(X1N612));
|
2270 |
|
|
MMUSEG X1I741 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N870),
|
2271 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2272 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2273 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2274 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2275 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2276 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2277 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2278 |
|
|
(X1N611));
|
2279 |
|
|
MMUSEG X1I743 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N869),
|
2280 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2281 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2282 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2283 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2284 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2285 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2286 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2287 |
|
|
(X1N610));
|
2288 |
|
|
MMUSEG X1I746 (.CLK(CLK), .HIT_X(X1N967), .HIT_Y(X1N868),
|
2289 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2290 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2291 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2292 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2293 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2294 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2295 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N726), .WRITE_Y
|
2296 |
|
|
(X1N609));
|
2297 |
|
|
MMUSEG X1I757 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N875),
|
2298 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2299 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2300 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2301 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2302 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2303 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2304 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2305 |
|
|
(X1N616));
|
2306 |
|
|
MMUSEG X1I761 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N874),
|
2307 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2308 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2309 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2310 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2311 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2312 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2313 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2314 |
|
|
(X1N615));
|
2315 |
|
|
MMUSEG X1I765 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N873),
|
2316 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2317 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2318 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2319 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2320 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2321 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2322 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2323 |
|
|
(X1N614));
|
2324 |
|
|
MMUSEG X1I769 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N872),
|
2325 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2326 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2327 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2328 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2329 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2330 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2331 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2332 |
|
|
(X1N613));
|
2333 |
|
|
MMUSEG X1I771 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N871),
|
2334 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2335 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2336 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2337 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2338 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2339 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2340 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2341 |
|
|
(X1N612));
|
2342 |
|
|
MMUSEG X1I774 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N870),
|
2343 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2344 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2345 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2346 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2347 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2348 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2349 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2350 |
|
|
(X1N611));
|
2351 |
|
|
MMUSEG X1I776 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N869),
|
2352 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2353 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2354 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2355 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2356 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2357 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2358 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2359 |
|
|
(X1N610));
|
2360 |
|
|
MMUSEG X1I779 (.CLK(CLK), .HIT_X(X1N974), .HIT_Y(X1N868),
|
2361 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2362 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2363 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2364 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2365 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2366 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2367 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N759), .WRITE_Y
|
2368 |
|
|
(X1N609));
|
2369 |
|
|
MMUSEG X1I784 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N868),
|
2370 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2371 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2372 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2373 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2374 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2375 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2376 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2377 |
|
|
(X1N609));
|
2378 |
|
|
MMUSEG X1I787 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N869),
|
2379 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2380 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2381 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2382 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2383 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2384 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2385 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2386 |
|
|
(X1N610));
|
2387 |
|
|
MMUSEG X1I789 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N870),
|
2388 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2389 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2390 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2391 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2392 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2393 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2394 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2395 |
|
|
(X1N611));
|
2396 |
|
|
MMUSEG X1I792 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N871),
|
2397 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2398 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2399 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2400 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2401 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2402 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2403 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2404 |
|
|
(X1N612));
|
2405 |
|
|
MMUSEG X1I794 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N872),
|
2406 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2407 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2408 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2409 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2410 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2411 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2412 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2413 |
|
|
(X1N613));
|
2414 |
|
|
MMUSEG X1I798 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N873),
|
2415 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2416 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2417 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2418 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2419 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2420 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2421 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2422 |
|
|
(X1N614));
|
2423 |
|
|
MMUSEG X1I802 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N874),
|
2424 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2425 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2426 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2427 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2428 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2429 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2430 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2431 |
|
|
(X1N615));
|
2432 |
|
|
MMUSEG X1I806 (.CLK(CLK), .HIT_X(X1N981), .HIT_Y(X1N875),
|
2433 |
|
|
.VPN,ASID[5:0],GLOB({LOOKUP_VPN[19], LOOKUP_VPN[18], LOOKUP_VPN[17],
|
2434 |
|
|
LOOKUP_VPN[16], LOOKUP_VPN[15], LOOKUP_VPN[14], LOOKUP_VPN[13],
|
2435 |
|
|
LOOKUP_VPN[12], LOOKUP_VPN[11], LOOKUP_VPN[10], LOOKUP_VPN[9],
|
2436 |
|
|
LOOKUP_VPN[8], LOOKUP_VPN[7], LOOKUP_VPN[6], LOOKUP_VPN[5],
|
2437 |
|
|
LOOKUP_VPN[4], LOOKUP_VPN[3], LOOKUP_VPN[2], LOOKUP_VPN[1],
|
2438 |
|
|
LOOKUP_VPN[0], ENTRY_HI[11], ENTRY_HI[10], ENTRY_HI[9], ENTRY_HI[8],
|
2439 |
|
|
ENTRY_HI[7], ENTRY_HI[6], ENTRY_LO[8]}), .WRITE_X(X1N782), .WRITE_Y
|
2440 |
|
|
(X1N616));
|
2441 |
|
|
D3_8E X1I824 (.A0(INDEX_IN[3]), .A1(INDEX_IN[4]), .A2(INDEX_IN[5]), .D0
|
2442 |
|
|
(X1N560), .D1(X1N584), .D2(X1N627), .D3(X1N660), .D4(X1N693), .D5
|
2443 |
|
|
(X1N726), .D6(X1N759), .D7(X1N782), .E(WRITE));
|
2444 |
|
|
D3_8E X1I848 (.A0(INDEX_IN[0]), .A1(INDEX_IN[1]), .A2(INDEX_IN[2]), .D0
|
2445 |
|
|
(X1N609), .D1(X1N616), .D2(X1N615), .D3(X1N612), .D4(X1N614), .D5
|
2446 |
|
|
(X1N613), .D6(X1N610), .D7(X1N611), .E(WRITE));
|
2447 |
|
|
PULLUP X1I988 (.O(X1N868));
|
2448 |
|
|
PULLUP X1I992 (.O(X1N875));
|
2449 |
|
|
PULLUP X1I994 (.O(X1N874));
|
2450 |
|
|
PULLUP X1I996 (.O(X1N871));
|
2451 |
|
|
PULLUP X1I998 (.O(X1N873));
|
2452 |
|
|
|
2453 |
|
|
endmodule // MMU
|
2454 |
|
|
|
2455 |
|
|
module BUFT16 (I, O, T);
|
2456 |
|
|
output [15:0] O;
|
2457 |
|
|
input T;
|
2458 |
|
|
input [15:0] I;
|
2459 |
|
|
wire [63:0] A;
|
2460 |
|
|
wire [15:0] Q, D, B, IO;
|
2461 |
|
|
wire [7:0] DPO, SPO;
|
2462 |
|
|
BUFT X1I30 (.I(I[8]), .O(O[8]), .T(T));
|
2463 |
|
|
BUFT X1I31 (.I(I[9]), .O(O[9]), .T(T));
|
2464 |
|
|
BUFT X1I32 (.I(I[10]), .O(O[10]), .T(T));
|
2465 |
|
|
BUFT X1I33 (.I(I[11]), .O(O[11]), .T(T));
|
2466 |
|
|
BUFT X1I34 (.I(I[15]), .O(O[15]), .T(T));
|
2467 |
|
|
BUFT X1I35 (.I(I[14]), .O(O[14]), .T(T));
|
2468 |
|
|
BUFT X1I36 (.I(I[13]), .O(O[13]), .T(T));
|
2469 |
|
|
BUFT X1I37 (.I(I[12]), .O(O[12]), .T(T));
|
2470 |
|
|
BUFT X1I38 (.I(I[6]), .O(O[6]), .T(T));
|
2471 |
|
|
BUFT X1I39 (.I(I[7]), .O(O[7]), .T(T));
|
2472 |
|
|
BUFT X1I40 (.I(I[0]), .O(O[0]), .T(T));
|
2473 |
|
|
BUFT X1I41 (.I(I[1]), .O(O[1]), .T(T));
|
2474 |
|
|
BUFT X1I42 (.I(I[2]), .O(O[2]), .T(T));
|
2475 |
|
|
BUFT X1I43 (.I(I[3]), .O(O[3]), .T(T));
|
2476 |
|
|
BUFT X1I44 (.I(I[4]), .O(O[4]), .T(T));
|
2477 |
|
|
BUFT X1I45 (.I(I[5]), .O(O[5]), .T(T));
|
2478 |
|
|
|
2479 |
|
|
endmodule // BUFT16
|
2480 |
|
|
|
2481 |
|
|
module BUFT32 (I, O, T);
|
2482 |
|
|
output [31:0] O;
|
2483 |
|
|
input T;
|
2484 |
|
|
input [31:0] I;
|
2485 |
|
|
BUFT16 X1I2 (.I({I[15], I[14], I[13], I[12], I[11], I[10], I[9], I[8],
|
2486 |
|
|
I[7], I[6], I[5], I[4], I[3], I[2], I[1], I[0]}), .O({O[15], O[14],
|
2487 |
|
|
O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5], O[4], O[3],
|
2488 |
|
|
O[2], O[1], O[0]}), .T(T));
|
2489 |
|
|
BUFT16 X1I3 (.I({I[31], I[30], I[29], I[28], I[27], I[26], I[25], I[24],
|
2490 |
|
|
I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16]}), .O({O[31],
|
2491 |
|
|
O[30], O[29], O[28], O[27], O[26], O[25], O[24], O[23], O[22], O[21],
|
2492 |
|
|
O[20], O[19], O[18], O[17], O[16]}), .T(T));
|
2493 |
|
|
|
2494 |
|
|
endmodule // BUFT32
|
2495 |
|
|
|
2496 |
|
|
module M2_1X6 (A, B, O, SB);
|
2497 |
|
|
M2_1 X1I60 (.D0(A[4]), .D1(B[4]), .O(O[4]), .S0(SB));
|
2498 |
|
|
M2_1 X1I61 (.D0(A[3]), .D1(B[3]), .O(O[3]), .S0(SB));
|
2499 |
|
|
M2_1 X1I62 (.D0(A[2]), .D1(B[2]), .O(O[2]), .S0(SB));
|
2500 |
|
|
M2_1 X1I63 (.D0(A[1]), .D1(B[1]), .O(O[1]), .S0(SB));
|
2501 |
|
|
M2_1 X1I64 (.D0(A[0]), .D1(B[0]), .O(O[0]), .S0(SB));
|
2502 |
|
|
M2_1 X1I82 (.D0(A[5]), .D1(B[5]), .O(O[5]), .S0(SB));
|
2503 |
|
|
|
2504 |
|
|
endmodule // M2_1X6
|
2505 |
|
|
|
2506 |
|
|
module REG20 (CLK, EN, I, O);
|
2507 |
|
|
wire X1N57;
|
2508 |
|
|
FD16CE X1I55 (.C(CLK), .CE(EN), .CLR(X1N57), .D({I[15], I[14], I[13],
|
2509 |
|
|
I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3], I[2],
|
2510 |
|
|
I[1], I[0]}), .Q({O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8],
|
2511 |
|
|
O[7], O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
2512 |
|
|
FD4CE X1I56 (.C(CLK), .CE(EN), .CLR(X1N57), .D0(I[16]), .D1(I[17]), .D2
|
2513 |
|
|
(I[18]), .D3(I[19]), .Q0(O[16]), .Q1(O[17]), .Q2(O[18]), .Q3(O[19]));
|
2514 |
|
|
GND X1I59 (.G(X1N57));
|
2515 |
|
|
|
2516 |
|
|
endmodule // REG20
|
2517 |
|
|
|
2518 |
|
|
module ADD16 (A, B, CI, CO, OFL, S);
|
2519 |
|
|
output OFL, CO;
|
2520 |
|
|
output [15:0] S;
|
2521 |
|
|
input CI;
|
2522 |
|
|
input [15:0] B;
|
2523 |
|
|
input [15:0] A;
|
2524 |
|
|
wire C0, C1, C2, C3, C4, C5, I0, C6, I1, C7, I2, C8, I3, C9, I4, I5, I6,
|
2525 |
|
|
I7, I8, I9, C14O, C10, C11, C12, C13, C14, I10, I11, I12, I13, I14, I15;
|
2526 |
|
|
MUXCY_D X1I107 (.CI(C13), .DI(A[14]), .LO(C14), .O(C14O), .S(I14));
|
2527 |
|
|
MUXCY_L X1I110 (.CI(C12), .DI(A[13]), .LO(C13), .S(I13));
|
2528 |
|
|
MUXCY_L X1I111 (.CI(C7), .DI(A[8]), .LO(C8), .S(I8));
|
2529 |
|
|
FMAP X1I16 (.I1(A[8]), .I2(B[8]), .O(I8));
|
2530 |
|
|
FMAP X1I17 (.I1(A[9]), .I2(B[9]), .O(I9));
|
2531 |
|
|
FMAP X1I18 (.I1(A[10]), .I2(B[10]), .O(I10));
|
2532 |
|
|
FMAP X1I19 (.I1(A[11]), .I2(B[11]), .O(I11));
|
2533 |
|
|
FMAP X1I20 (.I1(A[12]), .I2(B[12]), .O(I12));
|
2534 |
|
|
FMAP X1I21 (.I1(A[13]), .I2(B[13]), .O(I13));
|
2535 |
|
|
FMAP X1I22 (.I1(A[14]), .I2(B[14]), .O(I14));
|
2536 |
|
|
XORCY X1I226 (.CI(CI), .LI(I0), .O(S[0]));
|
2537 |
|
|
XORCY X1I227 (.CI(C0), .LI(I1), .O(S[1]));
|
2538 |
|
|
XORCY X1I228 (.CI(C2), .LI(I3), .O(S[3]));
|
2539 |
|
|
XORCY X1I229 (.CI(C1), .LI(I2), .O(S[2]));
|
2540 |
|
|
FMAP X1I23 (.I1(A[15]), .I2(B[15]), .O(I15));
|
2541 |
|
|
XORCY X1I230 (.CI(C4), .LI(I5), .O(S[5]));
|
2542 |
|
|
XORCY X1I231 (.CI(C3), .LI(I4), .O(S[4]));
|
2543 |
|
|
XORCY X1I233 (.CI(C6), .LI(I7), .O(S[7]));
|
2544 |
|
|
XORCY X1I234 (.CI(C5), .LI(I6), .O(S[6]));
|
2545 |
|
|
MUXCY_L X1I248 (.CI(C6), .DI(A[7]), .LO(C7), .S(I7));
|
2546 |
|
|
MUXCY_L X1I249 (.CI(C5), .DI(A[6]), .LO(C6), .S(I6));
|
2547 |
|
|
MUXCY_L X1I250 (.CI(C4), .DI(A[5]), .LO(C5), .S(I5));
|
2548 |
|
|
MUXCY_L X1I251 (.CI(C3), .DI(A[4]), .LO(C4), .S(I4));
|
2549 |
|
|
MUXCY_L X1I252 (.CI(C2), .DI(A[3]), .LO(C3), .S(I3));
|
2550 |
|
|
MUXCY_L X1I253 (.CI(C1), .DI(A[2]), .LO(C2), .S(I2));
|
2551 |
|
|
MUXCY_L X1I254 (.CI(C0), .DI(A[1]), .LO(C1), .S(I1));
|
2552 |
|
|
MUXCY_L X1I255 (.CI(CI), .DI(A[0]), .LO(C0), .S(I0));
|
2553 |
|
|
FMAP X1I272 (.I1(A[1]), .I2(B[1]), .O(I1));
|
2554 |
|
|
FMAP X1I275 (.I1(A[0]), .I2(B[0]), .O(I0));
|
2555 |
|
|
FMAP X1I279 (.I1(A[2]), .I2(B[2]), .O(I2));
|
2556 |
|
|
FMAP X1I283 (.I1(A[3]), .I2(B[3]), .O(I3));
|
2557 |
|
|
FMAP X1I287 (.I1(A[4]), .I2(B[4]), .O(I4));
|
2558 |
|
|
FMAP X1I291 (.I1(A[5]), .I2(B[5]), .O(I5));
|
2559 |
|
|
FMAP X1I295 (.I1(A[6]), .I2(B[6]), .O(I6));
|
2560 |
|
|
FMAP X1I299 (.I1(A[7]), .I2(B[7]), .O(I7));
|
2561 |
|
|
XOR2 X1I354 (.I0(A[0]), .I1(B[0]), .O(I0));
|
2562 |
|
|
XOR2 X1I355 (.I0(A[1]), .I1(B[1]), .O(I1));
|
2563 |
|
|
XOR2 X1I356 (.I0(A[2]), .I1(B[2]), .O(I2));
|
2564 |
|
|
XOR2 X1I357 (.I0(A[3]), .I1(B[3]), .O(I3));
|
2565 |
|
|
XOR2 X1I358 (.I0(A[4]), .I1(B[4]), .O(I4));
|
2566 |
|
|
XOR2 X1I359 (.I0(A[5]), .I1(B[5]), .O(I5));
|
2567 |
|
|
XOR2 X1I360 (.I0(A[6]), .I1(B[6]), .O(I6));
|
2568 |
|
|
XOR2 X1I361 (.I0(A[7]), .I1(B[7]), .O(I7));
|
2569 |
|
|
XOR2 X1I362 (.I0(A[8]), .I1(B[8]), .O(I8));
|
2570 |
|
|
XOR2 X1I363 (.I0(A[9]), .I1(B[9]), .O(I9));
|
2571 |
|
|
XOR2 X1I364 (.I0(A[10]), .I1(B[10]), .O(I10));
|
2572 |
|
|
XOR2 X1I365 (.I0(A[11]), .I1(B[11]), .O(I11));
|
2573 |
|
|
XOR2 X1I366 (.I0(A[12]), .I1(B[12]), .O(I12));
|
2574 |
|
|
XOR2 X1I367 (.I0(A[13]), .I1(B[13]), .O(I13));
|
2575 |
|
|
XOR2 X1I368 (.I0(A[14]), .I1(B[14]), .O(I14));
|
2576 |
|
|
XOR2 X1I369 (.I0(A[15]), .I1(B[15]), .O(I15));
|
2577 |
|
|
XOR2 X1I375 (.I0(C14O), .I1(CO), .O(OFL));
|
2578 |
|
|
MUXCY_L X1I55 (.CI(C8), .DI(A[9]), .LO(C9), .S(I9));
|
2579 |
|
|
MUXCY_L X1I58 (.CI(C10), .DI(A[11]), .LO(C11), .S(I11));
|
2580 |
|
|
MUXCY_L X1I62 (.CI(C9), .DI(A[10]), .LO(C10), .S(I10));
|
2581 |
|
|
MUXCY_L X1I63 (.CI(C11), .DI(A[12]), .LO(C12), .S(I12));
|
2582 |
|
|
MUXCY X1I64 (.CI(C14), .DI(A[15]), .O(CO), .S(I15));
|
2583 |
|
|
XORCY X1I73 (.CI(C7), .LI(I8), .O(S[8]));
|
2584 |
|
|
XORCY X1I74 (.CI(C8), .LI(I9), .O(S[9]));
|
2585 |
|
|
XORCY X1I75 (.CI(C10), .LI(I11), .O(S[11]));
|
2586 |
|
|
XORCY X1I76 (.CI(C9), .LI(I10), .O(S[10]));
|
2587 |
|
|
XORCY X1I77 (.CI(C12), .LI(I13), .O(S[13]));
|
2588 |
|
|
XORCY X1I78 (.CI(C11), .LI(I12), .O(S[12]));
|
2589 |
|
|
XORCY X1I80 (.CI(C14), .LI(I15), .O(S[15]));
|
2590 |
|
|
XORCY X1I81 (.CI(C13), .LI(I14), .O(S[14]));
|
2591 |
|
|
|
2592 |
|
|
// WARNING - Component X1I299 has unconnected pins: 2 input, 0 output, 0 inout.
|
2593 |
|
|
// WARNING - Component X1I295 has unconnected pins: 2 input, 0 output, 0 inout.
|
2594 |
|
|
// WARNING - Component X1I291 has unconnected pins: 2 input, 0 output, 0 inout.
|
2595 |
|
|
// WARNING - Component X1I287 has unconnected pins: 2 input, 0 output, 0 inout.
|
2596 |
|
|
// WARNING - Component X1I283 has unconnected pins: 2 input, 0 output, 0 inout.
|
2597 |
|
|
// WARNING - Component X1I279 has unconnected pins: 2 input, 0 output, 0 inout.
|
2598 |
|
|
// WARNING - Component X1I275 has unconnected pins: 2 input, 0 output, 0 inout.
|
2599 |
|
|
// WARNING - Component X1I272 has unconnected pins: 2 input, 0 output, 0 inout.
|
2600 |
|
|
// WARNING - Component X1I23 has unconnected pins: 2 input, 0 output, 0 inout.
|
2601 |
|
|
// WARNING - Component X1I22 has unconnected pins: 2 input, 0 output, 0 inout.
|
2602 |
|
|
// WARNING - Component X1I21 has unconnected pins: 2 input, 0 output, 0 inout.
|
2603 |
|
|
// WARNING - Component X1I20 has unconnected pins: 2 input, 0 output, 0 inout.
|
2604 |
|
|
// WARNING - Component X1I19 has unconnected pins: 2 input, 0 output, 0 inout.
|
2605 |
|
|
// WARNING - Component X1I18 has unconnected pins: 2 input, 0 output, 0 inout.
|
2606 |
|
|
// WARNING - Component X1I17 has unconnected pins: 2 input, 0 output, 0 inout.
|
2607 |
|
|
// WARNING - Component X1I16 has unconnected pins: 2 input, 0 output, 0 inout.
|
2608 |
|
|
endmodule // ADD16
|
2609 |
|
|
|
2610 |
|
|
module INC32 (A, S);
|
2611 |
|
|
output [31:0] S;
|
2612 |
|
|
input [31:0] A;
|
2613 |
|
|
wire [15:0] GB, G;
|
2614 |
|
|
wire X1N44, X1N81, X1N29, X1N85;
|
2615 |
|
|
ADD16 IGNORE_NO_LOAD4 (.A({A[15], A[14], A[13], A[12], A[11], A[10], A[9]
|
2616 |
|
|
, A[8], A[7], A[6], A[5], A[4], A[3], A[2], A[1], A[0]}), .B({G[15],
|
2617 |
|
|
G[14], G[13], G[12], G[11], G[10], G[9], G[8], G[7], G[6], G[5], G[4],
|
2618 |
|
|
G[3], G[2], G[1], G[0]}), .CI(X1N85), .CO(X1N29), .S({S[15], S[14],
|
2619 |
|
|
S[13], S[12], S[11], S[10], S[9], S[8], S[7], S[6], S[5], S[4], S[3],
|
2620 |
|
|
S[2], S[1], S[0]}));
|
2621 |
|
|
ADD16 IGNORE_NO_LOAD5 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25]
|
2622 |
|
|
, A[24], A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16]}), .B({
|
2623 |
|
|
GB[15], GB[14], GB[13], GB[12], GB[11], GB[10], GB[9], GB[8], GB[7],
|
2624 |
|
|
GB[6], GB[5], GB[4], GB[3], GB[2], GB[1], GB[0]}), .CI(X1N29), .S({S[31]
|
2625 |
|
|
, S[30], S[29], S[28], S[27], S[26], S[25], S[24], S[23], S[22], S[21],
|
2626 |
|
|
S[20], S[19], S[18], S[17], S[16]}));
|
2627 |
|
|
GND X1I45 (.G(X1N44));
|
2628 |
|
|
BUF X1I46 (.I(X1N44), .O(G[12]));
|
2629 |
|
|
BUF X1I47 (.I(X1N44), .O(G[13]));
|
2630 |
|
|
BUF X1I48 (.I(X1N44), .O(G[15]));
|
2631 |
|
|
BUF X1I49 (.I(X1N44), .O(G[14]));
|
2632 |
|
|
BUF X1I50 (.I(X1N44), .O(G[8]));
|
2633 |
|
|
BUF X1I51 (.I(X1N44), .O(G[9]));
|
2634 |
|
|
BUF X1I52 (.I(X1N44), .O(G[11]));
|
2635 |
|
|
BUF X1I53 (.I(X1N44), .O(G[10]));
|
2636 |
|
|
BUF X1I54 (.I(X1N44), .O(G[4]));
|
2637 |
|
|
BUF X1I55 (.I(X1N44), .O(G[5]));
|
2638 |
|
|
BUF X1I56 (.I(X1N44), .O(G[7]));
|
2639 |
|
|
BUF X1I57 (.I(X1N44), .O(G[6]));
|
2640 |
|
|
BUF X1I59 (.I(X1N44), .O(G[3]));
|
2641 |
|
|
BUF X1I60 (.I(X1N44), .O(G[1]));
|
2642 |
|
|
BUF X1I62 (.I(X1N44), .O(G[0]));
|
2643 |
|
|
BUF X1I64 (.I(X1N81), .O(GB[0]));
|
2644 |
|
|
BUF X1I65 (.I(X1N81), .O(GB[1]));
|
2645 |
|
|
BUF X1I66 (.I(X1N81), .O(GB[3]));
|
2646 |
|
|
BUF X1I67 (.I(X1N81), .O(GB[2]));
|
2647 |
|
|
BUF X1I68 (.I(X1N81), .O(GB[6]));
|
2648 |
|
|
BUF X1I69 (.I(X1N81), .O(GB[7]));
|
2649 |
|
|
BUF X1I70 (.I(X1N81), .O(GB[5]));
|
2650 |
|
|
BUF X1I71 (.I(X1N81), .O(GB[4]));
|
2651 |
|
|
BUF X1I72 (.I(X1N81), .O(GB[10]));
|
2652 |
|
|
BUF X1I73 (.I(X1N81), .O(GB[11]));
|
2653 |
|
|
BUF X1I74 (.I(X1N81), .O(GB[9]));
|
2654 |
|
|
BUF X1I75 (.I(X1N81), .O(GB[8]));
|
2655 |
|
|
BUF X1I76 (.I(X1N81), .O(GB[14]));
|
2656 |
|
|
BUF X1I77 (.I(X1N81), .O(GB[15]));
|
2657 |
|
|
BUF X1I78 (.I(X1N81), .O(GB[13]));
|
2658 |
|
|
BUF X1I79 (.I(X1N81), .O(GB[12]));
|
2659 |
|
|
GND X1I80 (.G(X1N81));
|
2660 |
|
|
BUF X1I83 (.I(X1N44), .O(X1N85));
|
2661 |
|
|
VCC X1I91 (.P(G[2]));
|
2662 |
|
|
|
2663 |
|
|
// WARNING - Component IGNORE_NO_LOAD4 has unconnected pins: 0 input, 1 output, 0 inout.
|
2664 |
|
|
// WARNING - Component IGNORE_NO_LOAD5 has unconnected pins: 0 input, 2 output, 0 inout.
|
2665 |
|
|
endmodule // INC32
|
2666 |
|
|
|
2667 |
|
|
module MEM_DELAY (C, D, Q, R);
|
2668 |
|
|
wire X1N3, X1N16, X1N19;
|
2669 |
|
|
FDR X1I1 (.C(C), .D(D), .Q(X1N3), .R(R));
|
2670 |
|
|
FDR X1I15 (.C(C), .D(X1N16), .Q(X1N19), .R(R));
|
2671 |
|
|
FDR X1I2 (.C(C), .D(X1N3), .Q(X1N16), .R(R));
|
2672 |
|
|
FDR X1I20 (.C(C), .D(X1N19), .Q(Q), .R(R));
|
2673 |
|
|
|
2674 |
|
|
endmodule // MEM_DELAY
|
2675 |
|
|
|
2676 |
|
|
module BUTTONS (CLK, SW1, SW2, SW3);
|
2677 |
|
|
wire X1N9, X1N11, X1N30, X1N31, X1N13, X1N17, X1N27, X1N18, X1N19;
|
2678 |
|
|
IPAD X1I1 (.IPAD(X1N9));
|
2679 |
|
|
IPAD X1I2 (.IPAD(X1N11));
|
2680 |
|
|
INV X1I25 (.I(X1N17), .O(X1N27));
|
2681 |
|
|
FD X1I26 (.C(CLK), .D(X1N27), .Q(SW1));
|
2682 |
|
|
FD X1I28 (.C(CLK), .D(X1N30), .Q(SW2));
|
2683 |
|
|
INV X1I29 (.I(X1N18), .O(X1N30));
|
2684 |
|
|
IPAD X1I3 (.IPAD(X1N13));
|
2685 |
|
|
INV X1I32 (.I(X1N19), .O(X1N31));
|
2686 |
|
|
FD X1I33 (.C(CLK), .D(X1N31), .Q(SW3));
|
2687 |
|
|
IBUF X1I5 (.I(X1N9), .O(X1N17));
|
2688 |
|
|
IBUF X1I6 (.I(X1N11), .O(X1N18));
|
2689 |
|
|
IBUF X1I7 (.I(X1N13), .O(X1N19));
|
2690 |
|
|
|
2691 |
|
|
endmodule // BUTTONS
|
2692 |
|
|
|
2693 |
|
|
module GND16 (G);
|
2694 |
|
|
wire X1N65;
|
2695 |
|
|
BUF X1I41 (.I(X1N65), .O(G[15]));
|
2696 |
|
|
BUF X1I42 (.I(X1N65), .O(G[14]));
|
2697 |
|
|
BUF X1I43 (.I(X1N65), .O(G[13]));
|
2698 |
|
|
BUF X1I44 (.I(X1N65), .O(G[12]));
|
2699 |
|
|
BUF X1I45 (.I(X1N65), .O(G[11]));
|
2700 |
|
|
BUF X1I46 (.I(X1N65), .O(G[10]));
|
2701 |
|
|
BUF X1I47 (.I(X1N65), .O(G[8]));
|
2702 |
|
|
BUF X1I48 (.I(X1N65), .O(G[9]));
|
2703 |
|
|
BUF X1I49 (.I(X1N65), .O(G[7]));
|
2704 |
|
|
BUF X1I50 (.I(X1N65), .O(G[6]));
|
2705 |
|
|
BUF X1I51 (.I(X1N65), .O(G[4]));
|
2706 |
|
|
BUF X1I52 (.I(X1N65), .O(G[5]));
|
2707 |
|
|
BUF X1I53 (.I(X1N65), .O(G[3]));
|
2708 |
|
|
BUF X1I54 (.I(X1N65), .O(G[2]));
|
2709 |
|
|
BUF X1I55 (.I(X1N65), .O(G[0]));
|
2710 |
|
|
BUF X1I56 (.I(X1N65), .O(G[1]));
|
2711 |
|
|
GND X1I66 (.G(X1N65));
|
2712 |
|
|
|
2713 |
|
|
endmodule // GND16
|
2714 |
|
|
|
2715 |
|
|
module INT_VAL (D0, D1, D2, D3, D4, I0, I1, I2, I3, I4, INT, Q0, Q1, Q2, Q3
|
2716 |
|
|
, Q4, VALID_IN, VALID_OUT);
|
2717 |
|
|
wire X1N13;
|
2718 |
|
|
AND2B1 X1I1 (.I0(VALID_IN), .I1(INT), .O(X1N13));
|
2719 |
|
|
M2_1 X1I10 (.D0(D1), .D1(I1), .O(Q1), .S0(X1N13));
|
2720 |
|
|
M2_1 X1I11 (.D0(D2), .D1(I2), .O(Q2), .S0(X1N13));
|
2721 |
|
|
M2_1 X1I12 (.D0(D0), .D1(I0), .O(Q0), .S0(X1N13));
|
2722 |
|
|
OR2 X1I2 (.I0(INT), .I1(VALID_IN), .O(VALID_OUT));
|
2723 |
|
|
M2_1 X1I8 (.D0(D3), .D1(I3), .O(Q3), .S0(X1N13));
|
2724 |
|
|
M2_1 X1I9 (.D0(D4), .D1(I4), .O(Q4), .S0(X1N13));
|
2725 |
|
|
|
2726 |
|
|
endmodule // INT_VAL
|
2727 |
|
|
|
2728 |
|
|
module REG16 (CLK, EN, I, O);
|
2729 |
|
|
wire X1N57;
|
2730 |
|
|
FD16CE X1I55 (.C(CLK), .CE(EN), .CLR(X1N57), .D({I[15], I[14], I[13],
|
2731 |
|
|
I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3], I[2],
|
2732 |
|
|
I[1], I[0]}), .Q({O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8],
|
2733 |
|
|
O[7], O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
2734 |
|
|
GND X1I59 (.G(X1N57));
|
2735 |
|
|
|
2736 |
|
|
endmodule // REG16
|
2737 |
|
|
|
2738 |
|
|
module BUF16 (I, O);
|
2739 |
|
|
output [15:0] O;
|
2740 |
|
|
input [15:0] I;
|
2741 |
|
|
BUF X1I10 (.I(I[8]), .O(O[8]));
|
2742 |
|
|
BUF X1I11 (.I(I[9]), .O(O[9]));
|
2743 |
|
|
BUF X1I12 (.I(I[7]), .O(O[7]));
|
2744 |
|
|
BUF X1I13 (.I(I[6]), .O(O[6]));
|
2745 |
|
|
BUF X1I14 (.I(I[4]), .O(O[4]));
|
2746 |
|
|
BUF X1I15 (.I(I[5]), .O(O[5]));
|
2747 |
|
|
BUF X1I16 (.I(I[1]), .O(O[1]));
|
2748 |
|
|
BUF X1I17 (.I(I[0]), .O(O[0]));
|
2749 |
|
|
BUF X1I18 (.I(I[2]), .O(O[2]));
|
2750 |
|
|
BUF X1I19 (.I(I[3]), .O(O[3]));
|
2751 |
|
|
BUF X1I4 (.I(I[15]), .O(O[15]));
|
2752 |
|
|
BUF X1I5 (.I(I[14]), .O(O[14]));
|
2753 |
|
|
BUF X1I6 (.I(I[13]), .O(O[13]));
|
2754 |
|
|
BUF X1I7 (.I(I[12]), .O(O[12]));
|
2755 |
|
|
BUF X1I8 (.I(I[11]), .O(O[11]));
|
2756 |
|
|
BUF X1I9 (.I(I[10]), .O(O[10]));
|
2757 |
|
|
|
2758 |
|
|
endmodule // BUF16
|
2759 |
|
|
|
2760 |
|
|
module SIGN_EX (D, EX_ZERO, O);
|
2761 |
|
|
wire X1N1;
|
2762 |
|
|
BUF16 X1I18 (.I({D[15], D[14], D[13], D[12], D[11], D[10], D[9], D[8],
|
2763 |
|
|
D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0]}), .O({O[15], O[14],
|
2764 |
|
|
O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5], O[4], O[3],
|
2765 |
|
|
O[2], O[1], O[0]}));
|
2766 |
|
|
BUF X1I21 (.I(X1N1), .O(O[16]));
|
2767 |
|
|
BUF X1I22 (.I(X1N1), .O(O[17]));
|
2768 |
|
|
BUF X1I23 (.I(X1N1), .O(O[18]));
|
2769 |
|
|
BUF X1I24 (.I(X1N1), .O(O[19]));
|
2770 |
|
|
BUF X1I25 (.I(X1N1), .O(O[20]));
|
2771 |
|
|
BUF X1I26 (.I(X1N1), .O(O[21]));
|
2772 |
|
|
BUF X1I27 (.I(X1N1), .O(O[23]));
|
2773 |
|
|
BUF X1I28 (.I(X1N1), .O(O[22]));
|
2774 |
|
|
BUF X1I29 (.I(X1N1), .O(O[24]));
|
2775 |
|
|
BUF X1I30 (.I(X1N1), .O(O[25]));
|
2776 |
|
|
BUF X1I31 (.I(X1N1), .O(O[27]));
|
2777 |
|
|
BUF X1I32 (.I(X1N1), .O(O[26]));
|
2778 |
|
|
BUF X1I33 (.I(X1N1), .O(O[30]));
|
2779 |
|
|
BUF X1I34 (.I(X1N1), .O(O[31]));
|
2780 |
|
|
BUF X1I35 (.I(X1N1), .O(O[29]));
|
2781 |
|
|
BUF X1I36 (.I(X1N1), .O(O[28]));
|
2782 |
|
|
AND2B1 X1I71 (.I0(EX_ZERO), .I1(D[15]), .O(X1N1));
|
2783 |
|
|
|
2784 |
|
|
endmodule // SIGN_EX
|
2785 |
|
|
|
2786 |
|
|
module SIGN_EX_SHIFT2 (D, JL, O);
|
2787 |
|
|
wire X1N141, X1N74;
|
2788 |
|
|
M2_1 X1I103 (.D0(D[15]), .D1(D[20]), .O(O[22]), .S0(JL));
|
2789 |
|
|
M2_1 X1I107 (.D0(D[15]), .D1(D[21]), .O(O[23]), .S0(JL));
|
2790 |
|
|
M2_1 X1I111 (.D0(D[15]), .D1(D[22]), .O(O[24]), .S0(JL));
|
2791 |
|
|
M2_1 X1I121 (.D0(D[15]), .D1(D[23]), .O(O[25]), .S0(JL));
|
2792 |
|
|
M2_1 X1I124 (.D0(D[15]), .D1(D[24]), .O(O[26]), .S0(JL));
|
2793 |
|
|
M2_1 X1I127 (.D0(D[15]), .D1(D[25]), .O(O[27]), .S0(JL));
|
2794 |
|
|
M2_1 X1I130 (.D0(D[15]), .D1(X1N141), .O(O[28]), .S0(JL));
|
2795 |
|
|
M2_1 X1I133 (.D0(D[15]), .D1(X1N141), .O(O[29]), .S0(JL));
|
2796 |
|
|
M2_1 X1I136 (.D0(D[15]), .D1(X1N141), .O(O[30]), .S0(JL));
|
2797 |
|
|
M2_1 X1I148 (.D0(D[15]), .D1(X1N141), .O(O[31]), .S0(JL));
|
2798 |
|
|
GND X1I149 (.G(X1N141));
|
2799 |
|
|
BUF16 X1I18 (.I({D[15], D[14], D[13], D[12], D[11], D[10], D[9], D[8],
|
2800 |
|
|
D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0]}), .O({O[17], O[16],
|
2801 |
|
|
O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8], O[7], O[6], O[5],
|
2802 |
|
|
O[4], O[3], O[2]}));
|
2803 |
|
|
BUF X1I75 (.I(X1N74), .O(O[1]));
|
2804 |
|
|
BUF X1I76 (.I(X1N74), .O(O[0]));
|
2805 |
|
|
GND X1I80 (.G(X1N74));
|
2806 |
|
|
M2_1 X1I83 (.D0(D[15]), .D1(D[16]), .O(O[18]), .S0(JL));
|
2807 |
|
|
M2_1 X1I87 (.D0(D[15]), .D1(D[17]), .O(O[19]), .S0(JL));
|
2808 |
|
|
M2_1 X1I95 (.D0(D[15]), .D1(D[18]), .O(O[20]), .S0(JL));
|
2809 |
|
|
M2_1 X1I99 (.D0(D[15]), .D1(D[19]), .O(O[21]), .S0(JL));
|
2810 |
|
|
|
2811 |
|
|
endmodule // SIGN_EX_SHIFT2
|
2812 |
|
|
|
2813 |
|
|
module FD4RE (C, CE, .D0(D[0]), .D1(D[1]), .D2(D[2]), .D3(D[3]), .Q0(Q[0]),
|
2814 |
|
|
.Q1(Q[1]), .Q2(Q[2]), .Q3(Q[3]), R);
|
2815 |
|
|
output [3:0] Q;
|
2816 |
|
|
input R, CE, C;
|
2817 |
|
|
input [3:0] D;
|
2818 |
|
|
wire [15:0] O, I, Q, D, IO;
|
2819 |
|
|
wire [7:0] DPO, SPO;
|
2820 |
|
|
FDRE Q0 (.C(C), .CE(CE), .D(D[0]), .Q(Q[0]), .R(R));
|
2821 |
|
|
FDRE Q1 (.C(C), .CE(CE), .D(D[1]), .Q(Q[1]), .R(R));
|
2822 |
|
|
FDRE Q2 (.C(C), .CE(CE), .D(D[2]), .Q(Q[2]), .R(R));
|
2823 |
|
|
FDRE Q3 (.C(C), .CE(CE), .D(D[3]), .Q(Q[3]), .R(R));
|
2824 |
|
|
|
2825 |
|
|
endmodule // FD4RE
|
2826 |
|
|
|
2827 |
|
|
module M4_1E (.D0(D[0]), .D1(D[1]), .D2(D[2]), .D3(D[3]), E, O, S0, S1);
|
2828 |
|
|
output O;
|
2829 |
|
|
input S1, S0, E;
|
2830 |
|
|
input [3:0] D;
|
2831 |
|
|
wire [15:0] O, I, Q, D;
|
2832 |
|
|
wire [7:0] DPO, SPO;
|
2833 |
|
|
wire M01, M23;
|
2834 |
|
|
M2_1E M01 (.D0(D[0]), .D1(D[1]), .E(E), .O(M01), .S0(S0));
|
2835 |
|
|
M2_1E M23 (.D0(D[2]), .D1(D[3]), .E(E), .O(M23), .S0(S0));
|
2836 |
|
|
MUXF5 O (.I0(M01), .I1(M23), .O(O), .S(S1));
|
2837 |
|
|
|
2838 |
|
|
endmodule // M4_1E
|
2839 |
|
|
|
2840 |
|
|
module LD16 (D, G, Q);
|
2841 |
|
|
output [15:0] Q;
|
2842 |
|
|
input G;
|
2843 |
|
|
input [15:0] D;
|
2844 |
|
|
wire [15:0] O, I;
|
2845 |
|
|
wire [7:0] DPO, SPO;
|
2846 |
|
|
LD Q5 (.D(D[5]), .G(G), .Q(Q[5]));
|
2847 |
|
|
LD Q1 (.D(D[1]), .G(G), .Q(Q[1]));
|
2848 |
|
|
LD Q0 (.D(D[0]), .G(G), .Q(Q[0]));
|
2849 |
|
|
LD Q2 (.D(D[2]), .G(G), .Q(Q[2]));
|
2850 |
|
|
LD Q3 (.D(D[3]), .G(G), .Q(Q[3]));
|
2851 |
|
|
LD Q4 (.D(D[4]), .G(G), .Q(Q[4]));
|
2852 |
|
|
LD Q6 (.D(D[6]), .G(G), .Q(Q[6]));
|
2853 |
|
|
LD Q7 (.D(D[7]), .G(G), .Q(Q[7]));
|
2854 |
|
|
LD Q8 (.D(D[8]), .G(G), .Q(Q[8]));
|
2855 |
|
|
LD Q9 (.D(D[9]), .G(G), .Q(Q[9]));
|
2856 |
|
|
LD Q10 (.D(D[10]), .G(G), .Q(Q[10]));
|
2857 |
|
|
LD Q11 (.D(D[11]), .G(G), .Q(Q[11]));
|
2858 |
|
|
LD Q12 (.D(D[12]), .G(G), .Q(Q[12]));
|
2859 |
|
|
LD Q13 (.D(D[13]), .G(G), .Q(Q[13]));
|
2860 |
|
|
LD Q14 (.D(D[14]), .G(G), .Q(Q[14]));
|
2861 |
|
|
LD Q15 (.D(D[15]), .G(G), .Q(Q[15]));
|
2862 |
|
|
|
2863 |
|
|
endmodule // LD16
|
2864 |
|
|
|
2865 |
|
|
module NOR6 (I0, I1, I2, I3, I4, I5, O);
|
2866 |
|
|
output O;
|
2867 |
|
|
input I5, I4, I3, I2, I1, I0;
|
2868 |
|
|
wire I35;
|
2869 |
|
|
NOR4 X1I100 (.I0(I0), .I1(I1), .I2(I2), .I3(I35), .O(O));
|
2870 |
|
|
OR3 X1I93 (.I0(I3), .I1(I4), .I2(I5), .O(I35));
|
2871 |
|
|
|
2872 |
|
|
endmodule // NOR6
|
2873 |
|
|
|
2874 |
|
|
module ROTEIGHT2 (I, O, S0, S1);
|
2875 |
|
|
wire [31:0] T, I, O;
|
2876 |
|
|
MUX2_1X32 X1I1 (.A({T[31], T[30], T[29], T[28], T[27], T[26], T[25], T[24]
|
2877 |
|
|
, T[23], T[22], T[21], T[20], T[19], T[18], T[17], T[16], T[15], T[14],
|
2878 |
|
|
T[13], T[12], T[11], T[10], T[9], T[8], T[7], T[6], T[5], T[4], T[3],
|
2879 |
|
|
T[2], T[1], T[0]}), .B({T[7], T[6], T[5], T[4], T[3], T[2], T[1], T[0],
|
2880 |
|
|
T[31], T[30], T[29], T[28], T[27], T[26], T[25], T[24], T[23], T[22],
|
2881 |
|
|
T[21], T[20], T[19], T[18], T[17], T[16], T[15], T[14], T[13], T[12],
|
2882 |
|
|
T[11], T[10], T[9], T[8]}), .SB(S0), .S({O[31], O[30], O[29], O[28],
|
2883 |
|
|
O[27], O[26], O[25], O[24], O[23], O[22], O[21], O[20], O[19], O[18],
|
2884 |
|
|
O[17], O[16], O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8], O[7]
|
2885 |
|
|
, O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
2886 |
|
|
MUX2_1X32 X1I2 (.A({I[31], I[30], I[29], I[28], I[27], I[26], I[25], I[24]
|
2887 |
|
|
, I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16], I[15], I[14],
|
2888 |
|
|
I[13], I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3],
|
2889 |
|
|
I[2], I[1], I[0]}), .B({I[15], I[14], I[13], I[12], I[11], I[10], I[9],
|
2890 |
|
|
I[8], I[7], I[6], I[5], I[4], I[3], I[2], I[1], I[0], I[31], I[30],
|
2891 |
|
|
I[29], I[28], I[27], I[26], I[25], I[24], I[23], I[22], I[21], I[20],
|
2892 |
|
|
I[19], I[18], I[17], I[16]}), .SB(S1), .S({T[31], T[30], T[29], T[28],
|
2893 |
|
|
T[27], T[26], T[25], T[24], T[23], T[22], T[21], T[20], T[19], T[18],
|
2894 |
|
|
T[17], T[16], T[15], T[14], T[13], T[12], T[11], T[10], T[9], T[8], T[7]
|
2895 |
|
|
, T[6], T[5], T[4], T[3], T[2], T[1], T[0]}));
|
2896 |
|
|
|
2897 |
|
|
endmodule // ROTEIGHT2
|
2898 |
|
|
|
2899 |
|
|
module M2_1X8_SR (A, B, NUL, O, SB, SET);
|
2900 |
|
|
wire X1N4, X1N6, X1N31, X1N32, X1N51, X1N42, X1N52, X1N43, X1N25, X1N26,
|
2901 |
|
|
X1N46, X1N37, X1N92, X1N56, X1N47, X1N38, X1N57, X1N85;
|
2902 |
|
|
AND2B1 X1I112 (.I0(NUL), .I1(SB), .O(X1N92));
|
2903 |
|
|
AND2B2 X1I113 (.I0(NUL), .I1(SB), .O(X1N85));
|
2904 |
|
|
AND2 X1I13 (.I0(X1N85), .I1(A[7]), .O(X1N4));
|
2905 |
|
|
AND2 X1I14 (.I0(X1N92), .I1(B[7]), .O(X1N6));
|
2906 |
|
|
AND2 X1I23 (.I0(X1N92), .I1(B[6]), .O(X1N26));
|
2907 |
|
|
OR3 X1I24 (.I0(SET), .I1(X1N26), .I2(X1N25), .O(O[6]));
|
2908 |
|
|
AND2 X1I27 (.I0(X1N85), .I1(A[6]), .O(X1N25));
|
2909 |
|
|
AND2 X1I29 (.I0(X1N92), .I1(B[5]), .O(X1N32));
|
2910 |
|
|
OR3 X1I3 (.I0(SET), .I1(X1N6), .I2(X1N4), .O(O[7]));
|
2911 |
|
|
OR3 X1I30 (.I0(SET), .I1(X1N32), .I2(X1N31), .O(O[5]));
|
2912 |
|
|
AND2 X1I33 (.I0(X1N85), .I1(A[5]), .O(X1N31));
|
2913 |
|
|
AND2 X1I35 (.I0(X1N92), .I1(B[4]), .O(X1N38));
|
2914 |
|
|
OR3 X1I36 (.I0(SET), .I1(X1N38), .I2(X1N37), .O(O[4]));
|
2915 |
|
|
AND2 X1I39 (.I0(X1N85), .I1(A[4]), .O(X1N37));
|
2916 |
|
|
AND2 X1I40 (.I0(X1N92), .I1(B[3]), .O(X1N43));
|
2917 |
|
|
OR3 X1I41 (.I0(SET), .I1(X1N43), .I2(X1N42), .O(O[3]));
|
2918 |
|
|
AND2 X1I44 (.I0(X1N85), .I1(A[3]), .O(X1N42));
|
2919 |
|
|
AND2 X1I45 (.I0(X1N85), .I1(A[2]), .O(X1N47));
|
2920 |
|
|
OR3 X1I48 (.I0(SET), .I1(X1N46), .I2(X1N47), .O(O[2]));
|
2921 |
|
|
AND2 X1I49 (.I0(X1N92), .I1(B[2]), .O(X1N46));
|
2922 |
|
|
AND2 X1I50 (.I0(X1N85), .I1(A[1]), .O(X1N52));
|
2923 |
|
|
OR3 X1I53 (.I0(SET), .I1(X1N51), .I2(X1N52), .O(O[1]));
|
2924 |
|
|
AND2 X1I54 (.I0(X1N92), .I1(B[1]), .O(X1N51));
|
2925 |
|
|
AND2 X1I55 (.I0(X1N85), .I1(A[0]), .O(X1N57));
|
2926 |
|
|
OR3 X1I58 (.I0(SET), .I1(X1N56), .I2(X1N57), .O(O[0]));
|
2927 |
|
|
AND2 X1I59 (.I0(X1N92), .I1(B[0]), .O(X1N56));
|
2928 |
|
|
|
2929 |
|
|
endmodule // M2_1X8_SR
|
2930 |
|
|
|
2931 |
|
|
module BYTEMASK (A, B, MASK, NULL0, NULL1, NULL2, NULL3, O, SB0, SB1, SB2,
|
2932 |
|
|
SB3);
|
2933 |
|
|
wire X1N40, X1N50, X1N51, X1N42, X1N44, X1N35, X1N45, X1N28;
|
2934 |
|
|
M2_1X8_SR X1I1 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25], A[24]
|
2935 |
|
|
}), .B({B[31], B[30], B[29], B[28], B[27], B[26], B[25], B[24]}), .NUL
|
2936 |
|
|
(X1N28), .O({O[31], O[30], O[29], O[28], O[27], O[26], O[25], O[24]}),
|
2937 |
|
|
.SB(SB3), .SET(X1N35));
|
2938 |
|
|
M2_1X8_SR X1I12 (.A({A[15], A[14], A[13], A[12], A[11], A[10], A[9], A[8]}
|
2939 |
|
|
), .B({B[15], B[14], B[13], B[12], B[11], B[10], B[9], B[8]}), .NUL
|
2940 |
|
|
(X1N45), .O({O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8]}), .SB
|
2941 |
|
|
(SB1), .SET(X1N44));
|
2942 |
|
|
M2_1X8_SR X1I15 (.A({A[7], A[6], A[5], A[4], A[3], A[2], A[1], A[0]}), .B(
|
2943 |
|
|
{B[7], B[6], B[5], B[4], B[3], B[2], B[1], B[0]}), .NUL(X1N51), .O({O[7]
|
2944 |
|
|
, O[6], O[5], O[4], O[3], O[2], O[1], O[0]}), .SB(SB0), .SET(X1N50));
|
2945 |
|
|
M2_1X8_SR X1I2 (.A({A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16]
|
2946 |
|
|
}), .B({B[23], B[22], B[21], B[20], B[19], B[18], B[17], B[16]}), .NUL
|
2947 |
|
|
(X1N40), .O({O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}),
|
2948 |
|
|
.SB(SB2), .SET(X1N42));
|
2949 |
|
|
AND2B1 X1I29 (.I0(MASK), .I1(NULL3), .O(X1N28));
|
2950 |
|
|
AND2 X1I30 (.I0(MASK), .I1(NULL3), .O(X1N35));
|
2951 |
|
|
AND2 X1I38 (.I0(MASK), .I1(NULL2), .O(X1N42));
|
2952 |
|
|
AND2B1 X1I39 (.I0(MASK), .I1(NULL2), .O(X1N40));
|
2953 |
|
|
AND2B1 X1I46 (.I0(MASK), .I1(NULL1), .O(X1N45));
|
2954 |
|
|
AND2 X1I47 (.I0(MASK), .I1(NULL1), .O(X1N44));
|
2955 |
|
|
AND2B1 X1I52 (.I0(MASK), .I1(NULL0), .O(X1N51));
|
2956 |
|
|
AND2 X1I53 (.I0(MASK), .I1(NULL0), .O(X1N50));
|
2957 |
|
|
|
2958 |
|
|
endmodule // BYTEMASK
|
2959 |
|
|
|
2960 |
|
|
module ROTEIGHT (I, O, S0, S1);
|
2961 |
|
|
wire [31:0] T, I, O;
|
2962 |
|
|
MUX2_1X32 X1I1 (.A({T[31], T[30], T[29], T[28], T[27], T[26], T[25], T[24]
|
2963 |
|
|
, T[23], T[22], T[21], T[20], T[19], T[18], T[17], T[16], T[15], T[14],
|
2964 |
|
|
T[13], T[12], T[11], T[10], T[9], T[8], T[7], T[6], T[5], T[4], T[3],
|
2965 |
|
|
T[2], T[1], T[0]}), .B({T[23], T[22], T[21], T[20], T[19], T[18], T[17]
|
2966 |
|
|
, T[16], T[15], T[14], T[13], T[12], T[11], T[10], T[9], T[8], T[7],
|
2967 |
|
|
T[6], T[5], T[4], T[3], T[2], T[1], T[0], T[31], T[30], T[29], T[28],
|
2968 |
|
|
T[27], T[26], T[25], T[24]}), .SB(S0), .S({O[31], O[30], O[29], O[28],
|
2969 |
|
|
O[27], O[26], O[25], O[24], O[23], O[22], O[21], O[20], O[19], O[18],
|
2970 |
|
|
O[17], O[16], O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8], O[7]
|
2971 |
|
|
, O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
2972 |
|
|
MUX2_1X32 X1I2 (.A({I[31], I[30], I[29], I[28], I[27], I[26], I[25], I[24]
|
2973 |
|
|
, I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16], I[15], I[14],
|
2974 |
|
|
I[13], I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3],
|
2975 |
|
|
I[2], I[1], I[0]}), .B({I[15], I[14], I[13], I[12], I[11], I[10], I[9],
|
2976 |
|
|
I[8], I[7], I[6], I[5], I[4], I[3], I[2], I[1], I[0], I[31], I[30],
|
2977 |
|
|
I[29], I[28], I[27], I[26], I[25], I[24], I[23], I[22], I[21], I[20],
|
2978 |
|
|
I[19], I[18], I[17], I[16]}), .SB(S1), .S({T[31], T[30], T[29], T[28],
|
2979 |
|
|
T[27], T[26], T[25], T[24], T[23], T[22], T[21], T[20], T[19], T[18],
|
2980 |
|
|
T[17], T[16], T[15], T[14], T[13], T[12], T[11], T[10], T[9], T[8], T[7]
|
2981 |
|
|
, T[6], T[5], T[4], T[3], T[2], T[1], T[0]}));
|
2982 |
|
|
|
2983 |
|
|
endmodule // ROTEIGHT
|
2984 |
|
|
|
2985 |
|
|
module M2_1X8 (A, B, O, SB);
|
2986 |
|
|
wire X1N4, X1N6, X1N31, X1N32, X1N51, X1N42, X1N52, X1N43, X1N25, X1N26,
|
2987 |
|
|
X1N46, X1N37, X1N56, X1N47, X1N38, X1N57, X1N85;
|
2988 |
|
|
OR2 X1I115 (.I0(X1N56), .I1(X1N57), .O(O[0]));
|
2989 |
|
|
OR2 X1I116 (.I0(X1N6), .I1(X1N4), .O(O[7]));
|
2990 |
|
|
OR2 X1I117 (.I0(X1N26), .I1(X1N25), .O(O[6]));
|
2991 |
|
|
OR2 X1I118 (.I0(X1N32), .I1(X1N31), .O(O[5]));
|
2992 |
|
|
OR2 X1I119 (.I0(X1N38), .I1(X1N37), .O(O[4]));
|
2993 |
|
|
OR2 X1I120 (.I0(X1N51), .I1(X1N52), .O(O[1]));
|
2994 |
|
|
OR2 X1I121 (.I0(X1N46), .I1(X1N47), .O(O[2]));
|
2995 |
|
|
OR2 X1I122 (.I0(X1N43), .I1(X1N42), .O(O[3]));
|
2996 |
|
|
INV X1I126 (.I(SB), .O(X1N85));
|
2997 |
|
|
AND2 X1I13 (.I0(X1N85), .I1(A[7]), .O(X1N4));
|
2998 |
|
|
AND2 X1I14 (.I0(SB), .I1(B[7]), .O(X1N6));
|
2999 |
|
|
AND2 X1I23 (.I0(SB), .I1(B[6]), .O(X1N26));
|
3000 |
|
|
AND2 X1I27 (.I0(X1N85), .I1(A[6]), .O(X1N25));
|
3001 |
|
|
AND2 X1I29 (.I0(SB), .I1(B[5]), .O(X1N32));
|
3002 |
|
|
AND2 X1I33 (.I0(X1N85), .I1(A[5]), .O(X1N31));
|
3003 |
|
|
AND2 X1I35 (.I0(SB), .I1(B[4]), .O(X1N38));
|
3004 |
|
|
AND2 X1I39 (.I0(X1N85), .I1(A[4]), .O(X1N37));
|
3005 |
|
|
AND2 X1I40 (.I0(SB), .I1(B[3]), .O(X1N43));
|
3006 |
|
|
AND2 X1I44 (.I0(X1N85), .I1(A[3]), .O(X1N42));
|
3007 |
|
|
AND2 X1I45 (.I0(X1N85), .I1(A[2]), .O(X1N47));
|
3008 |
|
|
AND2 X1I49 (.I0(SB), .I1(B[2]), .O(X1N46));
|
3009 |
|
|
AND2 X1I50 (.I0(X1N85), .I1(A[1]), .O(X1N52));
|
3010 |
|
|
AND2 X1I54 (.I0(SB), .I1(B[1]), .O(X1N51));
|
3011 |
|
|
AND2 X1I55 (.I0(X1N85), .I1(A[0]), .O(X1N57));
|
3012 |
|
|
AND2 X1I59 (.I0(SB), .I1(B[0]), .O(X1N56));
|
3013 |
|
|
|
3014 |
|
|
endmodule // M2_1X8
|
3015 |
|
|
|
3016 |
|
|
module BYTE_MUX (A, B, O, SB0, SB1, SB2, SB3);
|
3017 |
|
|
M2_1X8 X1I1 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25], A[24]})
|
3018 |
|
|
, .B({B[31], B[30], B[29], B[28], B[27], B[26], B[25], B[24]}), .O({
|
3019 |
|
|
O[31], O[30], O[29], O[28], O[27], O[26], O[25], O[24]}), .SB(SB3));
|
3020 |
|
|
M2_1X8 X1I12 (.A({A[15], A[14], A[13], A[12], A[11], A[10], A[9], A[8]}),
|
3021 |
|
|
.B({B[15], B[14], B[13], B[12], B[11], B[10], B[9], B[8]}), .O({O[15],
|
3022 |
|
|
O[14], O[13], O[12], O[11], O[10], O[9], O[8]}), .SB(SB1));
|
3023 |
|
|
M2_1X8 X1I15 (.A({A[7], A[6], A[5], A[4], A[3], A[2], A[1], A[0]}), .B({
|
3024 |
|
|
B[7], B[6], B[5], B[4], B[3], B[2], B[1], B[0]}), .O({O[7], O[6], O[5],
|
3025 |
|
|
O[4], O[3], O[2], O[1], O[0]}), .SB(SB0));
|
3026 |
|
|
M2_1X8 X1I2 (.A({A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16]})
|
3027 |
|
|
, .B({B[23], B[22], B[21], B[20], B[19], B[18], B[17], B[16]}), .O({
|
3028 |
|
|
O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}), .SB(SB2));
|
3029 |
|
|
|
3030 |
|
|
endmodule // BYTE_MUX
|
3031 |
|
|
|
3032 |
|
|
module SOP4 (I0, I1, I2, I3, O);
|
3033 |
|
|
output O;
|
3034 |
|
|
input I3, I2, I1, I0;
|
3035 |
|
|
wire [15:0] Q, D;
|
3036 |
|
|
wire I01, I23;
|
3037 |
|
|
AND2 X1I7 (.I0(I2), .I1(I3), .O(I23));
|
3038 |
|
|
OR2 X1I8 (.I0(I01), .I1(I23), .O(O));
|
3039 |
|
|
AND2 X1I9 (.I0(I0), .I1(I1), .O(I01));
|
3040 |
|
|
|
3041 |
|
|
endmodule // SOP4
|
3042 |
|
|
|
3043 |
|
|
module SOP4B1 (I0, I1, I2, I3, O);
|
3044 |
|
|
output O;
|
3045 |
|
|
input I3, I2, I1, I0;
|
3046 |
|
|
wire [15:0] Q, D;
|
3047 |
|
|
wire I0B1, I23;
|
3048 |
|
|
AND2 X1I7 (.I0(I2), .I1(I3), .O(I23));
|
3049 |
|
|
OR2 X1I8 (.I0(I0B1), .I1(I23), .O(O));
|
3050 |
|
|
AND2B1 X1I9 (.I0(I0), .I1(I1), .O(I0B1));
|
3051 |
|
|
|
3052 |
|
|
endmodule // SOP4B1
|
3053 |
|
|
|
3054 |
|
|
module D2_4E (.A0(A[0]), .A1(A[1]), .D0(D[0]), .D1(D[1]), .D2(D[2]), .D3
|
3055 |
|
|
(D[3]), E);
|
3056 |
|
|
output [3:0] D;
|
3057 |
|
|
input E;
|
3058 |
|
|
input [1:0] A;
|
3059 |
|
|
wire [63:0] A;
|
3060 |
|
|
wire [15:0] Q, D, O, I, IO;
|
3061 |
|
|
wire [7:0] DPO, SPO;
|
3062 |
|
|
AND3 X1I30 (.I0(A[1]), .I1(A[0]), .I2(E), .O(D[3]));
|
3063 |
|
|
AND3B1 X1I31 (.I0(A[0]), .I1(A[1]), .I2(E), .O(D[2]));
|
3064 |
|
|
AND3B1 X1I32 (.I0(A[1]), .I1(A[0]), .I2(E), .O(D[1]));
|
3065 |
|
|
AND3B2 X1I33 (.I0(A[0]), .I1(A[1]), .I2(E), .O(D[0]));
|
3066 |
|
|
|
3067 |
|
|
endmodule // D2_4E
|
3068 |
|
|
|
3069 |
|
|
module LSRAMANDCON (LA, LCE, LD, LOE, LRD, LWD, LWE);
|
3070 |
|
|
wire X1N4, X1N154, X1N9, X1N267, X1N258, X1N249, X1N21, X1N13, X1N41,
|
3071 |
|
|
X1N33, X1N61, X1N25, X1N53, X1N17, X1N45, X1N73, X1N37, X1N65, X1N29,
|
3072 |
|
|
X1N57, X1N49, X1N77, X1N69;
|
3073 |
|
|
MU_TITLE X1I1 ();
|
3074 |
|
|
OBUF X1I11 (.I(LA[2]), .O(X1N13));
|
3075 |
|
|
IOBUF X1I112 (.I(LWD[8]), .IO(LD[8]), .O(LRD[8]), .T(X1N154));
|
3076 |
|
|
IOPAD X1I113 (.IOPAD(LD[8]));
|
3077 |
|
|
IOBUF X1I119 (.I(LWD[9]), .IO(LD[9]), .O(LRD[9]), .T(X1N154));
|
3078 |
|
|
OPAD X1I12 (.OPAD(X1N13));
|
3079 |
|
|
IOPAD X1I120 (.IOPAD(LD[9]));
|
3080 |
|
|
IOBUF X1I124 (.I(LWD[10]), .IO(LD[10]), .O(LRD[10]), .T(X1N154));
|
3081 |
|
|
IOPAD X1I125 (.IOPAD(LD[10]));
|
3082 |
|
|
IOBUF X1I129 (.I(LWD[11]), .IO(LD[11]), .O(LRD[11]), .T(X1N154));
|
3083 |
|
|
IOPAD X1I130 (.IOPAD(LD[11]));
|
3084 |
|
|
IOPAD X1I135 (.IOPAD(LD[12]));
|
3085 |
|
|
IOBUF X1I136 (.I(LWD[12]), .IO(LD[12]), .O(LRD[12]), .T(X1N154));
|
3086 |
|
|
IOPAD X1I140 (.IOPAD(LD[13]));
|
3087 |
|
|
IOBUF X1I141 (.I(LWD[13]), .IO(LD[13]), .O(LRD[13]), .T(X1N154));
|
3088 |
|
|
IOBUF X1I144 (.I(LWD[14]), .IO(LD[14]), .O(LRD[14]), .T(X1N154));
|
3089 |
|
|
IOPAD X1I145 (.IOPAD(LD[14]));
|
3090 |
|
|
IOBUF X1I149 (.I(LWD[15]), .IO(LD[15]), .O(LRD[15]), .T(X1N154));
|
3091 |
|
|
OBUF X1I15 (.I(LA[3]), .O(X1N17));
|
3092 |
|
|
IOPAD X1I150 (.IOPAD(LD[15]));
|
3093 |
|
|
OPAD X1I16 (.OPAD(X1N17));
|
3094 |
|
|
OBUF X1I19 (.I(LA[4]), .O(X1N21));
|
3095 |
|
|
OBUF X1I2 (.I(LA[0]), .O(X1N4));
|
3096 |
|
|
OPAD X1I20 (.OPAD(X1N21));
|
3097 |
|
|
IOBUF X1I206 (.I(LWD[7]), .IO(LD[7]), .O(LRD[7]), .T(X1N154));
|
3098 |
|
|
IOBUF X1I207 (.I(LWD[6]), .IO(LD[6]), .O(LRD[6]), .T(X1N154));
|
3099 |
|
|
IOBUF X1I208 (.I(LWD[5]), .IO(LD[5]), .O(LRD[5]), .T(X1N154));
|
3100 |
|
|
IOBUF X1I209 (.I(LWD[4]), .IO(LD[4]), .O(LRD[4]), .T(X1N154));
|
3101 |
|
|
IOBUF X1I210 (.I(LWD[3]), .IO(LD[3]), .O(LRD[3]), .T(X1N154));
|
3102 |
|
|
IOBUF X1I211 (.I(LWD[2]), .IO(LD[2]), .O(LRD[2]), .T(X1N154));
|
3103 |
|
|
IOBUF X1I212 (.I(LWD[1]), .IO(LD[1]), .O(LRD[1]), .T(X1N154));
|
3104 |
|
|
IOBUF X1I213 (.I(LWD[0]), .IO(LD[0]), .O(LRD[0]), .T(X1N154));
|
3105 |
|
|
IOPAD X1I214 (.IOPAD(LD[7]));
|
3106 |
|
|
IOPAD X1I215 (.IOPAD(LD[6]));
|
3107 |
|
|
IOPAD X1I216 (.IOPAD(LD[5]));
|
3108 |
|
|
IOPAD X1I217 (.IOPAD(LD[4]));
|
3109 |
|
|
IOPAD X1I218 (.IOPAD(LD[3]));
|
3110 |
|
|
IOPAD X1I219 (.IOPAD(LD[2]));
|
3111 |
|
|
IOPAD X1I220 (.IOPAD(LD[1]));
|
3112 |
|
|
IOPAD X1I221 (.IOPAD(LD[0]));
|
3113 |
|
|
OBUF X1I23 (.I(LA[5]), .O(X1N25));
|
3114 |
|
|
OPAD X1I24 (.OPAD(X1N25));
|
3115 |
|
|
OPAD X1I248 (.OPAD(X1N249));
|
3116 |
|
|
OBUF X1I250 (.I(LOE), .O(X1N249));
|
3117 |
|
|
IBUF X1I253 (.I(X1N258), .O(X1N154));
|
3118 |
|
|
OBUF X1I257 (.I(LWE), .O(X1N258));
|
3119 |
|
|
OPAD X1I259 (.OPAD(X1N258));
|
3120 |
|
|
OBUF X1I266 (.I(LCE), .O(X1N267));
|
3121 |
|
|
OPAD X1I268 (.OPAD(X1N267));
|
3122 |
|
|
OBUF X1I27 (.I(LA[6]), .O(X1N29));
|
3123 |
|
|
OPAD X1I28 (.OPAD(X1N29));
|
3124 |
|
|
OPAD X1I3 (.OPAD(X1N4));
|
3125 |
|
|
OBUF X1I31 (.I(LA[7]), .O(X1N33));
|
3126 |
|
|
OPAD X1I32 (.OPAD(X1N33));
|
3127 |
|
|
OBUF X1I35 (.I(LA[8]), .O(X1N37));
|
3128 |
|
|
OPAD X1I36 (.OPAD(X1N37));
|
3129 |
|
|
OBUF X1I39 (.I(LA[9]), .O(X1N41));
|
3130 |
|
|
OPAD X1I40 (.OPAD(X1N41));
|
3131 |
|
|
OBUF X1I43 (.I(LA[10]), .O(X1N45));
|
3132 |
|
|
OPAD X1I44 (.OPAD(X1N45));
|
3133 |
|
|
OBUF X1I47 (.I(LA[11]), .O(X1N49));
|
3134 |
|
|
OPAD X1I48 (.OPAD(X1N49));
|
3135 |
|
|
OBUF X1I51 (.I(LA[12]), .O(X1N53));
|
3136 |
|
|
OPAD X1I52 (.OPAD(X1N53));
|
3137 |
|
|
OBUF X1I55 (.I(LA[13]), .O(X1N57));
|
3138 |
|
|
OPAD X1I56 (.OPAD(X1N57));
|
3139 |
|
|
OBUF X1I59 (.I(LA[14]), .O(X1N61));
|
3140 |
|
|
OPAD X1I60 (.OPAD(X1N61));
|
3141 |
|
|
OBUF X1I63 (.I(LA[15]), .O(X1N65));
|
3142 |
|
|
OPAD X1I64 (.OPAD(X1N65));
|
3143 |
|
|
OBUF X1I67 (.I(LA[16]), .O(X1N69));
|
3144 |
|
|
OPAD X1I68 (.OPAD(X1N69));
|
3145 |
|
|
OBUF X1I7 (.I(LA[1]), .O(X1N9));
|
3146 |
|
|
OBUF X1I71 (.I(LA[17]), .O(X1N73));
|
3147 |
|
|
OPAD X1I72 (.OPAD(X1N73));
|
3148 |
|
|
OBUF X1I75 (.I(LA[18]), .O(X1N77));
|
3149 |
|
|
OPAD X1I76 (.OPAD(X1N77));
|
3150 |
|
|
OPAD X1I8 (.OPAD(X1N9));
|
3151 |
|
|
|
3152 |
|
|
endmodule // LSRAMANDCON
|
3153 |
|
|
|
3154 |
|
|
module RSRAMANDCON (RA, RCE, RD, ROE, RRD, RWD, RWE);
|
3155 |
|
|
wire X1N4, X1N270, X1N154, X1N9, X1N267, X1N249, X1N21, X1N13, X1N41,
|
3156 |
|
|
X1N33, X1N61, X1N25, X1N53, X1N17, X1N45, X1N73, X1N37, X1N65, X1N29,
|
3157 |
|
|
X1N57, X1N49, X1N77, X1N69;
|
3158 |
|
|
MU_TITLE X1I1 ();
|
3159 |
|
|
OBUF X1I11 (.I(RA[2]), .O(X1N13));
|
3160 |
|
|
IOBUF X1I112 (.I(RWD[8]), .IO(RD[8]), .O(RRD[8]), .T(X1N270));
|
3161 |
|
|
IOPAD X1I113 (.IOPAD(RD[8]));
|
3162 |
|
|
IOBUF X1I119 (.I(RWD[9]), .IO(RD[9]), .O(RRD[9]), .T(X1N270));
|
3163 |
|
|
OPAD X1I12 (.OPAD(X1N13));
|
3164 |
|
|
IOPAD X1I120 (.IOPAD(RD[9]));
|
3165 |
|
|
IOBUF X1I124 (.I(RWD[10]), .IO(RD[10]), .O(RRD[10]), .T(X1N270));
|
3166 |
|
|
IOPAD X1I125 (.IOPAD(RD[10]));
|
3167 |
|
|
IOBUF X1I129 (.I(RWD[11]), .IO(RD[11]), .O(RRD[11]), .T(X1N270));
|
3168 |
|
|
IOPAD X1I130 (.IOPAD(RD[11]));
|
3169 |
|
|
IOPAD X1I135 (.IOPAD(RD[12]));
|
3170 |
|
|
IOBUF X1I136 (.I(RWD[12]), .IO(RD[12]), .O(RRD[12]), .T(X1N270));
|
3171 |
|
|
IOPAD X1I140 (.IOPAD(RD[13]));
|
3172 |
|
|
IOBUF X1I141 (.I(RWD[13]), .IO(RD[13]), .O(RRD[13]), .T(X1N270));
|
3173 |
|
|
IOBUF X1I144 (.I(RWD[14]), .IO(RD[14]), .O(RRD[14]), .T(X1N270));
|
3174 |
|
|
IOPAD X1I145 (.IOPAD(RD[14]));
|
3175 |
|
|
IOBUF X1I149 (.I(RWD[15]), .IO(RD[15]), .O(RRD[15]), .T(X1N270));
|
3176 |
|
|
OBUF X1I15 (.I(RA[3]), .O(X1N17));
|
3177 |
|
|
IOPAD X1I150 (.IOPAD(RD[15]));
|
3178 |
|
|
OPAD X1I16 (.OPAD(X1N17));
|
3179 |
|
|
OBUF X1I19 (.I(RA[4]), .O(X1N21));
|
3180 |
|
|
OBUF X1I2 (.I(RA[0]), .O(X1N4));
|
3181 |
|
|
OPAD X1I20 (.OPAD(X1N21));
|
3182 |
|
|
IOBUF X1I206 (.I(RWD[7]), .IO(RD[7]), .O(RRD[7]), .T(X1N270));
|
3183 |
|
|
IOBUF X1I207 (.I(RWD[6]), .IO(RD[6]), .O(RRD[6]), .T(X1N270));
|
3184 |
|
|
IOBUF X1I208 (.I(RWD[5]), .IO(RD[5]), .O(RRD[5]), .T(X1N270));
|
3185 |
|
|
IOBUF X1I209 (.I(RWD[4]), .IO(RD[4]), .O(RRD[4]), .T(X1N270));
|
3186 |
|
|
IOBUF X1I210 (.I(RWD[3]), .IO(RD[3]), .O(RRD[3]), .T(X1N270));
|
3187 |
|
|
IOBUF X1I211 (.I(RWD[2]), .IO(RD[2]), .O(RRD[2]), .T(X1N270));
|
3188 |
|
|
IOBUF X1I212 (.I(RWD[1]), .IO(RD[1]), .O(RRD[1]), .T(X1N270));
|
3189 |
|
|
IOBUF X1I213 (.I(RWD[0]), .IO(RD[0]), .O(RRD[0]), .T(X1N270));
|
3190 |
|
|
IOPAD X1I214 (.IOPAD(RD[7]));
|
3191 |
|
|
IOPAD X1I215 (.IOPAD(RD[6]));
|
3192 |
|
|
IOPAD X1I216 (.IOPAD(RD[5]));
|
3193 |
|
|
IOPAD X1I217 (.IOPAD(RD[4]));
|
3194 |
|
|
IOPAD X1I218 (.IOPAD(RD[3]));
|
3195 |
|
|
IOPAD X1I219 (.IOPAD(RD[2]));
|
3196 |
|
|
IOPAD X1I220 (.IOPAD(RD[1]));
|
3197 |
|
|
IOPAD X1I221 (.IOPAD(RD[0]));
|
3198 |
|
|
OBUF X1I23 (.I(RA[5]), .O(X1N25));
|
3199 |
|
|
OPAD X1I24 (.OPAD(X1N25));
|
3200 |
|
|
OPAD X1I248 (.OPAD(X1N249));
|
3201 |
|
|
OBUF X1I250 (.I(ROE), .O(X1N249));
|
3202 |
|
|
OBUF X1I257 (.I(RWE), .O(X1N154));
|
3203 |
|
|
OPAD X1I259 (.OPAD(X1N154));
|
3204 |
|
|
OBUF X1I266 (.I(RCE), .O(X1N267));
|
3205 |
|
|
OPAD X1I268 (.OPAD(X1N267));
|
3206 |
|
|
OBUF X1I27 (.I(RA[6]), .O(X1N29));
|
3207 |
|
|
IBUF X1I271 (.I(X1N154), .O(X1N270));
|
3208 |
|
|
OPAD X1I28 (.OPAD(X1N29));
|
3209 |
|
|
OPAD X1I3 (.OPAD(X1N4));
|
3210 |
|
|
OBUF X1I31 (.I(RA[7]), .O(X1N33));
|
3211 |
|
|
OPAD X1I32 (.OPAD(X1N33));
|
3212 |
|
|
OBUF X1I35 (.I(RA[8]), .O(X1N37));
|
3213 |
|
|
OPAD X1I36 (.OPAD(X1N37));
|
3214 |
|
|
OBUF X1I39 (.I(RA[9]), .O(X1N41));
|
3215 |
|
|
OPAD X1I40 (.OPAD(X1N41));
|
3216 |
|
|
OBUF X1I43 (.I(RA[10]), .O(X1N45));
|
3217 |
|
|
OPAD X1I44 (.OPAD(X1N45));
|
3218 |
|
|
OBUF X1I47 (.I(RA[11]), .O(X1N49));
|
3219 |
|
|
OPAD X1I48 (.OPAD(X1N49));
|
3220 |
|
|
OBUF X1I51 (.I(RA[12]), .O(X1N53));
|
3221 |
|
|
OPAD X1I52 (.OPAD(X1N53));
|
3222 |
|
|
OBUF X1I55 (.I(RA[13]), .O(X1N57));
|
3223 |
|
|
OPAD X1I56 (.OPAD(X1N57));
|
3224 |
|
|
OBUF X1I59 (.I(RA[14]), .O(X1N61));
|
3225 |
|
|
OPAD X1I60 (.OPAD(X1N61));
|
3226 |
|
|
OBUF X1I63 (.I(RA[15]), .O(X1N65));
|
3227 |
|
|
OPAD X1I64 (.OPAD(X1N65));
|
3228 |
|
|
OBUF X1I67 (.I(RA[16]), .O(X1N69));
|
3229 |
|
|
OPAD X1I68 (.OPAD(X1N69));
|
3230 |
|
|
OBUF X1I7 (.I(RA[1]), .O(X1N9));
|
3231 |
|
|
OBUF X1I71 (.I(RA[17]), .O(X1N73));
|
3232 |
|
|
OPAD X1I72 (.OPAD(X1N73));
|
3233 |
|
|
OBUF X1I75 (.I(RA[18]), .O(X1N77));
|
3234 |
|
|
OPAD X1I76 (.OPAD(X1N77));
|
3235 |
|
|
OPAD X1I8 (.OPAD(X1N9));
|
3236 |
|
|
|
3237 |
|
|
endmodule // RSRAMANDCON
|
3238 |
|
|
|
3239 |
|
|
module MEM (ADDRESS, CE, MEM_READ_DATA, OE, WR, WRITE_DATA);
|
3240 |
|
|
wire NCE, X1N13, X1N19;
|
3241 |
|
|
LSRAMANDCON X1I1 (.LA({ADDRESS[20], ADDRESS[19], ADDRESS[18], ADDRESS[17]
|
3242 |
|
|
, ADDRESS[16], ADDRESS[15], ADDRESS[14], ADDRESS[13], ADDRESS[12],
|
3243 |
|
|
ADDRESS[11], ADDRESS[10], ADDRESS[9], ADDRESS[8], ADDRESS[7], ADDRESS[6]
|
3244 |
|
|
, ADDRESS[5], ADDRESS[4], ADDRESS[3], ADDRESS[2]}), .LCE(NCE), .LOE
|
3245 |
|
|
(X1N13), .LRD({MEM_READ_DATA[15], MEM_READ_DATA[14], MEM_READ_DATA[13],
|
3246 |
|
|
MEM_READ_DATA[12], MEM_READ_DATA[11], MEM_READ_DATA[10],
|
3247 |
|
|
MEM_READ_DATA[9], MEM_READ_DATA[8], MEM_READ_DATA[7], MEM_READ_DATA[6],
|
3248 |
|
|
MEM_READ_DATA[5], MEM_READ_DATA[4], MEM_READ_DATA[3], MEM_READ_DATA[2],
|
3249 |
|
|
MEM_READ_DATA[1], MEM_READ_DATA[0]}), .LWD({WRITE_DATA[15],
|
3250 |
|
|
WRITE_DATA[14], WRITE_DATA[13], WRITE_DATA[12], WRITE_DATA[11],
|
3251 |
|
|
WRITE_DATA[10], WRITE_DATA[9], WRITE_DATA[8], WRITE_DATA[7],
|
3252 |
|
|
WRITE_DATA[6], WRITE_DATA[5], WRITE_DATA[4], WRITE_DATA[3],
|
3253 |
|
|
WRITE_DATA[2], WRITE_DATA[1], WRITE_DATA[0]}), .LWE(X1N19));
|
3254 |
|
|
INV X1I17 (.I(WR), .O(X1N19));
|
3255 |
|
|
RSRAMANDCON X1I2 (.RA({ADDRESS[20], ADDRESS[19], ADDRESS[18], ADDRESS[17]
|
3256 |
|
|
, ADDRESS[16], ADDRESS[15], ADDRESS[14], ADDRESS[13], ADDRESS[12],
|
3257 |
|
|
ADDRESS[11], ADDRESS[10], ADDRESS[9], ADDRESS[8], ADDRESS[7], ADDRESS[6]
|
3258 |
|
|
, ADDRESS[5], ADDRESS[4], ADDRESS[3], ADDRESS[2]}), .RCE(NCE), .ROE
|
3259 |
|
|
(X1N13), .RRD({MEM_READ_DATA[31], MEM_READ_DATA[30], MEM_READ_DATA[29],
|
3260 |
|
|
MEM_READ_DATA[28], MEM_READ_DATA[27], MEM_READ_DATA[26],
|
3261 |
|
|
MEM_READ_DATA[25], MEM_READ_DATA[24], MEM_READ_DATA[23],
|
3262 |
|
|
MEM_READ_DATA[22], MEM_READ_DATA[21], MEM_READ_DATA[20],
|
3263 |
|
|
MEM_READ_DATA[19], MEM_READ_DATA[18], MEM_READ_DATA[17],
|
3264 |
|
|
MEM_READ_DATA[16]}), .RWD({WRITE_DATA[31], WRITE_DATA[30],
|
3265 |
|
|
WRITE_DATA[29], WRITE_DATA[28], WRITE_DATA[27], WRITE_DATA[26],
|
3266 |
|
|
WRITE_DATA[25], WRITE_DATA[24], WRITE_DATA[23], WRITE_DATA[22],
|
3267 |
|
|
WRITE_DATA[21], WRITE_DATA[20], WRITE_DATA[19], WRITE_DATA[18],
|
3268 |
|
|
WRITE_DATA[17], WRITE_DATA[16]}), .RWE(X1N19));
|
3269 |
|
|
INV X1I257 (.I(CE), .O(NCE));
|
3270 |
|
|
INV X1I263 (.I(OE), .O(X1N13));
|
3271 |
|
|
|
3272 |
|
|
endmodule // MEM
|
3273 |
|
|
|
3274 |
|
|
module DCOUNT (CLK, EN, IN, LOAD, O, ZERO);
|
3275 |
|
|
wire [31:0] S, O, I, A, IN;
|
3276 |
|
|
wire [15:0] GB, G;
|
3277 |
|
|
wire X1N131, X1N115, X1N107, X1N71, X1N62, X1N57, X1N88;
|
3278 |
|
|
BUF X1I100 (.I(X1N115), .O(G[7]));
|
3279 |
|
|
BUF X1I101 (.I(X1N115), .O(G[6]));
|
3280 |
|
|
BUF X1I102 (.I(X1N115), .O(G[3]));
|
3281 |
|
|
BUF X1I103 (.I(X1N115), .O(G[1]));
|
3282 |
|
|
BUF X1I104 (.I(X1N115), .O(G[0]));
|
3283 |
|
|
INV X1I114 (.I(X1N115), .O(X1N71));
|
3284 |
|
|
ADD16 IGNORE_NO_LOAD8 (.A({O[15], O[14], O[13], O[12], O[11], O[10], O[9]
|
3285 |
|
|
, O[8], O[7], O[6], O[5], O[4], O[3], O[2], O[1], O[0]}), .B({G[15],
|
3286 |
|
|
G[14], G[13], G[12], G[11], G[10], G[9], G[8], G[7], G[6], G[5], G[4],
|
3287 |
|
|
G[3], G[2], G[1], G[0]}), .CI(X1N71), .CO(X1N107), .S({S[15], S[14],
|
3288 |
|
|
S[13], S[12], S[11], S[10], S[9], S[8], S[7], S[6], S[5], S[4], S[3],
|
3289 |
|
|
S[2], S[1], S[0]}));
|
3290 |
|
|
ADD16 IGNORE_NO_LOAD9 (.A({O[31], O[30], O[29], O[28], O[27], O[26], O[25]
|
3291 |
|
|
, O[24], O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}), .B({
|
3292 |
|
|
GB[15], GB[14], GB[13], GB[12], GB[11], GB[10], GB[9], GB[8], GB[7],
|
3293 |
|
|
GB[6], GB[5], GB[4], GB[3], GB[2], GB[1], GB[0]}), .CI(X1N107), .CO
|
3294 |
|
|
(X1N131), .S({S[31], S[30], S[29], S[28], S[27], S[26], S[25], S[24],
|
3295 |
|
|
S[23], S[22], S[21], S[20], S[19], S[18], S[17], S[16]}));
|
3296 |
|
|
BUF X1I120 (.I(X1N115), .O(G[2]));
|
3297 |
|
|
VCC X1I122 (.P(X1N88));
|
3298 |
|
|
VCC X1I125 (.P(X1N115));
|
3299 |
|
|
MUX2_1X32 X1I126 (.A({S[31], S[30], S[29], S[28], S[27], S[26], S[25],
|
3300 |
|
|
S[24], S[23], S[22], S[21], S[20], S[19], S[18], S[17], S[16], S[15],
|
3301 |
|
|
S[14], S[13], S[12], S[11], S[10], S[9], S[8], S[7], S[6], S[5], S[4],
|
3302 |
|
|
S[3], S[2], S[1], S[0]}), .B({IN[31], IN[30], IN[29], IN[28], IN[27],
|
3303 |
|
|
IN[26], IN[25], IN[24], IN[23], IN[22], IN[21], IN[20], IN[19], IN[18],
|
3304 |
|
|
IN[17], IN[16], IN[15], IN[14], IN[13], IN[12], IN[11], IN[10], IN[9],
|
3305 |
|
|
IN[8], IN[7], IN[6], IN[5], IN[4], IN[3], IN[2], IN[1], IN[0]}), .SB
|
3306 |
|
|
(LOAD), .S({I[31], I[30], I[29], I[28], I[27], I[26], I[25], I[24],
|
3307 |
|
|
I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16], I[15], I[14],
|
3308 |
|
|
I[13], I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3],
|
3309 |
|
|
I[2], I[1], I[0]}));
|
3310 |
|
|
OR2 X1I135 (.I0(LOAD), .I1(EN), .O(X1N62));
|
3311 |
|
|
INV X1I138 (.I(X1N131), .O(ZERO));
|
3312 |
|
|
FD16CE X1I55 (.C(CLK), .CE(X1N62), .CLR(X1N57), .D({I[15], I[14], I[13],
|
3313 |
|
|
I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3], I[2],
|
3314 |
|
|
I[1], I[0]}), .Q({O[15], O[14], O[13], O[12], O[11], O[10], O[9], O[8],
|
3315 |
|
|
O[7], O[6], O[5], O[4], O[3], O[2], O[1], O[0]}));
|
3316 |
|
|
FD16CE X1I56 (.C(CLK), .CE(X1N62), .CLR(X1N57), .D({I[31], I[30], I[29],
|
3317 |
|
|
I[28], I[27], I[26], I[25], I[24], I[23], I[22], I[21], I[20], I[19],
|
3318 |
|
|
I[18], I[17], I[16]}), .Q({O[31], O[30], O[29], O[28], O[27], O[26],
|
3319 |
|
|
O[25], O[24], O[23], O[22], O[21], O[20], O[19], O[18], O[17], O[16]}));
|
3320 |
|
|
GND X1I59 (.G(X1N57));
|
3321 |
|
|
BUF X1I72 (.I(X1N88), .O(GB[0]));
|
3322 |
|
|
BUF X1I73 (.I(X1N88), .O(GB[1]));
|
3323 |
|
|
BUF X1I74 (.I(X1N88), .O(GB[3]));
|
3324 |
|
|
BUF X1I75 (.I(X1N88), .O(GB[2]));
|
3325 |
|
|
BUF X1I76 (.I(X1N88), .O(GB[6]));
|
3326 |
|
|
BUF X1I77 (.I(X1N88), .O(GB[7]));
|
3327 |
|
|
BUF X1I78 (.I(X1N88), .O(GB[5]));
|
3328 |
|
|
BUF X1I79 (.I(X1N88), .O(GB[4]));
|
3329 |
|
|
BUF X1I80 (.I(X1N88), .O(GB[10]));
|
3330 |
|
|
BUF X1I81 (.I(X1N88), .O(GB[11]));
|
3331 |
|
|
BUF X1I82 (.I(X1N88), .O(GB[9]));
|
3332 |
|
|
BUF X1I83 (.I(X1N88), .O(GB[8]));
|
3333 |
|
|
BUF X1I84 (.I(X1N88), .O(GB[14]));
|
3334 |
|
|
BUF X1I85 (.I(X1N88), .O(GB[15]));
|
3335 |
|
|
BUF X1I86 (.I(X1N88), .O(GB[13]));
|
3336 |
|
|
BUF X1I87 (.I(X1N88), .O(GB[12]));
|
3337 |
|
|
BUF X1I90 (.I(X1N115), .O(G[12]));
|
3338 |
|
|
BUF X1I91 (.I(X1N115), .O(G[13]));
|
3339 |
|
|
BUF X1I92 (.I(X1N115), .O(G[15]));
|
3340 |
|
|
BUF X1I93 (.I(X1N115), .O(G[14]));
|
3341 |
|
|
BUF X1I94 (.I(X1N115), .O(G[8]));
|
3342 |
|
|
BUF X1I95 (.I(X1N115), .O(G[9]));
|
3343 |
|
|
BUF X1I96 (.I(X1N115), .O(G[11]));
|
3344 |
|
|
BUF X1I97 (.I(X1N115), .O(G[10]));
|
3345 |
|
|
BUF X1I98 (.I(X1N115), .O(G[4]));
|
3346 |
|
|
BUF X1I99 (.I(X1N115), .O(G[5]));
|
3347 |
|
|
|
3348 |
|
|
// WARNING - Component IGNORE_NO_LOAD9 has unconnected pins: 0 input, 1 output, 0 inout.
|
3349 |
|
|
// WARNING - Component IGNORE_NO_LOAD8 has unconnected pins: 0 input, 1 output, 0 inout.
|
3350 |
|
|
endmodule // DCOUNT
|
3351 |
|
|
|
3352 |
|
|
module CMP_EQ_5 (A, B, O);
|
3353 |
|
|
wire X1N51, X1N53, X1N73, X1N55, X1N57, X1N49, X1N68;
|
3354 |
|
|
XOR2 X1I33 (.I0(A[4]), .I1(B[4]), .O(X1N49));
|
3355 |
|
|
XOR2 X1I34 (.I0(A[3]), .I1(B[3]), .O(X1N51));
|
3356 |
|
|
XOR2 X1I35 (.I0(A[2]), .I1(B[2]), .O(X1N53));
|
3357 |
|
|
XOR2 X1I36 (.I0(A[1]), .I1(B[1]), .O(X1N55));
|
3358 |
|
|
XOR2 X1I37 (.I0(A[0]), .I1(B[0]), .O(X1N57));
|
3359 |
|
|
NOR5 X1I60 (.I0(B[0]), .I1(B[1]), .I2(B[2]), .I3(B[3]), .I4(B[4]), .O
|
3360 |
|
|
(X1N68));
|
3361 |
|
|
OR4 X1I71 (.I0(X1N57), .I1(X1N55), .I2(X1N53), .I3(X1N51), .O(X1N73));
|
3362 |
|
|
NOR3 X1I72 (.I0(X1N73), .I1(X1N49), .I2(X1N68), .O(O));
|
3363 |
|
|
|
3364 |
|
|
endmodule // CMP_EQ_5
|
3365 |
|
|
|
3366 |
|
|
module ADD32 (A, B, S);
|
3367 |
|
|
output [31:0] S;
|
3368 |
|
|
input [31:0] B;
|
3369 |
|
|
input [31:0] A;
|
3370 |
|
|
wire X1N34, X1N28, X1N38;
|
3371 |
|
|
ADD16 IGNORE_NO_LOAD8 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25]
|
3372 |
|
|
, A[24], A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16]}), .B({
|
3373 |
|
|
B[31], B[30], B[29], B[28], B[27], B[26], B[25], B[24], B[23], B[22],
|
3374 |
|
|
B[21], B[20], B[19], B[18], B[17], B[16]}), .CI(X1N28), .S({S[31], S[30]
|
3375 |
|
|
, S[29], S[28], S[27], S[26], S[25], S[24], S[23], S[22], S[21], S[20],
|
3376 |
|
|
S[19], S[18], S[17], S[16]}));
|
3377 |
|
|
ADD16 IGNORE_NO_LOAD7 (.A({A[15], A[14], A[13], A[12], A[11], A[10], A[9]
|
3378 |
|
|
, A[8], A[7], A[6], A[5], A[4], A[3], A[2], A[1], A[0]}), .B({B[15],
|
3379 |
|
|
B[14], B[13], B[12], B[11], B[10], B[9], B[8], B[7], B[6], B[5], B[4],
|
3380 |
|
|
B[3], B[2], B[1], B[0]}), .CI(X1N38), .CO(X1N34), .S({S[15], S[14],
|
3381 |
|
|
S[13], S[12], S[11], S[10], S[9], S[8], S[7], S[6], S[5], S[4], S[3],
|
3382 |
|
|
S[2], S[1], S[0]}));
|
3383 |
|
|
BUF X1I33 (.I(X1N34), .O(X1N28));
|
3384 |
|
|
GND X1I42 (.G(X1N38));
|
3385 |
|
|
|
3386 |
|
|
// WARNING - Component IGNORE_NO_LOAD7 has unconnected pins: 0 input, 1 output, 0 inout.
|
3387 |
|
|
// WARNING - Component IGNORE_NO_LOAD8 has unconnected pins: 0 input, 2 output, 0 inout.
|
3388 |
|
|
endmodule // ADD32
|
3389 |
|
|
|
3390 |
|
|
module NULL25TO0 (I, NULL, O);
|
3391 |
|
|
AND2B1 X1I13 (.I0(NULL), .I1(I[17]), .O(O[17]));
|
3392 |
|
|
BUF X1I134 (.I(I[29]), .O(O[29]));
|
3393 |
|
|
BUF X1I135 (.I(I[28]), .O(O[28]));
|
3394 |
|
|
AND2B1 X1I14 (.I0(NULL), .I1(I[18]), .O(O[18]));
|
3395 |
|
|
AND2B1 X1I141 (.I0(NULL), .I1(I[26]), .O(O[26]));
|
3396 |
|
|
AND2B1 X1I145 (.I0(NULL), .I1(I[27]), .O(O[27]));
|
3397 |
|
|
AND2B1 X1I17 (.I0(NULL), .I1(I[19]), .O(O[19]));
|
3398 |
|
|
AND2B1 X1I18 (.I0(NULL), .I1(I[21]), .O(O[21]));
|
3399 |
|
|
AND2B1 X1I22 (.I0(NULL), .I1(I[20]), .O(O[20]));
|
3400 |
|
|
AND2B1 X1I23 (.I0(NULL), .I1(I[22]), .O(O[22]));
|
3401 |
|
|
AND2B1 X1I26 (.I0(NULL), .I1(I[23]), .O(O[23]));
|
3402 |
|
|
AND2B1 X1I27 (.I0(NULL), .I1(I[25]), .O(O[25]));
|
3403 |
|
|
AND2B1 X1I3 (.I0(NULL), .I1(I[14]), .O(O[14]));
|
3404 |
|
|
AND2B1 X1I31 (.I0(NULL), .I1(I[24]), .O(O[24]));
|
3405 |
|
|
AND2B1 X1I46 (.I0(NULL), .I1(I[11]), .O(O[11]));
|
3406 |
|
|
AND2B1 X1I48 (.I0(NULL), .I1(I[12]), .O(O[12]));
|
3407 |
|
|
AND2B1 X1I50 (.I0(NULL), .I1(I[13]), .O(O[13]));
|
3408 |
|
|
AND2B1 X1I6 (.I0(NULL), .I1(I[15]), .O(O[15]));
|
3409 |
|
|
AND2B1 X1I63 (.I0(NULL), .I1(I[5]), .O(O[5]));
|
3410 |
|
|
AND2B1 X1I64 (.I0(NULL), .I1(I[6]), .O(O[6]));
|
3411 |
|
|
AND2B1 X1I65 (.I0(NULL), .I1(I[8]), .O(O[8]));
|
3412 |
|
|
AND2B1 X1I66 (.I0(NULL), .I1(I[7]), .O(O[7]));
|
3413 |
|
|
AND2B1 X1I67 (.I0(NULL), .I1(I[9]), .O(O[9]));
|
3414 |
|
|
AND2B1 X1I77 (.I0(NULL), .I1(I[4]), .O(O[4]));
|
3415 |
|
|
AND2B1 X1I78 (.I0(NULL), .I1(I[3]), .O(O[3]));
|
3416 |
|
|
AND2B1 X1I79 (.I0(NULL), .I1(I[2]), .O(O[2]));
|
3417 |
|
|
AND2B1 X1I81 (.I0(NULL), .I1(I[10]), .O(O[10]));
|
3418 |
|
|
AND2B1 X1I83 (.I0(NULL), .I1(I[1]), .O(O[1]));
|
3419 |
|
|
AND2B1 X1I87 (.I0(NULL), .I1(I[0]), .O(O[0]));
|
3420 |
|
|
AND2B1 X1I9 (.I0(NULL), .I1(I[16]), .O(O[16]));
|
3421 |
|
|
BUF X1I90 (.I(I[31]), .O(O[31]));
|
3422 |
|
|
BUF X1I91 (.I(I[30]), .O(O[30]));
|
3423 |
|
|
|
3424 |
|
|
endmodule // NULL25TO0
|
3425 |
|
|
|
3426 |
|
|
module SHIFTER (ARITH, I, O, RIGHT, SHIFT);
|
3427 |
|
|
wire [31:0] A, B, C, D, E, O, G, MASK, MASKXNORRIGHT;
|
3428 |
|
|
wire [4:0] SHIFT;
|
3429 |
|
|
wire X1N100, X1N130, X1N122, X1N113, X1N132, X1N114, X1N160, X1N151,
|
3430 |
|
|
X1N115, X1N106, X1N134, X1N4, X1N153, X1N163, X1N154, X1N145, X1N127,
|
3431 |
|
|
X1N118, X1N146, X1N137, X1N903, X1N147, X1N922, X1N148, X1N932, X1N923,
|
3432 |
|
|
X1N167, X1N654, X1N907, X1N926, X1N927, X1N964, X1N919, X1N965, X1N966,
|
3433 |
|
|
X1N894, X1N949, X1N70, X1N91, X1N73, X1N93, X1N76, X1N86, X1N68, X1N97,
|
3434 |
|
|
X1N88, X1N89;
|
3435 |
|
|
MUX2_1X32 X1I1 (.A({I[31], I[30], I[29], I[28], I[27], I[26], I[25], I[24]
|
3436 |
|
|
, I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16], I[15], I[14],
|
3437 |
|
|
I[13], I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3],
|
3438 |
|
|
I[2], I[1], I[0]}), .B({I[30], I[29], I[28], I[27], I[26], I[25], I[24]
|
3439 |
|
|
, I[23], I[22], I[21], I[20], I[19], I[18], I[17], I[16], I[15], I[14],
|
3440 |
|
|
I[13], I[12], I[11], I[10], I[9], I[8], I[7], I[6], I[5], I[4], I[3],
|
3441 |
|
|
I[2], I[1], I[0], I[31]}), .SB(X1N949), .S({A[31], A[30], A[29], A[28],
|
3442 |
|
|
A[27], A[26], A[25], A[24], A[23], A[22], A[21], A[20], A[19], A[18],
|
3443 |
|
|
A[17], A[16], A[15], A[14], A[13], A[12], A[11], A[10], A[9], A[8], A[7]
|
3444 |
|
|
, A[6], A[5], A[4], A[3], A[2], A[1], A[0]}));
|
3445 |
|
|
OR2 X1I104 (.I0(X1N106), .I1(MASK[10]), .O(MASK[11]));
|
3446 |
|
|
OR2 X1I109 (.I0(X1N113), .I1(MASK[11]), .O(MASK[12]));
|
3447 |
|
|
MUX2_1X32 X1I11 (.A({B[31], B[30], B[29], B[28], B[27], B[26], B[25],
|
3448 |
|
|
B[24], B[23], B[22], B[21], B[20], B[19], B[18], B[17], B[16], B[15],
|
3449 |
|
|
B[14], B[13], B[12], B[11], B[10], B[9], B[8], B[7], B[6], B[5], B[4],
|
3450 |
|
|
B[3], B[2], B[1], B[0]}), .B({B[27], B[26], B[25], B[24], B[23], B[22],
|
3451 |
|
|
B[21], B[20], B[19], B[18], B[17], B[16], B[15], B[14], B[13], B[12],
|
3452 |
|
|
B[11], B[10], B[9], B[8], B[7], B[6], B[5], B[4], B[3], B[2], B[1], B[0]
|
3453 |
|
|
, B[31], B[30], B[29], B[28]}), .SB(X1N965), .S({C[31], C[30], C[29],
|
3454 |
|
|
C[28], C[27], C[26], C[25], C[24], C[23], C[22], C[21], C[20], C[19],
|
3455 |
|
|
C[18], C[17], C[16], C[15], C[14], C[13], C[12], C[11], C[10], C[9],
|
3456 |
|
|
C[8], C[7], C[6], C[5], C[4], C[3], C[2], C[1], C[0]}));
|
3457 |
|
|
OR2 X1I111 (.I0(X1N115), .I1(MASK[12]), .O(MASK[13]));
|
3458 |
|
|
OR2 X1I116 (.I0(X1N114), .I1(MASK[13]), .O(MASK[14]));
|
3459 |
|
|
OR2 X1I117 (.I0(X1N118), .I1(MASK[14]), .O(MASK[15]));
|
3460 |
|
|
OR2 X1I120 (.I0(X1N146), .I1(MASK[22]), .O(MASK[23]));
|
3461 |
|
|
OR2 X1I121 (.I0(X1N154), .I1(MASK[29]), .O(MASK[30]));
|
3462 |
|
|
OR2 X1I123 (.I0(X1N153), .I1(MASK[28]), .O(MASK[29]));
|
3463 |
|
|
OR2 X1I124 (.I0(X1N130), .I1(MASK[19]), .O(MASK[20]));
|
3464 |
|
|
OR2 X1I125 (.I0(X1N148), .I1(MASK[24]), .O(MASK[25]));
|
3465 |
|
|
OR2 X1I126 (.I0(X1N127), .I1(MASK[23]), .O(MASK[24]));
|
3466 |
|
|
OR2 X1I128 (.I0(X1N134), .I1(MASK[17]), .O(MASK[18]));
|
3467 |
|
|
OR2 X1I131 (.I0(X1N132), .I1(MASK[16]), .O(MASK[17]));
|
3468 |
|
|
OR2 X1I136 (.I0(X1N137), .I1(MASK[18]), .O(MASK[19]));
|
3469 |
|
|
OR2 X1I141 (.I0(X1N145), .I1(MASK[20]), .O(MASK[21]));
|
3470 |
|
|
OR2 X1I143 (.I0(X1N147), .I1(MASK[21]), .O(MASK[22]));
|
3471 |
|
|
OR2 X1I150 (.I0(X1N151), .I1(MASK[25]), .O(MASK[26]));
|
3472 |
|
|
OR2 X1I157 (.I0(X1N122), .I1(MASK[27]), .O(MASK[28]));
|
3473 |
|
|
MUX2_1X32 X1I16 (.A({C[31], C[30], C[29], C[28], C[27], C[26], C[25],
|
3474 |
|
|
C[24], C[23], C[22], C[21], C[20], C[19], C[18], C[17], C[16], C[15],
|
3475 |
|
|
C[14], C[13], C[12], C[11], C[10], C[9], C[8], C[7], C[6], C[5], C[4],
|
3476 |
|
|
C[3], C[2], C[1], C[0]}), .B({C[23], C[22], C[21], C[20], C[19], C[18],
|
3477 |
|
|
C[17], C[16], C[15], C[14], C[13], C[12], C[11], C[10], C[9], C[8], C[7]
|
3478 |
|
|
, C[6], C[5], C[4], C[3], C[2], C[1], C[0], C[31], C[30], C[29], C[28],
|
3479 |
|
|
C[27], C[26], C[25], C[24]}), .SB(X1N966), .S({D[31], D[30], D[29],
|
3480 |
|
|
D[28], D[27], D[26], D[25], D[24], D[23], D[22], D[21], D[20], D[19],
|
3481 |
|
|
D[18], D[17], D[16], D[15], D[14], D[13], D[12], D[11], D[10], D[9],
|
3482 |
|
|
D[8], D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0]}));
|
3483 |
|
|
OR2 X1I161 (.I0(X1N160), .I1(MASK[26]), .O(MASK[27]));
|
3484 |
|
|
OR2 X1I162 (.I0(X1N163), .I1(MASK[30]), .O(MASK[31]));
|
3485 |
|
|
OR2 X1I165 (.I0(X1N167), .I1(MASK[15]), .O(MASK[16]));
|
3486 |
|
|
MUX2_1X32 X1I19 (.A({D[31], D[30], D[29], D[28], D[27], D[26], D[25],
|
3487 |
|
|
D[24], D[23], D[22], D[21], D[20], D[19], D[18], D[17], D[16], D[15],
|
3488 |
|
|
D[14], D[13], D[12], D[11], D[10], D[9], D[8], D[7], D[6], D[5], D[4],
|
3489 |
|
|
D[3], D[2], D[1], D[0]}), .B({D[15], D[14], D[13], D[12], D[11], D[10],
|
3490 |
|
|
D[9], D[8], D[7], D[6], D[5], D[4], D[3], D[2], D[1], D[0], D[31], D[30]
|
3491 |
|
|
, D[29], D[28], D[27], D[26], D[25], D[24], D[23], D[22], D[21], D[20],
|
3492 |
|
|
D[19], D[18], D[17], D[16]}), .SB(X1N4), .S({E[31], E[30], E[29], E[28]
|
3493 |
|
|
, E[27], E[26], E[25], E[24], E[23], E[22], E[21], E[20], E[19], E[18],
|
3494 |
|
|
E[17], E[16], E[15], E[14], E[13], E[12], E[11], E[10], E[9], E[8], E[7]
|
3495 |
|
|
, E[6], E[5], E[4], E[3], E[2], E[1], E[0]}));
|
3496 |
|
|
BUF X1I206 (.I(RIGHT), .O(G[12]));
|
3497 |
|
|
BUF X1I207 (.I(RIGHT), .O(G[13]));
|
3498 |
|
|
BUF X1I208 (.I(RIGHT), .O(G[15]));
|
3499 |
|
|
BUF X1I209 (.I(RIGHT), .O(G[14]));
|
3500 |
|
|
BUF X1I210 (.I(RIGHT), .O(G[8]));
|
3501 |
|
|
BUF X1I211 (.I(RIGHT), .O(G[9]));
|
3502 |
|
|
BUF X1I212 (.I(RIGHT), .O(G[11]));
|
3503 |
|
|
BUF X1I213 (.I(RIGHT), .O(G[10]));
|
3504 |
|
|
BUF X1I214 (.I(RIGHT), .O(G[4]));
|
3505 |
|
|
BUF X1I215 (.I(RIGHT), .O(G[5]));
|
3506 |
|
|
BUF X1I216 (.I(RIGHT), .O(G[7]));
|
3507 |
|
|
BUF X1I217 (.I(RIGHT), .O(G[6]));
|
3508 |
|
|
BUF X1I218 (.I(RIGHT), .O(G[2]));
|
3509 |
|
|
BUF X1I219 (.I(RIGHT), .O(G[3]));
|
3510 |
|
|
BUF X1I220 (.I(RIGHT), .O(G[1]));
|
3511 |
|
|
BUF X1I221 (.I(RIGHT), .O(G[0]));
|
3512 |
|
|
XOR32_32_32 X1I223 (.A({MASK[31], MASK[30], MASK[29], MASK[28], MASK[27],
|
3513 |
|
|
MASK[26], MASK[25], MASK[24], MASK[23], MASK[22], MASK[21], MASK[20],
|
3514 |
|
|
MASK[19], MASK[18], MASK[17], MASK[16], MASK[15], MASK[14], MASK[13],
|
3515 |
|
|
MASK[12], MASK[11], MASK[10], MASK[9], MASK[8], MASK[7], MASK[6],
|
3516 |
|
|
MASK[5], MASK[4], MASK[3], MASK[2], MASK[1], MASK[0]}), .B({G[31], G[30]
|
3517 |
|
|
, G[29], G[28], G[27], G[26], G[25], G[24], G[23], G[22], G[21], G[20],
|
3518 |
|
|
G[19], G[18], G[17], G[16], G[15], G[14], G[13], G[12], G[11], G[10],
|
3519 |
|
|
G[9], G[8], G[7], G[6], G[5], G[4], G[3], G[2], G[1], G[0]}), .O({
|
3520 |
|
|
MASKXNORRIGHT[31], MASKXNORRIGHT[30], MASKXNORRIGHT[29],
|
3521 |
|
|
MASKXNORRIGHT[28], MASKXNORRIGHT[27], MASKXNORRIGHT[26],
|
3522 |
|
|
MASKXNORRIGHT[25], MASKXNORRIGHT[24], MASKXNORRIGHT[23],
|
3523 |
|
|
MASKXNORRIGHT[22], MASKXNORRIGHT[21], MASKXNORRIGHT[20],
|
3524 |
|
|
MASKXNORRIGHT[19], MASKXNORRIGHT[18], MASKXNORRIGHT[17],
|
3525 |
|
|
MASKXNORRIGHT[16], MASKXNORRIGHT[15], MASKXNORRIGHT[14],
|
3526 |
|
|
MASKXNORRIGHT[13], MASKXNORRIGHT[12], MASKXNORRIGHT[11],
|
3527 |
|
|
MASKXNORRIGHT[10], MASKXNORRIGHT[9], MASKXNORRIGHT[8], MASKXNORRIGHT[7]
|
3528 |
|
|
, MASKXNORRIGHT[6], MASKXNORRIGHT[5], MASKXNORRIGHT[4], MASKXNORRIGHT[3]
|
3529 |
|
|
, MASKXNORRIGHT[2], MASKXNORRIGHT[1], MASKXNORRIGHT[0]}));
|
3530 |
|
|
BUF X1I226 (.I(RIGHT), .O(G[31]));
|
3531 |
|
|
BUF X1I227 (.I(RIGHT), .O(G[16]));
|
3532 |
|
|
BUF X1I228 (.I(RIGHT), .O(G[18]));
|
3533 |
|
|
BUF X1I229 (.I(RIGHT), .O(G[17]));
|
3534 |
|
|
BUF X1I230 (.I(RIGHT), .O(G[21]));
|
3535 |
|
|
BUF X1I231 (.I(RIGHT), .O(G[22]));
|
3536 |
|
|
BUF X1I232 (.I(RIGHT), .O(G[20]));
|
3537 |
|
|
BUF X1I233 (.I(RIGHT), .O(G[19]));
|
3538 |
|
|
BUF X1I234 (.I(RIGHT), .O(G[25]));
|
3539 |
|
|
BUF X1I235 (.I(RIGHT), .O(G[26]));
|
3540 |
|
|
BUF X1I236 (.I(RIGHT), .O(G[24]));
|
3541 |
|
|
BUF X1I237 (.I(RIGHT), .O(G[23]));
|
3542 |
|
|
BUF X1I238 (.I(RIGHT), .O(G[29]));
|
3543 |
|
|
BUF X1I239 (.I(RIGHT), .O(G[30]));
|
3544 |
|
|
BUF X1I240 (.I(RIGHT), .O(G[28]));
|
3545 |
|
|
BUF X1I241 (.I(RIGHT), .O(G[27]));
|
3546 |
|
|
M2_1 X1I260 (.D0(E[16]), .D1(X1N654), .O(O[16]), .S0(MASKXNORRIGHT[16]));
|
3547 |
|
|
M2_1 X1I261 (.D0(E[17]), .D1(X1N654), .O(O[17]), .S0(MASKXNORRIGHT[17]));
|
3548 |
|
|
M2_1 X1I262 (.D0(E[18]), .D1(X1N654), .O(O[18]), .S0(MASKXNORRIGHT[18]));
|
3549 |
|
|
M2_1 X1I263 (.D0(E[19]), .D1(X1N654), .O(O[19]), .S0(MASKXNORRIGHT[19]));
|
3550 |
|
|
M2_1 X1I264 (.D0(E[20]), .D1(X1N654), .O(O[20]), .S0(MASKXNORRIGHT[20]));
|
3551 |
|
|
M2_1 X1I265 (.D0(E[21]), .D1(X1N654), .O(O[21]), .S0(MASKXNORRIGHT[21]));
|
3552 |
|
|
M2_1 X1I266 (.D0(E[23]), .D1(X1N654), .O(O[23]), .S0(MASKXNORRIGHT[23]));
|
3553 |
|
|
M2_1 X1I267 (.D0(E[22]), .D1(X1N654), .O(O[22]), .S0(MASKXNORRIGHT[22]));
|
3554 |
|
|
M2_1 X1I276 (.D0(E[24]), .D1(X1N654), .O(O[24]), .S0(MASKXNORRIGHT[24]));
|
3555 |
|
|
M2_1 X1I277 (.D0(E[25]), .D1(X1N654), .O(O[25]), .S0(MASKXNORRIGHT[25]));
|
3556 |
|
|
M2_1 X1I278 (.D0(E[27]), .D1(X1N654), .O(O[27]), .S0(MASKXNORRIGHT[27]));
|
3557 |
|
|
M2_1 X1I279 (.D0(E[26]), .D1(X1N654), .O(O[26]), .S0(MASKXNORRIGHT[26]));
|
3558 |
|
|
M2_1 X1I280 (.D0(E[30]), .D1(X1N654), .O(O[30]), .S0(MASKXNORRIGHT[30]));
|
3559 |
|
|
M2_1 X1I281 (.D0(E[31]), .D1(X1N654), .O(O[31]), .S0(MASKXNORRIGHT[31]));
|
3560 |
|
|
M2_1 X1I282 (.D0(E[29]), .D1(X1N654), .O(O[29]), .S0(MASKXNORRIGHT[29]));
|
3561 |
|
|
M2_1 X1I283 (.D0(E[28]), .D1(X1N654), .O(O[28]), .S0(MASKXNORRIGHT[28]));
|
3562 |
|
|
M2_1 X1I506 (.D0(E[3]), .D1(X1N654), .O(O[3]), .S0(MASKXNORRIGHT[3]));
|
3563 |
|
|
M2_1 X1I507 (.D0(E[1]), .D1(X1N654), .O(O[1]), .S0(MASKXNORRIGHT[1]));
|
3564 |
|
|
M2_1 X1I508 (.D0(E[0]), .D1(X1N654), .O(O[0]), .S0(MASKXNORRIGHT[0]));
|
3565 |
|
|
M2_1 X1I509 (.D0(E[2]), .D1(X1N654), .O(O[2]), .S0(MASKXNORRIGHT[2]));
|
3566 |
|
|
M2_1 X1I510 (.D0(E[6]), .D1(X1N654), .O(O[6]), .S0(MASKXNORRIGHT[6]));
|
3567 |
|
|
M2_1 X1I511 (.D0(E[7]), .D1(X1N654), .O(O[7]), .S0(MASKXNORRIGHT[7]));
|
3568 |
|
|
M2_1 X1I512 (.D0(E[5]), .D1(X1N654), .O(O[5]), .S0(MASKXNORRIGHT[5]));
|
3569 |
|
|
M2_1 X1I513 (.D0(E[4]), .D1(X1N654), .O(O[4]), .S0(MASKXNORRIGHT[4]));
|
3570 |
|
|
M2_1 X1I514 (.D0(E[12]), .D1(X1N654), .O(O[12]), .S0(MASKXNORRIGHT[15]));
|
3571 |
|
|
M2_1 X1I515 (.D0(E[13]), .D1(X1N654), .O(O[13]), .S0(MASKXNORRIGHT[14]));
|
3572 |
|
|
M2_1 X1I516 (.D0(E[15]), .D1(X1N654), .O(O[15]), .S0(MASKXNORRIGHT[12]));
|
3573 |
|
|
M2_1 X1I517 (.D0(E[14]), .D1(X1N654), .O(O[14]), .S0(MASKXNORRIGHT[13]));
|
3574 |
|
|
M2_1 X1I518 (.D0(E[10]), .D1(X1N654), .O(O[10]), .S0(MASKXNORRIGHT[10]));
|
3575 |
|
|
M2_1 X1I519 (.D0(E[11]), .D1(X1N654), .O(O[11]), .S0(MASKXNORRIGHT[11]));
|
3576 |
|
|
M2_1 X1I520 (.D0(E[9]), .D1(X1N654), .O(O[9]), .S0(MASKXNORRIGHT[9]));
|
3577 |
|
|
M2_1 X1I521 (.D0(E[8]), .D1(X1N654), .O(O[8]), .S0(MASKXNORRIGHT[8]));
|
3578 |
|
|
D4_16E X1I53 (.A0(X1N949), .A1(X1N964), .A2(X1N965), .A3(X1N966), .D0
|
3579 |
|
|
(MASK[0]), .D1(X1N70), .D10(X1N100), .D11(X1N106), .D12(X1N113), .D13
|
3580 |
|
|
(X1N115), .D14(X1N114), .D15(X1N118), .D2(X1N73), .D3(X1N76), .D4(X1N86)
|
3581 |
|
|
, .D5(X1N88), .D6(X1N91), .D7(X1N89), .D8(X1N93), .D9(X1N97), .E(X1N68)
|
3582 |
|
|
);
|
3583 |
|
|
D4_16E X1I60 (.A0(X1N949), .A1(X1N964), .A2(X1N965), .A3(X1N966), .D0
|
3584 |
|
|
(X1N167), .D1(X1N132), .D10(X1N151), .D11(X1N160), .D12(X1N122), .D13
|
3585 |
|
|
(X1N153), .D14(X1N154), .D15(X1N163), .D2(X1N134), .D3(X1N137), .D4
|
3586 |
|
|
(X1N130), .D5(X1N145), .D6(X1N147), .D7(X1N146), .D8(X1N127), .D9
|
3587 |
|
|
(X1N148), .E(X1N4));
|
3588 |
|
|
INV X1I67 (.I(X1N4), .O(X1N68));
|
3589 |
|
|
OR2 X1I69 (.I0(X1N70), .I1(MASK[0]), .O(MASK[1]));
|
3590 |
|
|
OR2 X1I72 (.I0(X1N73), .I1(MASK[1]), .O(MASK[2]));
|
3591 |
|
|
OR2 X1I75 (.I0(X1N76), .I1(MASK[2]), .O(MASK[3]));
|
3592 |
|
|
OR2 X1I78 (.I0(X1N86), .I1(MASK[3]), .O(MASK[4]));
|
3593 |
|
|
MUX2_1X32 X1I8 (.A({A[31], A[30], A[29], A[28], A[27], A[26], A[25], A[24]
|
3594 |
|
|
, A[23], A[22], A[21], A[20], A[19], A[18], A[17], A[16], A[15], A[14],
|
3595 |
|
|
A[13], A[12], A[11], A[10], A[9], A[8], A[7], A[6], A[5], A[4], A[3],
|
3596 |
|
|
A[2], A[1], A[0]}), .B({A[29], A[28], A[27], A[26], A[25], A[24], A[23]
|
3597 |
|
|
, A[22], A[21], A[20], A[19], A[18], A[17], A[16], A[15], A[14], A[13],
|
3598 |
|
|
A[12], A[11], A[10], A[9], A[8], A[7], A[6], A[5], A[4], A[3], A[2],
|
3599 |
|
|
A[1], A[0], A[31], A[30]}), .SB(X1N964), .S({B[31], B[30], B[29], B[28]
|
3600 |
|
|
, B[27], B[26], B[25], B[24], B[23], B[22], B[21], B[20], B[19], B[18],
|
3601 |
|
|
B[17], B[16], B[15], B[14], B[13], B[12], B[11], B[10], B[9], B[8], B[7]
|
3602 |
|
|
, B[6], B[5], B[4], B[3], B[2], B[1], B[0]}));
|
3603 |
|
|
OR2 X1I80 (.I0(X1N88), .I1(MASK[4]), .O(MASK[5]));
|
3604 |
|
|
OR2 X1I82 (.I0(X1N91), .I1(MASK[5]), .O(MASK[6]));
|
3605 |
|
|
AND2 X1I822 (.I0(ARITH), .I1(I[31]), .O(X1N654));
|
3606 |
|
|
OR2 X1I84 (.I0(X1N89), .I1(MASK[6]), .O(MASK[7]));
|
3607 |
|
|
XOR2 X1I881 (.I0(RIGHT), .I1(SHIFT[0]), .O(X1N894));
|
3608 |
|
|
XOR2 X1I884 (.I0(RIGHT), .I1(SHIFT[1]), .O(X1N907));
|
3609 |
|
|
XOR2 X1I885 (.I0(RIGHT), .I1(SHIFT[3]), .O(X1N926));
|
3610 |
|
|
XOR2 X1I888 (.I0(RIGHT), .I1(SHIFT[2]), .O(X1N922));
|
3611 |
|
|
XOR2 X1I890 (.I0(RIGHT), .I1(SHIFT[4]), .O(X1N932));
|
3612 |
|
|
XOR2 X1I891 (.I0(RIGHT), .I1(X1N894), .O(X1N949));
|
3613 |
|
|
AND2 X1I897 (.I0(RIGHT), .I1(X1N894), .O(X1N903));
|
3614 |
|
|
XOR2 X1I901 (.I0(X1N903), .I1(X1N907), .O(X1N964));
|
3615 |
|
|
AND2 X1I905 (.I0(X1N903), .I1(X1N907), .O(X1N919));
|
3616 |
|
|
OR2 X1I92 (.I0(X1N93), .I1(MASK[7]), .O(MASK[8]));
|
3617 |
|
|
XOR2 X1I920 (.I0(X1N919), .I1(X1N922), .O(X1N965));
|
3618 |
|
|
AND2 X1I921 (.I0(X1N919), .I1(X1N922), .O(X1N923));
|
3619 |
|
|
XOR2 X1I924 (.I0(X1N923), .I1(X1N926), .O(X1N966));
|
3620 |
|
|
AND2 X1I925 (.I0(X1N923), .I1(X1N926), .O(X1N927));
|
3621 |
|
|
XOR2 X1I928 (.I0(X1N927), .I1(X1N932), .O(X1N4));
|
3622 |
|
|
OR2 X1I96 (.I0(X1N97), .I1(MASK[8]), .O(MASK[9]));
|
3623 |
|
|
OR2 X1I99 (.I0(X1N100), .I1(MASK[9]), .O(MASK[10]));
|
3624 |
|
|
|
3625 |
|
|
endmodule // SHIFTER
|
3626 |
|
|
|
3627 |
|
|
module X1;
|
3628 |
|
|
parameter
|
3629 |
|
|
viewdraw_design_name = "1",
|
3630 |
|
|
verilnet_use_refdes = 0,
|
3631 |
|
|
verilnet_use_escaped_ids = 0,
|
3632 |
|
|
verilnet_retain_busses = 1,
|
3633 |
|
|
verilnet_illegal_name_prefix = "x",
|
3634 |
|
|
verilnet_case_flag_comp = -1,
|
3635 |
|
|
verilnet_case_flag_pin = -1,
|
3636 |
|
|
verilnet_case_flag_io_net = -1,
|
3637 |
|
|
verilnet_case_flag_wire = -1,
|
3638 |
|
|
verilnet_case_flag_param = -1,
|
3639 |
|
|
verilnet_case_flag_symbol = -1,
|
3640 |
|
|
verilnet_case_flag_module = -1,
|
3641 |
|
|
verilnet_case_flag_any = 1,
|
3642 |
|
|
verilnet_replace_string_0 = "~n",
|
3643 |
|
|
verilnet_replace_string_1 = "$x";
|
3644 |
|
|
wire [31:0] GND, MEMORY_BEFRE_WRITE, RAM_READ, ADDRESS, MEM_PC,
|
3645 |
|
|
MMU_ENTRY_LO, EPC, CP0_ENTRY_HI_NEXT, LAST_PC_NULLED, PC_BR_IMM, ROM_DAT
|
3646 |
|
|
, CACHE_INST_DAT, MMU_ENTRY_HI, CP0_ENTRY_HI, CP0_ENTRY_LO_NEXT,
|
3647 |
|
|
RESETVECTOR, CP0_ENTRY_LO, NOTSYSCALLPC, MEM_RES, REGA_XNOR_REGB, REG_PC
|
3648 |
|
|
, IMM, ALU_PC, NEXT_STORED_PC, PC_PLUS_FOUR, SHIFT_RES, CP0_HI_REGS,
|
3649 |
|
|
RAM2_READ, REG_A_EXE, EXE_RES, REG_A, REG_B_MEM, REG_B_MEM_SHIFTED,
|
3650 |
|
|
REG_B_MEM_SHIFTED_MASKED, REG_B, B_EXE_INPUT, REG_B_EXE_FF, MEM_FF,
|
3651 |
|
|
NEXT_PC, BRANCH, LOAD_ROTATED_MASKED, MEM_ACCESS_ADDRESS,
|
3652 |
|
|
CACHE_INSTRUCTION_PRE_DAT, PC_TO_PIPELINE, REG_B_EXE, REG_A_EXE_FF,
|
3653 |
|
|
CACHE_OUT, MEM_DAT, CACHE_DAT, EXE_FF, CPO_BADVADDR, COUNTER, PC,
|
3654 |
|
|
LOAD_ROTATED, ALU_RES, INSTRUCTION;
|
3655 |
|
|
wire [19:0] DATA_PFN, INST_PFN, MMU_PFN, MMU_VPN;
|
3656 |
|
|
wire [15:0] EXE_IMM, DISPLAY;
|
3657 |
|
|
wire [15:2] CPO_CAUSE;
|
3658 |
|
|
wire [31:21] CPO_CONTEXT;
|
3659 |
|
|
wire [15:8] STATUS ;
|
3660 |
|
|
wire [7:0] SERIAL_DATA;
|
3661 |
|
|
wire [6:0] DISP_RIGHT, DISP_LEFT;
|
3662 |
|
|
wire [5:0] MMU_INDEX_OUT, CP0_INDEX_NEXT, MMU_INDEX ;
|
3663 |
|
|
wire [13:8] RANDOM, INDEX ;
|
3664 |
|
|
wire [5:0] INT_DEC, INT_EXE, INT_EXE_OUT, INT_MEM_IN;
|
3665 |
|
|
wire [4:0] CP0_INSTRUCTION, CPO_ALU_DEST, CPO_REG_SELECT, CPO_REG_DEST,
|
3666 |
|
|
FETCH_SHIFT, SHIFT, REG_DEST_RT_RD, SIXTEEN, CPO_INSTRUCTION_EX,
|
3667 |
|
|
RANDON_STATS, EXC_CODE, REG_DEST_MEM, REG_DEST_EXE, REG_DEST_WB,
|
3668 |
|
|
REG_DEST_FETCH, IMM_SHIFT;
|
3669 |
|
|
wire [3:0] OP;
|
3670 |
|
|
wire MMU_NOT_VALID_DATA, MEM_FULL_WRITE, SHIFT_SET, REGA_EQ_REGB,
|
3671 |
|
|
MEM_WRITE, INT_UNALIGNED_ACCESS, CPO_READ_EPC, SPECIAL, SET_R31,
|
3672 |
|
|
CPO_WRITE, INTERRUPT, CPO_OUTPUT, BR_GEZ_LTZ, X1N600, MMU_TLB_LOOK_UP,
|
3673 |
|
|
JUMPLONG, SEL_PORT_A_MEM, X1N740, X1N623, TAKEBRANCH, SEL_PORT_B_MEM,
|
3674 |
|
|
MEM_WRITE_SOON, CLK, SW1, X1N616, SEL_PORT_A_ALU, VCC, SW2,
|
3675 |
|
|
DATA_MEM_ACCESS, SEL_PORT_B_ALU, X1N637, OVERFLOW, INT_DEC_TLBL,
|
3676 |
|
|
MMU_DIRTY, X1N739, X1N595, INTERRUPT_MEM, SPECIAL_EXE, SET_R31_EXE,
|
3677 |
|
|
INT_INST_ERROR, BRANCH, STATUS0, RESET_IN, STATUS1, LDST_SHIFT0,
|
3678 |
|
|
CP0_READ_CAUSE, STATUS2, LDST_SHIFT1, CPO_READ_ENTRY_HI, STATUS3,
|
3679 |
|
|
MMU_TLB_READ, LDST_SHIFT2, STATUS4, MMU_HIT_DATA, DISPLAY16,
|
3680 |
|
|
DATA_CACHE_HIT, STATUS5, LUI, ENABLE_RAM, CP0_RETURN_FROM_EXCEPTION,
|
3681 |
|
|
CPO_READ_CONTEXT, CACHE, CPO_READ_RANDOM, CP0_WRITE_CAUSE,
|
3682 |
|
|
CPO_WRITE_ENTRY_HI, CPO_READ_ENTRY_LO, MMU_TLB_WRITE,
|
3683 |
|
|
MMU_DONT_CACHE_DATA, MEM_BRANCH, HALT0, ENABLE_DISPLAY, CP0_READ_STATUS
|
3684 |
|
|
, SERIAL_ACK, HALT1, EXT_INTERRUPT, HALT2, HALT3, CPO_WRITE_CONTEXT,
|
3685 |
|
|
CLK_50MHZ, MMU_HIT_INSTR, ENABLE_ROM, CPO_WRITE_ENTRY_LO, COUNTER_ZERO,
|
3686 |
|
|
GLB_EN, ENABLE_COUNTER, CP0_WRITE_STATUS, INST_MEM_ACCESS,
|
3687 |
|
|
INT_FETCH_ADEL, CLK1_NBUF, CPO_READ_BADVADDR, CLK2_NBUF, X1N2020,
|
3688 |
|
|
X1N1120, SET_R0, ENABLE_SERIAL, MMU_HIT, MEM_CP_NO0, EXTERNAL_INTERRUPT1
|
3689 |
|
|
, X1N1050, MEM_CP_NO1, CPO_WRITTE_INDEX, X1N6001, X1N4112, X1N6030,
|
3690 |
|
|
X1N6012, X1N3213, X1N1224, X1N1044, SELECT_CPO, X1N5230, X1N5212,
|
3691 |
|
|
X1N4042, X1N3160, X1N1306, X1N1117, X1N1054, X1N5600, X1N5303, X1N5060,
|
3692 |
|
|
X1N4142, X1N3422, X1N3161, X1N3071, X1N2612, X1N1307, X1N1046,
|
3693 |
|
|
INT_COPROCESSOR_UNUSABLE, X1N6510, X1N5520, X1N4431, X1N4422, X1N3126,
|
3694 |
|
|
X1N3090, X1N2280, X1N1821, X1N1092, X1N1083, CLK1, X1N6421, X1N6160,
|
3695 |
|
|
X1N6151, X1N6025, X1N5620, X1N5521, X1N4810, X1N4234, X1N4072, X1N3730,
|
3696 |
|
|
X1N3028, X1N1309, X1N1066, CPO_READ_INDEX, CLK2, X1N6323, X1N6161,
|
3697 |
|
|
X1N6062, X1N5423, X1N5414, X1N5234, X1N4910, X1N4820, X1N4811, X1N3641,
|
3698 |
|
|
X1N3272, X1N3245, X1N3164, X1N2282, X1N1058, INST_CACHE_HIT, X1N6171,
|
3699 |
|
|
X1N6144, X1N5811, X1N5550, X1N5460, X1N5253, X1N5235, X1N5208, X1N4830,
|
3700 |
|
|
X1N4821, X1N4812, X1N3741, X1N3255, X1N3246, X1N3075, X1N3057, X1N2760,
|
3701 |
|
|
X1N2274, X1N1068, X1N1059, MMU_DONT_CACHE, X1N6631, X1N6613, X1N6460,
|
3702 |
|
|
X1N6433, X1N6127, X1N6037, X1N5524, X1N5425, X1N5407, X1N5254, X1N4903,
|
3703 |
|
|
X1N4831, X1N4822, X1N4813, X1N3715, X1N1870, X1N1069, MEMORY, X1N6830,
|
3704 |
|
|
X1N6461, X1N6434, X1N6218, X1N6173, X1N5732, X1N5723, X1N5651, X1N5624,
|
3705 |
|
|
X1N5561, X1N5552, X1N5516, X1N5507, X1N5381, X1N5327, X1N5273, X1N5147,
|
3706 |
|
|
X1N4832, X1N4148, X1N4067, X1N3266, X1N3194, X1N2276, X1N1187, X1N1079,
|
3707 |
|
|
X1N6831, X1N6705, X1N6462, X1N6156, X1N5706, X1N5670, X1N5625, X1N5616,
|
3708 |
|
|
X1N5418, X1N5382, X1N5229, X1N5076, X1N4833, X1N4770, X1N4176, X1N3834,
|
3709 |
|
|
X1N3744, X1N3267, X1N1296, X1N1089, X1N6832, X1N6634, X1N6409, X1N6337,
|
3710 |
|
|
X1N6175, X1N6067, X1N5932, X1N5734, X1N5671, X1N5383, X1N5248, X1N4771,
|
3711 |
|
|
X1N4672, X1N4177, X1N3817, X1N3655, X1N3367, X1N3295, X1N1297, INDEX31,
|
3712 |
|
|
X1N6833, X1N6590, X1N6527, X1N6365, X1N6158, X1N5951, X1N5726, X1N5618,
|
3713 |
|
|
X1N5519, X1N5249, X1N4853, X1N4808, X1N4772, X1N3683, X1N3557, X1N6933,
|
3714 |
|
|
X1N6663, X1N6609, X1N6519, X1N6456, X1N6177, X1N5754, X1N5736, X1N5628,
|
3715 |
|
|
X1N5619, X1N5547, X1N5268, X1N4935, X1N4908, X1N4863, X1N4818, X1N4809,
|
3716 |
|
|
X1N3837, X1N3738, X1N2874, X1N1596, INST_ADDR_ERROR, X1N6826, X1N6709,
|
3717 |
|
|
X1N6457, X1N6439, X1N6169, X1N5764, X1N5746, X1N5728, X1N5287, X1N4990,
|
3718 |
|
|
X1N4909, X1N4891, X1N4864, X1N4819, X1N3766, X1N3757, X1N6944, X1N6836,
|
3719 |
|
|
X1N6656, X1N6395, X1N5684, X1N5666, X1N5567, X1N5459, X1N4865, X1N4856,
|
3720 |
|
|
X1N4829, X1N3299, MMU_DONT_CACHE_INTR, X1N6846, X1N6837, X1N6396,
|
3721 |
|
|
X1N5748, X1N5559, X1N4992, X1N4884, X1N4866, X1N4767, V_ADDRESS_ERROR,
|
3722 |
|
|
X1N6667, X1N5947, X1N5686, X1N5668, X1N5596, X1N4867, X1N4777, X1N4768,
|
3723 |
|
|
STATUS30, INSTRUCTION_LOADING_IN_MEM_STAGE, X1N6938, X1N6659, X1N5975,
|
3724 |
|
|
X1N5696, X1N4895, X1N4868, X1N4769, X1N1799, STATUS31, STATUS22,
|
3725 |
|
|
MMU_TLB_WRITE_RANDOM, INT_FETCH_TLBL, X1N5688, X1N5598, X1N4986, X1N3798
|
3726 |
|
|
, MOV_CP, X1N6697, X1N5788, X1N4988, FLUSH, CPO_CAUSE31, X1N6889, RESET
|
3727 |
|
|
, TLB_REFIL, STATUS28, MEM_CP_ACCESS, END_READ_B4_WRITE, ENABLE_RAM2,
|
3728 |
|
|
STATUS29, LOAD, I_TYPE, SERIAL_REQUEST,
|
3729 |
|
|
ILL_DAMN_WELL_CONNECT_IT_TO_THE_CLOCK, END_READ, CPO_CAUSE28,
|
3730 |
|
|
CPO_CAUSE29, OUTPUT, CPO_READ_PRID, MMU_DIRTY_DATA, JMP2REG,
|
3731 |
|
|
INT_DEC_ADEL, END_WRITE, BR_INSTRUCTION;
|
3732 |
|
|
supply0 GND;
|
3733 |
|
|
FDE X1I1017 (.C(CLK1), .CE(GLB_EN), .D(X1N1054), .Q(OP[2]));
|
3734 |
|
|
FDE X1I1018 (.C(CLK1), .CE(GLB_EN), .D(X1N1044), .Q(OP[3]));
|
3735 |
|
|
FDE X1I1019 (.C(CLK1), .CE(GLB_EN), .D(X1N1066), .Q(OP[1]));
|
3736 |
|
|
FDSE X1I1020 (.C(CLK1), .CE(GLB_EN), .D(X1N1079), .Q(OP[0]), .S(FLUSH));
|
3737 |
|
|
REG5 X1I1037 (.CLK(CLK1), .EN(GLB_EN), .I({FETCH_SHIFT[4], FETCH_SHIFT[3]
|
3738 |
|
|
, FETCH_SHIFT[2], FETCH_SHIFT[1], FETCH_SHIFT[0]}), .O({IMM_SHIFT[4],
|
3739 |
|
|
IMM_SHIFT[3], IMM_SHIFT[2], IMM_SHIFT[1], IMM_SHIFT[0]}), .RES(FLUSH));
|
3740 |
|
|
AND3B2 X1I1038 (.I0(INSTRUCTION[30]), .I1(INSTRUCTION[31]), .I2
|
3741 |
|
|
(INSTRUCTION[29]), .O(I_TYPE));
|
3742 |
|
|
OR2 X1I1043 (.I0(X1N1050), .I1(X1N1046), .O(X1N1044));
|
3743 |
|
|
AND2 X1I1045 (.I0(INSTRUCTION[3]), .I1(SPECIAL), .O(X1N1046));
|
3744 |
|
|
AND3B1 X1I1049 (.I0(INSTRUCTION[28]), .I1(INSTRUCTION[27]), .I2(I_TYPE),
|
3745 |
|
|
.O(X1N1050));
|
3746 |
|
|
AND2 X1I1055 (.I0(INSTRUCTION[2]), .I1(SPECIAL), .O(X1N1058));
|
3747 |
|
|
OR2 X1I1057 (.I0(X1N1059), .I1(X1N1058), .O(X1N1054));
|
3748 |
|
|
AND2 X1I1063 (.I0(INSTRUCTION[28]), .I1(I_TYPE), .O(X1N1059));
|
3749 |
|
|
AND2 X1I1067 (.I0(INSTRUCTION[1]), .I1(SPECIAL), .O(X1N1069));
|
3750 |
|
|
OR2 X1I1070 (.I0(X1N1068), .I1(X1N1069), .O(X1N1066));
|
3751 |
|
|
OR3 X1I1078 (.I0(X1N1092), .I1(X1N1089), .I2(X1N1083), .O(X1N1079));
|
3752 |
|
|
AND2 X1I1080 (.I0(INSTRUCTION[0]), .I1(SPECIAL), .O(X1N1083));
|
3753 |
|
|
NOR2 X1I1091 (.I0(SPECIAL), .I1(I_TYPE), .O(X1N1092));
|
3754 |
|
|
FDE X1I1106 (.C(CLK1), .CE(GLB_EN), .D(X1N1117), .Q(SHIFT_SET));
|
3755 |
|
|
OR2 X1I1118 (.I0(LUI), .I1(X1N1120), .O(X1N1117));
|
3756 |
|
|
AND2B1 X1I1119 (.I0(INSTRUCTION[5]), .I1(SPECIAL), .O(X1N1120));
|
3757 |
|
|
AND4 X1I1124 (.I0(INSTRUCTION[26]), .I1(INSTRUCTION[27]), .I2
|
3758 |
|
|
(INSTRUCTION[28]), .I3(I_TYPE), .O(LUI));
|
3759 |
|
|
M2_1X5 X1I1131 (.A({INSTRUCTION[10], INSTRUCTION[9], INSTRUCTION[8],
|
3760 |
|
|
INSTRUCTION[7], INSTRUCTION[6]}), .B({SIXTEEN[4], SIXTEEN[3], SIXTEEN[2]
|
3761 |
|
|
, SIXTEEN[1], SIXTEEN[0]}), .O({FETCH_SHIFT[4], FETCH_SHIFT[3],
|
3762 |
|
|
FETCH_SHIFT[2], FETCH_SHIFT[1], FETCH_SHIFT[0]}), .SB(LUI));
|
3763 |
|
|
GND X1I1148 (.G(SIXTEEN[3]));
|
3764 |
|
|
GND X1I1150 (.G(SIXTEEN[2]));
|
3765 |
|
|
GND X1I1152 (.G(SIXTEEN[1]));
|
3766 |
|
|
GND X1I1154 (.G(SIXTEEN[0]));
|
3767 |
|
|
VCC X1I1157 (.P(SIXTEEN[4]));
|
3768 |
|
|
AND3B1 X1I1163 (.I0(LUI), .I1(INSTRUCTION[27]), .I2(I_TYPE), .O(X1N1068));
|
3769 |
|
|
AND3B1 X1I1164 (.I0(LUI), .I1(INSTRUCTION[26]), .I2(I_TYPE), .O(X1N1089));
|
3770 |
|
|
XOR32_32_32 X1I1168 (.A({REG_B_EXE_FF[31], REG_B_EXE_FF[30],
|
3771 |
|
|
REG_B_EXE_FF[29], REG_B_EXE_FF[28], REG_B_EXE_FF[27], REG_B_EXE_FF[26],
|
3772 |
|
|
REG_B_EXE_FF[25], REG_B_EXE_FF[24], REG_B_EXE_FF[23], REG_B_EXE_FF[22],
|
3773 |
|
|
REG_B_EXE_FF[21], REG_B_EXE_FF[20], REG_B_EXE_FF[19], REG_B_EXE_FF[18],
|
3774 |
|
|
REG_B_EXE_FF[17], REG_B_EXE_FF[16], REG_B_EXE_FF[15], REG_B_EXE_FF[14],
|
3775 |
|
|
REG_B_EXE_FF[13], REG_B_EXE_FF[12], REG_B_EXE_FF[11], REG_B_EXE_FF[10],
|
3776 |
|
|
REG_B_EXE_FF[9], REG_B_EXE_FF[8], REG_B_EXE_FF[7], REG_B_EXE_FF[6],
|
3777 |
|
|
REG_B_EXE_FF[5], REG_B_EXE_FF[4], REG_B_EXE_FF[3], REG_B_EXE_FF[2],
|
3778 |
|
|
REG_B_EXE_FF[1], REG_B_EXE_FF[0]}), .B({REG_A_EXE_FF[31],
|
3779 |
|
|
REG_A_EXE_FF[30], REG_A_EXE_FF[29], REG_A_EXE_FF[28], REG_A_EXE_FF[27],
|
3780 |
|
|
REG_A_EXE_FF[26], REG_A_EXE_FF[25], REG_A_EXE_FF[24], REG_A_EXE_FF[23],
|
3781 |
|
|
REG_A_EXE_FF[22], REG_A_EXE_FF[21], REG_A_EXE_FF[20], REG_A_EXE_FF[19],
|
3782 |
|
|
REG_A_EXE_FF[18], REG_A_EXE_FF[17], REG_A_EXE_FF[16], REG_A_EXE_FF[15],
|
3783 |
|
|
REG_A_EXE_FF[14], REG_A_EXE_FF[13], REG_A_EXE_FF[12], REG_A_EXE_FF[11],
|
3784 |
|
|
REG_A_EXE_FF[10], REG_A_EXE_FF[9], REG_A_EXE_FF[8], REG_A_EXE_FF[7],
|
3785 |
|
|
REG_A_EXE_FF[6], REG_A_EXE_FF[5], REG_A_EXE_FF[4], REG_A_EXE_FF[3],
|
3786 |
|
|
REG_A_EXE_FF[2], REG_A_EXE_FF[1], REG_A_EXE_FF[0]}), .O({
|
3787 |
|
|
REGA_XNOR_REGB[31], REGA_XNOR_REGB[30], REGA_XNOR_REGB[29],
|
3788 |
|
|
REGA_XNOR_REGB[28], REGA_XNOR_REGB[27], REGA_XNOR_REGB[26],
|
3789 |
|
|
REGA_XNOR_REGB[25], REGA_XNOR_REGB[24], REGA_XNOR_REGB[23],
|
3790 |
|
|
REGA_XNOR_REGB[22], REGA_XNOR_REGB[21], REGA_XNOR_REGB[20],
|
3791 |
|
|
REGA_XNOR_REGB[19], REGA_XNOR_REGB[18], REGA_XNOR_REGB[17],
|
3792 |
|
|
REGA_XNOR_REGB[16], REGA_XNOR_REGB[15], REGA_XNOR_REGB[14],
|
3793 |
|
|
REGA_XNOR_REGB[13], REGA_XNOR_REGB[12], REGA_XNOR_REGB[11],
|
3794 |
|
|
REGA_XNOR_REGB[10], REGA_XNOR_REGB[9], REGA_XNOR_REGB[8],
|
3795 |
|
|
REGA_XNOR_REGB[7], REGA_XNOR_REGB[6], REGA_XNOR_REGB[5],
|
3796 |
|
|
REGA_XNOR_REGB[4], REGA_XNOR_REGB[3], REGA_XNOR_REGB[2],
|
3797 |
|
|
REGA_XNOR_REGB[1], REGA_XNOR_REGB[0]}));
|
3798 |
|
|
AND32 X1I1172 (.I({REGA_XNOR_REGB[31], REGA_XNOR_REGB[30],
|
3799 |
|
|
REGA_XNOR_REGB[29], REGA_XNOR_REGB[28], REGA_XNOR_REGB[27],
|
3800 |
|
|
REGA_XNOR_REGB[26], REGA_XNOR_REGB[25], REGA_XNOR_REGB[24],
|
3801 |
|
|
REGA_XNOR_REGB[23], REGA_XNOR_REGB[22], REGA_XNOR_REGB[21],
|
3802 |
|
|
REGA_XNOR_REGB[20], REGA_XNOR_REGB[19], REGA_XNOR_REGB[18],
|
3803 |
|
|
REGA_XNOR_REGB[17], REGA_XNOR_REGB[16], REGA_XNOR_REGB[15],
|
3804 |
|
|
REGA_XNOR_REGB[14], REGA_XNOR_REGB[13], REGA_XNOR_REGB[12],
|
3805 |
|
|
REGA_XNOR_REGB[11], REGA_XNOR_REGB[10], REGA_XNOR_REGB[9],
|
3806 |
|
|
REGA_XNOR_REGB[8], REGA_XNOR_REGB[7], REGA_XNOR_REGB[6],
|
3807 |
|
|
REGA_XNOR_REGB[5], REGA_XNOR_REGB[4], REGA_XNOR_REGB[3],
|
3808 |
|
|
REGA_XNOR_REGB[2], REGA_XNOR_REGB[1], REGA_XNOR_REGB[0]}), .O
|
3809 |
|
|
(REGA_EQ_REGB));
|
3810 |
|
|
NOR4 X1I1177 (.I0(X1N3075), .I1(X1N3071), .I2(SPECIAL), .I3(I_TYPE), .O
|
3811 |
|
|
(SET_R0));
|
3812 |
|
|
M2_1X5 X1I1188 (.A({IMM_SHIFT[4], IMM_SHIFT[3], IMM_SHIFT[2], IMM_SHIFT[1]
|
3813 |
|
|
, IMM_SHIFT[0]}), .B({REG_A_EXE_FF[4], REG_A_EXE_FF[3], REG_A_EXE_FF[2]
|
3814 |
|
|
, REG_A_EXE_FF[1], REG_A_EXE_FF[0]}), .O({SHIFT[4], SHIFT[3], SHIFT[2],
|
3815 |
|
|
SHIFT[1], SHIFT[0]}), .SB(X1N1187));
|
3816 |
|
|
AND4B3 X1I1199 (.I0(INSTRUCTION[29]), .I1(INSTRUCTION[30]), .I2
|
3817 |
|
|
(INSTRUCTION[31]), .I3(X1N1224), .O(BR_INSTRUCTION));
|
3818 |
|
|
OR3 X1I1223 (.I0(INSTRUCTION[27]), .I1(INSTRUCTION[28]), .I2
|
3819 |
|
|
(INSTRUCTION[26]), .O(X1N1224));
|
3820 |
|
|
XOR2 X1I1260 (.I0(X1N1307), .I1(X1N1306), .O(X1N1309));
|
3821 |
|
|
AND2 X1I1269 (.I0(INSTRUCTION[28]), .I1(REGA_EQ_REGB), .O(X1N1296));
|
3822 |
|
|
AND2 X1I1270 (.I0(X1N6127), .I1(REG_A_EXE_FF[31]), .O(X1N1297));
|
3823 |
|
|
OR2 X1I1295 (.I0(X1N1297), .I1(X1N1296), .O(X1N1306));
|
3824 |
|
|
M2_1 X1I1299 (.D0(INSTRUCTION[26]), .D1(INSTRUCTION[16]), .O(X1N1307), .S0
|
3825 |
|
|
(BR_GEZ_LTZ));
|
3826 |
|
|
MUX2_1X32 X1I1314 (.A({EXE_FF[31], EXE_FF[30], EXE_FF[29], EXE_FF[28],
|
3827 |
|
|
EXE_FF[27], EXE_FF[26], EXE_FF[25], EXE_FF[24], EXE_FF[23], EXE_FF[22],
|
3828 |
|
|
EXE_FF[21], EXE_FF[20], EXE_FF[19], EXE_FF[18], EXE_FF[17], EXE_FF[16],
|
3829 |
|
|
EXE_FF[15], EXE_FF[14], EXE_FF[13], EXE_FF[12], EXE_FF[11], EXE_FF[10],
|
3830 |
|
|
EXE_FF[9], EXE_FF[8], EXE_FF[7], EXE_FF[6], EXE_FF[5], EXE_FF[4],
|
3831 |
|
|
EXE_FF[3], EXE_FF[2], EXE_FF[1], EXE_FF[0]}), .B({
|
3832 |
|
|
LOAD_ROTATED_MASKED[31], LOAD_ROTATED_MASKED[30],
|
3833 |
|
|
LOAD_ROTATED_MASKED[29], LOAD_ROTATED_MASKED[28],
|
3834 |
|
|
LOAD_ROTATED_MASKED[27], LOAD_ROTATED_MASKED[26],
|
3835 |
|
|
LOAD_ROTATED_MASKED[25], LOAD_ROTATED_MASKED[24],
|
3836 |
|
|
LOAD_ROTATED_MASKED[23], LOAD_ROTATED_MASKED[22],
|
3837 |
|
|
LOAD_ROTATED_MASKED[21], LOAD_ROTATED_MASKED[20],
|
3838 |
|
|
LOAD_ROTATED_MASKED[19], LOAD_ROTATED_MASKED[18],
|
3839 |
|
|
LOAD_ROTATED_MASKED[17], LOAD_ROTATED_MASKED[16],
|
3840 |
|
|
LOAD_ROTATED_MASKED[15], LOAD_ROTATED_MASKED[14],
|
3841 |
|
|
LOAD_ROTATED_MASKED[13], LOAD_ROTATED_MASKED[12],
|
3842 |
|
|
LOAD_ROTATED_MASKED[11], LOAD_ROTATED_MASKED[10], LOAD_ROTATED_MASKED[9]
|
3843 |
|
|
, LOAD_ROTATED_MASKED[8], LOAD_ROTATED_MASKED[7], LOAD_ROTATED_MASKED[6]
|
3844 |
|
|
, LOAD_ROTATED_MASKED[5], LOAD_ROTATED_MASKED[4], LOAD_ROTATED_MASKED[3]
|
3845 |
|
|
, LOAD_ROTATED_MASKED[2], LOAD_ROTATED_MASKED[1], LOAD_ROTATED_MASKED[0]
|
3846 |
|
|
}), .SB(LOAD), .S({MEM_RES[31], MEM_RES[30], MEM_RES[29], MEM_RES[28],
|
3847 |
|
|
MEM_RES[27], MEM_RES[26], MEM_RES[25], MEM_RES[24], MEM_RES[23],
|
3848 |
|
|
MEM_RES[22], MEM_RES[21], MEM_RES[20], MEM_RES[19], MEM_RES[18],
|
3849 |
|
|
MEM_RES[17], MEM_RES[16], MEM_RES[15], MEM_RES[14], MEM_RES[13],
|
3850 |
|
|
MEM_RES[12], MEM_RES[11], MEM_RES[10], MEM_RES[9], MEM_RES[8],
|
3851 |
|
|
MEM_RES[7], MEM_RES[6], MEM_RES[5], MEM_RES[4], MEM_RES[3], MEM_RES[2],
|
3852 |
|
|
MEM_RES[1], MEM_RES[0]}));
|
3853 |
|
|
CLOCK X1I1496 (.CLK1(X1N6462), .CLK_50MHZ(CLK_50MHZ));
|
3854 |
|
|
STARTUPRAM STARTUP_ROM (.A0(ADDRESS[2]), .A1(ADDRESS[3]), .A2(ADDRESS[4])
|
3855 |
|
|
, .A3(ADDRESS[5]), .A4(ADDRESS[6]), .D({MEM_DAT[31], MEM_DAT[30],
|
3856 |
|
|
MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25],
|
3857 |
|
|
MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20],
|
3858 |
|
|
MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15],
|
3859 |
|
|
MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10],
|
3860 |
|
|
MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4],
|
3861 |
|
|
MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .O({ROM_DAT[31],
|
3862 |
|
|
ROM_DAT[30], ROM_DAT[29], ROM_DAT[28], ROM_DAT[27], ROM_DAT[26],
|
3863 |
|
|
ROM_DAT[25], ROM_DAT[24], ROM_DAT[23], ROM_DAT[22], ROM_DAT[21],
|
3864 |
|
|
ROM_DAT[20], ROM_DAT[19], ROM_DAT[18], ROM_DAT[17], ROM_DAT[16],
|
3865 |
|
|
ROM_DAT[15], ROM_DAT[14], ROM_DAT[13], ROM_DAT[12], ROM_DAT[11],
|
3866 |
|
|
ROM_DAT[10], ROM_DAT[9], ROM_DAT[8], ROM_DAT[7], ROM_DAT[6], ROM_DAT[5]
|
3867 |
|
|
, ROM_DAT[4], ROM_DAT[3], ROM_DAT[2], ROM_DAT[1], ROM_DAT[0]}), .WCLK
|
3868 |
|
|
(CLK1), .WE(X1N6933));
|
3869 |
|
|
FPGA_FLASHDISP I_O_BLOCK (.A({PC[20], PC[19], PC[18], PC[17], PC[16],
|
3870 |
|
|
PC[15], PC[14], PC[13], PC[12], PC[11], PC[10], PC[9], PC[8], PC[7],
|
3871 |
|
|
PC[6], PC[5], PC[4], PC[3], PC[2], PC[1], PC[0]}), .BAR0(PC[0]), .BAR1
|
3872 |
|
|
(PC[1]), .BAR2(PC[2]), .BAR3(PC[3]), .BAR4(PC[4]), .BAR5(PC[5]), .BAR6
|
3873 |
|
|
(PC[6]), .BAR7(PC[7]), .BAR8(PC[8]), .DISPNFLASH(X1N1596), .DOE(X1N1596)
|
3874 |
|
|
, .LEDLA,LEDLB,LEDLC,LEDLD,LEDLE,LEDLF,LEDLG({DISP_LEFT[6], DISP_LEFT[5]
|
3875 |
|
|
, DISP_LEFT[4], DISP_LEFT[3], DISP_LEFT[2], DISP_LEFT[1], DISP_LEFT[0]})
|
3876 |
|
|
, .LEDRA,LEDRB,LEDRC,LEDRD,LEDRE,LEDRF,LEDRG({DISP_RIGHT[6],
|
3877 |
|
|
DISP_RIGHT[5], DISP_RIGHT[4], DISP_RIGHT[3], DISP_RIGHT[2],
|
3878 |
|
|
DISP_RIGHT[1], DISP_RIGHT[0]}), .NFLASHCE(X1N1596), .NFLASHOE(X1N1596),
|
3879 |
|
|
.NFLASHWE(X1N1596), .NFPGAOE(X1N2612));
|
3880 |
|
|
VCC X1I1595 (.P(X1N1596));
|
3881 |
|
|
REG32R X1I1721 (.CLK(CLK2), .EN(GLB_EN), .I({CACHE_INST_DAT[31],
|
3882 |
|
|
CACHE_INST_DAT[30], CACHE_INST_DAT[29], CACHE_INST_DAT[28],
|
3883 |
|
|
CACHE_INST_DAT[27], CACHE_INST_DAT[26], CACHE_INST_DAT[25],
|
3884 |
|
|
CACHE_INST_DAT[24], CACHE_INST_DAT[23], CACHE_INST_DAT[22],
|
3885 |
|
|
CACHE_INST_DAT[21], CACHE_INST_DAT[20], CACHE_INST_DAT[19],
|
3886 |
|
|
CACHE_INST_DAT[18], CACHE_INST_DAT[17], CACHE_INST_DAT[16],
|
3887 |
|
|
CACHE_INST_DAT[15], CACHE_INST_DAT[14], CACHE_INST_DAT[13],
|
3888 |
|
|
CACHE_INST_DAT[12], CACHE_INST_DAT[11], CACHE_INST_DAT[10],
|
3889 |
|
|
CACHE_INST_DAT[9], CACHE_INST_DAT[8], CACHE_INST_DAT[7],
|
3890 |
|
|
CACHE_INST_DAT[6], CACHE_INST_DAT[5], CACHE_INST_DAT[4],
|
3891 |
|
|
CACHE_INST_DAT[3], CACHE_INST_DAT[2], CACHE_INST_DAT[1],
|
3892 |
|
|
CACHE_INST_DAT[0]}), .O({INSTRUCTION[31], INSTRUCTION[30],
|
3893 |
|
|
INSTRUCTION[29], INSTRUCTION[28], INSTRUCTION[27], INSTRUCTION[26],
|
3894 |
|
|
INSTRUCTION[25], INSTRUCTION[24], INSTRUCTION[23], INSTRUCTION[22],
|
3895 |
|
|
INSTRUCTION[21], INSTRUCTION[20], INSTRUCTION[19], INSTRUCTION[18],
|
3896 |
|
|
INSTRUCTION[17], INSTRUCTION[16], INSTRUCTION[15], INSTRUCTION[14],
|
3897 |
|
|
INSTRUCTION[13], INSTRUCTION[12], INSTRUCTION[11], INSTRUCTION[10],
|
3898 |
|
|
INSTRUCTION[9], INSTRUCTION[8], INSTRUCTION[7], INSTRUCTION[6],
|
3899 |
|
|
INSTRUCTION[5], INSTRUCTION[4], INSTRUCTION[3], INSTRUCTION[2],
|
3900 |
|
|
INSTRUCTION[1], INSTRUCTION[0]}), .RESET(FLUSH));
|
3901 |
|
|
BUFE32 X1I1784 (.E(X1N3367), .I({ROM_DAT[31], ROM_DAT[30], ROM_DAT[29],
|
3902 |
|
|
ROM_DAT[28], ROM_DAT[27], ROM_DAT[26], ROM_DAT[25], ROM_DAT[24],
|
3903 |
|
|
ROM_DAT[23], ROM_DAT[22], ROM_DAT[21], ROM_DAT[20], ROM_DAT[19],
|
3904 |
|
|
ROM_DAT[18], ROM_DAT[17], ROM_DAT[16], ROM_DAT[15], ROM_DAT[14],
|
3905 |
|
|
ROM_DAT[13], ROM_DAT[12], ROM_DAT[11], ROM_DAT[10], ROM_DAT[9],
|
3906 |
|
|
ROM_DAT[8], ROM_DAT[7], ROM_DAT[6], ROM_DAT[5], ROM_DAT[4], ROM_DAT[3],
|
3907 |
|
|
ROM_DAT[2], ROM_DAT[1], ROM_DAT[0]}), .O({MEM_DAT[31], MEM_DAT[30],
|
3908 |
|
|
MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25],
|
3909 |
|
|
MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20],
|
3910 |
|
|
MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15],
|
3911 |
|
|
MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10],
|
3912 |
|
|
MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4],
|
3913 |
|
|
MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
3914 |
|
|
FDRE X1I1791 (.C(CLK1), .CE(GLB_EN), .D(X1N1799), .Q(X1N1821), .R(FLUSH));
|
3915 |
|
|
FDRE X1I1794 (.C(CLK1), .CE(GLB_EN), .D(X1N3126), .Q
|
3916 |
|
|
(INSTRUCTION_LOADING_IN_MEM_STAGE), .R(FLUSH));
|
3917 |
|
|
AND2 X1I1798 (.I0(INSTRUCTION[31]), .I1(INSTRUCTION[29]), .O(X1N1799));
|
3918 |
|
|
FDRE X1I1814 (.C(CLK1), .CE(GLB_EN), .D(INSTRUCTION_LOADING_IN_MEM_STAGE)
|
3919 |
|
|
, .Q(LOAD), .R(FLUSH));
|
3920 |
|
|
FDRE X1I1817 (.C(CLK1), .CE(GLB_EN), .D(X1N1821), .Q(MEM_WRITE_SOON), .R
|
3921 |
|
|
(FLUSH));
|
3922 |
|
|
AND3 X1I1867 (.I0(ADDRESS[26]), .I1(ADDRESS[27]), .I2(ADDRESS[28]), .O
|
3923 |
|
|
(X1N1870));
|
3924 |
|
|
D4_16E IGNORE_NO_LOAD1 (.A0(ADDRESS[8]), .A1(ADDRESS[9]), .A2(ADDRESS[10])
|
3925 |
|
|
, .A3(ADDRESS[11]), .D0(X1N6395), .D1(X1N6396), .D13(ENABLE_COUNTER),
|
3926 |
|
|
.D14(ENABLE_SERIAL), .D15(ENABLE_DISPLAY), .E(X1N5951));
|
3927 |
|
|
INV X1I2015 (.I(CLK), .O(X1N2020));
|
3928 |
|
|
BUFG X1I2017 (.I(CLK), .O(CLK1));
|
3929 |
|
|
BUFG X1I2018 (.I(X1N2020), .O(CLK2));
|
3930 |
|
|
AND2 X1I2248 (.I0(BR_INSTRUCTION), .I1(X1N1309), .O(X1N6144));
|
3931 |
|
|
AND2 X1I2255 (.I0(OP[2]), .I1(SPECIAL_EXE), .O(X1N1187));
|
3932 |
|
|
BUF X1I2257 (.I(CLK1), .O(CLK1_NBUF));
|
3933 |
|
|
FD X1I2275 (.C(X1N2282), .D(X1N2276), .Q(CLK));
|
3934 |
|
|
INV X1I2277 (.I(CLK), .O(X1N2276));
|
3935 |
|
|
FD X1I2279 (.C(X1N6457), .D(X1N2280), .Q(X1N2282));
|
3936 |
|
|
INV X1I2281 (.I(X1N2282), .O(X1N2280));
|
3937 |
|
|
GND X1I2611 (.G(X1N2612));
|
3938 |
|
|
AND2 X1I2698 (.I0(END_WRITE), .I1(ENABLE_SERIAL), .O(X1N5932));
|
3939 |
|
|
BUFE8 X1I2710 (.E(X1N2760), .I({SERIAL_DATA[7], SERIAL_DATA[6],
|
3940 |
|
|
SERIAL_DATA[5], SERIAL_DATA[4], SERIAL_DATA[3], SERIAL_DATA[2],
|
3941 |
|
|
SERIAL_DATA[1], SERIAL_DATA[0]}), .O({MEM_DAT[7], MEM_DAT[6], MEM_DAT[5]
|
3942 |
|
|
, MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
3943 |
|
|
BUFE X1I2713 (.E(X1N2760), .I(SERIAL_REQUEST), .O(MEM_DAT[8]));
|
3944 |
|
|
REGBANK1 REG_BANK (.D({MEM_FF[31], MEM_FF[30], MEM_FF[29], MEM_FF[28],
|
3945 |
|
|
MEM_FF[27], MEM_FF[26], MEM_FF[25], MEM_FF[24], MEM_FF[23], MEM_FF[22],
|
3946 |
|
|
MEM_FF[21], MEM_FF[20], MEM_FF[19], MEM_FF[18], MEM_FF[17], MEM_FF[16],
|
3947 |
|
|
MEM_FF[15], MEM_FF[14], MEM_FF[13], MEM_FF[12], MEM_FF[11], MEM_FF[10],
|
3948 |
|
|
MEM_FF[9], MEM_FF[8], MEM_FF[7], MEM_FF[6], MEM_FF[5], MEM_FF[4],
|
3949 |
|
|
MEM_FF[3], MEM_FF[2], MEM_FF[1], MEM_FF[0]}), .OA({REG_A[31], REG_A[30]
|
3950 |
|
|
, REG_A[29], REG_A[28], REG_A[27], REG_A[26], REG_A[25], REG_A[24],
|
3951 |
|
|
REG_A[23], REG_A[22], REG_A[21], REG_A[20], REG_A[19], REG_A[18],
|
3952 |
|
|
REG_A[17], REG_A[16], REG_A[15], REG_A[14], REG_A[13], REG_A[12],
|
3953 |
|
|
REG_A[11], REG_A[10], REG_A[9], REG_A[8], REG_A[7], REG_A[6], REG_A[5],
|
3954 |
|
|
REG_A[4], REG_A[3], REG_A[2], REG_A[1], REG_A[0]}), .OB({REG_B[31],
|
3955 |
|
|
REG_B[30], REG_B[29], REG_B[28], REG_B[27], REG_B[26], REG_B[25],
|
3956 |
|
|
REG_B[24], REG_B[23], REG_B[22], REG_B[21], REG_B[20], REG_B[19],
|
3957 |
|
|
REG_B[18], REG_B[17], REG_B[16], REG_B[15], REG_B[14], REG_B[13],
|
3958 |
|
|
REG_B[12], REG_B[11], REG_B[10], REG_B[9], REG_B[8], REG_B[7], REG_B[6]
|
3959 |
|
|
, REG_B[5], REG_B[4], REG_B[3], REG_B[2], REG_B[1], REG_B[0]}), .RA({
|
3960 |
|
|
INSTRUCTION[25], INSTRUCTION[24], INSTRUCTION[23], INSTRUCTION[22],
|
3961 |
|
|
INSTRUCTION[21]}), .RB({INSTRUCTION[20], INSTRUCTION[19],
|
3962 |
|
|
INSTRUCTION[18], INSTRUCTION[17], INSTRUCTION[16]}), .WCLK(CLK2), .WE
|
3963 |
|
|
(X1N3028), .WSEL(CLK2_NBUF), .W({REG_DEST_WB[4], REG_DEST_WB[3],
|
3964 |
|
|
REG_DEST_WB[2], REG_DEST_WB[1], REG_DEST_WB[0]}));
|
3965 |
|
|
SERIAL_FIFO X1I2754 (.ACK_IN(SERIAL_ACK), .ACK_OUT(X1N2874), .CLK(CLK1),
|
3966 |
|
|
.CLK_50MHZ(CLK_50MHZ), .IN({MEM_DAT[7], MEM_DAT[6], MEM_DAT[5],
|
3967 |
|
|
MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .OUTPUT({
|
3968 |
|
|
SERIAL_DATA[7], SERIAL_DATA[6], SERIAL_DATA[5], SERIAL_DATA[4],
|
3969 |
|
|
SERIAL_DATA[3], SERIAL_DATA[2], SERIAL_DATA[1], SERIAL_DATA[0]}),
|
3970 |
|
|
.REQ_IN(X1N5932), .REQ_OUT(SERIAL_REQUEST));
|
3971 |
|
|
BUF X1I2862 (.I(CLK2), .O(CLK2_NBUF));
|
3972 |
|
|
ALU2 X1I295 (.A({REG_A_EXE_FF[31], REG_A_EXE_FF[30], REG_A_EXE_FF[29],
|
3973 |
|
|
REG_A_EXE_FF[28], REG_A_EXE_FF[27], REG_A_EXE_FF[26], REG_A_EXE_FF[25],
|
3974 |
|
|
REG_A_EXE_FF[24], REG_A_EXE_FF[23], REG_A_EXE_FF[22], REG_A_EXE_FF[21],
|
3975 |
|
|
REG_A_EXE_FF[20], REG_A_EXE_FF[19], REG_A_EXE_FF[18], REG_A_EXE_FF[17],
|
3976 |
|
|
REG_A_EXE_FF[16], REG_A_EXE_FF[15], REG_A_EXE_FF[14], REG_A_EXE_FF[13],
|
3977 |
|
|
REG_A_EXE_FF[12], REG_A_EXE_FF[11], REG_A_EXE_FF[10], REG_A_EXE_FF[9],
|
3978 |
|
|
REG_A_EXE_FF[8], REG_A_EXE_FF[7], REG_A_EXE_FF[6], REG_A_EXE_FF[5],
|
3979 |
|
|
REG_A_EXE_FF[4], REG_A_EXE_FF[3], REG_A_EXE_FF[2], REG_A_EXE_FF[1],
|
3980 |
|
|
REG_A_EXE_FF[0]}), .B({B_EXE_INPUT[31], B_EXE_INPUT[30], B_EXE_INPUT[29]
|
3981 |
|
|
, B_EXE_INPUT[28], B_EXE_INPUT[27], B_EXE_INPUT[26], B_EXE_INPUT[25],
|
3982 |
|
|
B_EXE_INPUT[24], B_EXE_INPUT[23], B_EXE_INPUT[22], B_EXE_INPUT[21],
|
3983 |
|
|
B_EXE_INPUT[20], B_EXE_INPUT[19], B_EXE_INPUT[18], B_EXE_INPUT[17],
|
3984 |
|
|
B_EXE_INPUT[16], B_EXE_INPUT[15], B_EXE_INPUT[14], B_EXE_INPUT[13],
|
3985 |
|
|
B_EXE_INPUT[12], B_EXE_INPUT[11], B_EXE_INPUT[10], B_EXE_INPUT[9],
|
3986 |
|
|
B_EXE_INPUT[8], B_EXE_INPUT[7], B_EXE_INPUT[6], B_EXE_INPUT[5],
|
3987 |
|
|
B_EXE_INPUT[4], B_EXE_INPUT[3], B_EXE_INPUT[2], B_EXE_INPUT[1],
|
3988 |
|
|
B_EXE_INPUT[0]}), .OP({OP[3], OP[2], OP[1], OP[0]}), .OVERFLOW(X1N6634)
|
3989 |
|
|
, .S({ALU_RES[31], ALU_RES[30], ALU_RES[29], ALU_RES[28], ALU_RES[27],
|
3990 |
|
|
ALU_RES[26], ALU_RES[25], ALU_RES[24], ALU_RES[23], ALU_RES[22],
|
3991 |
|
|
ALU_RES[21], ALU_RES[20], ALU_RES[19], ALU_RES[18], ALU_RES[17],
|
3992 |
|
|
ALU_RES[16], ALU_RES[15], ALU_RES[14], ALU_RES[13], ALU_RES[12],
|
3993 |
|
|
ALU_RES[11], ALU_RES[10], ALU_RES[9], ALU_RES[8], ALU_RES[7], ALU_RES[6]
|
3994 |
|
|
, ALU_RES[5], ALU_RES[4], ALU_RES[3], ALU_RES[2], ALU_RES[1], ALU_RES[0]
|
3995 |
|
|
}));
|
3996 |
|
|
REG32 X1I2984 (.CLK(CLK1), .EN(GLB_EN), .I({REG_PC[31], REG_PC[30],
|
3997 |
|
|
REG_PC[29], REG_PC[28], REG_PC[27], REG_PC[26], REG_PC[25], REG_PC[24],
|
3998 |
|
|
REG_PC[23], REG_PC[22], REG_PC[21], REG_PC[20], REG_PC[19], REG_PC[18],
|
3999 |
|
|
REG_PC[17], REG_PC[16], REG_PC[15], REG_PC[14], REG_PC[13], REG_PC[12],
|
4000 |
|
|
REG_PC[11], REG_PC[10], REG_PC[9], REG_PC[8], REG_PC[7], REG_PC[6],
|
4001 |
|
|
REG_PC[5], REG_PC[4], REG_PC[3], REG_PC[2], REG_PC[1], REG_PC[0]}), .O({
|
4002 |
|
|
ALU_PC[31], ALU_PC[30], ALU_PC[29], ALU_PC[28], ALU_PC[27], ALU_PC[26],
|
4003 |
|
|
ALU_PC[25], ALU_PC[24], ALU_PC[23], ALU_PC[22], ALU_PC[21], ALU_PC[20],
|
4004 |
|
|
ALU_PC[19], ALU_PC[18], ALU_PC[17], ALU_PC[16], ALU_PC[15], ALU_PC[14],
|
4005 |
|
|
ALU_PC[13], ALU_PC[12], ALU_PC[11], ALU_PC[10], ALU_PC[9], ALU_PC[8],
|
4006 |
|
|
ALU_PC[7], ALU_PC[6], ALU_PC[5], ALU_PC[4], ALU_PC[3], ALU_PC[2],
|
4007 |
|
|
ALU_PC[1], ALU_PC[0]}));
|
4008 |
|
|
REG32 X1I2985 (.CLK(CLK2), .EN(X1N6218), .I({PC[31], PC[30], PC[29],
|
4009 |
|
|
PC[28], PC[27], PC[26], PC[25], PC[24], PC[23], PC[22], PC[21], PC[20],
|
4010 |
|
|
PC[19], PC[18], PC[17], PC[16], PC[15], PC[14], PC[13], PC[12], PC[11],
|
4011 |
|
|
PC[10], PC[9], PC[8], PC[7], PC[6], PC[5], PC[4], PC[3], PC[2], PC[1],
|
4012 |
|
|
PC[0]}), .O({REG_PC[31], REG_PC[30], REG_PC[29], REG_PC[28], REG_PC[27]
|
4013 |
|
|
, REG_PC[26], REG_PC[25], REG_PC[24], REG_PC[23], REG_PC[22], REG_PC[21]
|
4014 |
|
|
, REG_PC[20], REG_PC[19], REG_PC[18], REG_PC[17], REG_PC[16], REG_PC[15]
|
4015 |
|
|
, REG_PC[14], REG_PC[13], REG_PC[12], REG_PC[11], REG_PC[10], REG_PC[9]
|
4016 |
|
|
, REG_PC[8], REG_PC[7], REG_PC[6], REG_PC[5], REG_PC[4], REG_PC[3],
|
4017 |
|
|
REG_PC[2], REG_PC[1], REG_PC[0]}));
|
4018 |
|
|
REG32 X1I2992 (.CLK(CLK1), .EN(GLB_EN), .I({ALU_PC[31], ALU_PC[30],
|
4019 |
|
|
ALU_PC[29], ALU_PC[28], ALU_PC[27], ALU_PC[26], ALU_PC[25], ALU_PC[24],
|
4020 |
|
|
ALU_PC[23], ALU_PC[22], ALU_PC[21], ALU_PC[20], ALU_PC[19], ALU_PC[18],
|
4021 |
|
|
ALU_PC[17], ALU_PC[16], ALU_PC[15], ALU_PC[14], ALU_PC[13], ALU_PC[12],
|
4022 |
|
|
ALU_PC[11], ALU_PC[10], ALU_PC[9], ALU_PC[8], ALU_PC[7], ALU_PC[6],
|
4023 |
|
|
ALU_PC[5], ALU_PC[4], ALU_PC[3], ALU_PC[2], ALU_PC[1], ALU_PC[0]}), .O({
|
4024 |
|
|
MEM_PC[31], MEM_PC[30], MEM_PC[29], MEM_PC[28], MEM_PC[27], MEM_PC[26],
|
4025 |
|
|
MEM_PC[25], MEM_PC[24], MEM_PC[23], MEM_PC[22], MEM_PC[21], MEM_PC[20],
|
4026 |
|
|
MEM_PC[19], MEM_PC[18], MEM_PC[17], MEM_PC[16], MEM_PC[15], MEM_PC[14],
|
4027 |
|
|
MEM_PC[13], MEM_PC[12], MEM_PC[11], MEM_PC[10], MEM_PC[9], MEM_PC[8],
|
4028 |
|
|
MEM_PC[7], MEM_PC[6], MEM_PC[5], MEM_PC[4], MEM_PC[3], MEM_PC[2],
|
4029 |
|
|
MEM_PC[1], MEM_PC[0]}));
|
4030 |
|
|
AND2B1 X1I3027 (.I0(INTERRUPT), .I1(GLB_EN), .O(X1N3028));
|
4031 |
|
|
FDRE X1I3039 (.C(CLK1), .CE(GLB_EN), .D(X1N3057), .Q(OUTPUT), .R(FLUSH));
|
4032 |
|
|
INTERRUPT_VECTOR X1I3046 (.OUT({RESETVECTOR[31], RESETVECTOR[30],
|
4033 |
|
|
RESETVECTOR[29], RESETVECTOR[28], RESETVECTOR[27], RESETVECTOR[26],
|
4034 |
|
|
RESETVECTOR[25], RESETVECTOR[24], RESETVECTOR[23], RESETVECTOR[22],
|
4035 |
|
|
RESETVECTOR[21], RESETVECTOR[20], RESETVECTOR[19], RESETVECTOR[18],
|
4036 |
|
|
RESETVECTOR[17], RESETVECTOR[16], RESETVECTOR[15], RESETVECTOR[14],
|
4037 |
|
|
RESETVECTOR[13], RESETVECTOR[12], RESETVECTOR[11], RESETVECTOR[10],
|
4038 |
|
|
RESETVECTOR[9], RESETVECTOR[8], RESETVECTOR[7], RESETVECTOR[6],
|
4039 |
|
|
RESETVECTOR[5], RESETVECTOR[4], RESETVECTOR[3], RESETVECTOR[2],
|
4040 |
|
|
RESETVECTOR[1], RESETVECTOR[0]}), .PLUS_100(X1N5811), .PLUS_80(X1N6667)
|
4041 |
|
|
, .VECTOR_8000(X1N6062));
|
4042 |
|
|
MUX2_1X32 X1I3051 (.A({NEXT_PC[31], NEXT_PC[30], NEXT_PC[29], NEXT_PC[28]
|
4043 |
|
|
, NEXT_PC[27], NEXT_PC[26], NEXT_PC[25], NEXT_PC[24], NEXT_PC[23],
|
4044 |
|
|
NEXT_PC[22], NEXT_PC[21], NEXT_PC[20], NEXT_PC[19], NEXT_PC[18],
|
4045 |
|
|
NEXT_PC[17], NEXT_PC[16], NEXT_PC[15], NEXT_PC[14], NEXT_PC[13],
|
4046 |
|
|
NEXT_PC[12], NEXT_PC[11], NEXT_PC[10], NEXT_PC[9], NEXT_PC[8],
|
4047 |
|
|
NEXT_PC[7], NEXT_PC[6], NEXT_PC[5], NEXT_PC[4], NEXT_PC[3], NEXT_PC[2],
|
4048 |
|
|
NEXT_PC[1], NEXT_PC[0]}), .B({RESETVECTOR[31], RESETVECTOR[30],
|
4049 |
|
|
RESETVECTOR[29], RESETVECTOR[28], RESETVECTOR[27], RESETVECTOR[26],
|
4050 |
|
|
RESETVECTOR[25], RESETVECTOR[24], RESETVECTOR[23], RESETVECTOR[22],
|
4051 |
|
|
RESETVECTOR[21], RESETVECTOR[20], RESETVECTOR[19], RESETVECTOR[18],
|
4052 |
|
|
RESETVECTOR[17], RESETVECTOR[16], RESETVECTOR[15], RESETVECTOR[14],
|
4053 |
|
|
RESETVECTOR[13], RESETVECTOR[12], RESETVECTOR[11], RESETVECTOR[10],
|
4054 |
|
|
RESETVECTOR[9], RESETVECTOR[8], RESETVECTOR[7], RESETVECTOR[6],
|
4055 |
|
|
RESETVECTOR[5], RESETVECTOR[4], RESETVECTOR[3], RESETVECTOR[2],
|
4056 |
|
|
RESETVECTOR[1], RESETVECTOR[0]}), .SB(INTERRUPT), .S({NOTSYSCALLPC[31],
|
4057 |
|
|
NOTSYSCALLPC[30], NOTSYSCALLPC[29], NOTSYSCALLPC[28], NOTSYSCALLPC[27],
|
4058 |
|
|
NOTSYSCALLPC[26], NOTSYSCALLPC[25], NOTSYSCALLPC[24], NOTSYSCALLPC[23],
|
4059 |
|
|
NOTSYSCALLPC[22], NOTSYSCALLPC[21], NOTSYSCALLPC[20], NOTSYSCALLPC[19],
|
4060 |
|
|
NOTSYSCALLPC[18], NOTSYSCALLPC[17], NOTSYSCALLPC[16], NOTSYSCALLPC[15],
|
4061 |
|
|
NOTSYSCALLPC[14], NOTSYSCALLPC[13], NOTSYSCALLPC[12], NOTSYSCALLPC[11],
|
4062 |
|
|
NOTSYSCALLPC[10], NOTSYSCALLPC[9], NOTSYSCALLPC[8], NOTSYSCALLPC[7],
|
4063 |
|
|
NOTSYSCALLPC[6], NOTSYSCALLPC[5], NOTSYSCALLPC[4], NOTSYSCALLPC[3],
|
4064 |
|
|
NOTSYSCALLPC[2], NOTSYSCALLPC[1], NOTSYSCALLPC[0]}));
|
4065 |
|
|
FDRE X1I3056 (.C(CLK1), .CE(GLB_EN), .D(X1N3160), .Q(X1N3057), .R(FLUSH));
|
4066 |
|
|
AND3B2 X1I3067 (.I0(INSTRUCTION[29]), .I1(INSTRUCTION[30]), .I2
|
4067 |
|
|
(INSTRUCTION[31]), .O(X1N3071));
|
4068 |
|
|
REG32 REG_A (.CLK(CLK1), .EN(GLB_EN), .I({REG_A[31], REG_A[30], REG_A[29]
|
4069 |
|
|
, REG_A[28], REG_A[27], REG_A[26], REG_A[25], REG_A[24], REG_A[23],
|
4070 |
|
|
REG_A[22], REG_A[21], REG_A[20], REG_A[19], REG_A[18], REG_A[17],
|
4071 |
|
|
REG_A[16], REG_A[15], REG_A[14], REG_A[13], REG_A[12], REG_A[11],
|
4072 |
|
|
REG_A[10], REG_A[9], REG_A[8], REG_A[7], REG_A[6], REG_A[5], REG_A[4],
|
4073 |
|
|
REG_A[3], REG_A[2], REG_A[1], REG_A[0]}), .O({REG_A_EXE[31],
|
4074 |
|
|
REG_A_EXE[30], REG_A_EXE[29], REG_A_EXE[28], REG_A_EXE[27],
|
4075 |
|
|
REG_A_EXE[26], REG_A_EXE[25], REG_A_EXE[24], REG_A_EXE[23],
|
4076 |
|
|
REG_A_EXE[22], REG_A_EXE[21], REG_A_EXE[20], REG_A_EXE[19],
|
4077 |
|
|
REG_A_EXE[18], REG_A_EXE[17], REG_A_EXE[16], REG_A_EXE[15],
|
4078 |
|
|
REG_A_EXE[14], REG_A_EXE[13], REG_A_EXE[12], REG_A_EXE[11],
|
4079 |
|
|
REG_A_EXE[10], REG_A_EXE[9], REG_A_EXE[8], REG_A_EXE[7], REG_A_EXE[6],
|
4080 |
|
|
REG_A_EXE[5], REG_A_EXE[4], REG_A_EXE[3], REG_A_EXE[2], REG_A_EXE[1],
|
4081 |
|
|
REG_A_EXE[0]}));
|
4082 |
|
|
AND5B4 X1I3074 (.I0(INSTRUCTION[24]), .I1(INSTRUCTION[25]), .I2
|
4083 |
|
|
(INSTRUCTION[29]), .I3(INSTRUCTION[31]), .I4(INSTRUCTION[30]), .O
|
4084 |
|
|
(MOV_CP));
|
4085 |
|
|
OR3 X1I3086 (.I0(X1N3090), .I1(X1N5327), .I2(INST_ADDR_ERROR), .O(SET_R31)
|
4086 |
|
|
);
|
4087 |
|
|
AND2 X1I3089 (.I0(JUMPLONG), .I1(INSTRUCTION[26]), .O(X1N3090));
|
4088 |
|
|
OR3 X1I3098 (.I0(INTERRUPT), .I1(INTERRUPT_MEM), .I2(RESET), .O(FLUSH));
|
4089 |
|
|
OR2 X1I3125 (.I0(INSTRUCTION[30]), .I1(INSTRUCTION[31]), .O(X1N3126));
|
4090 |
|
|
AND3B1 X1I3129 (.I0(INSTRUCTION[30]), .I1(INSTRUCTION[29]), .I2
|
4091 |
|
|
(INSTRUCTION[31]), .O(X1N3161));
|
4092 |
|
|
MUX3_1X32 X1I314 (.A({REG_B_EXE[31], REG_B_EXE[30], REG_B_EXE[29],
|
4093 |
|
|
REG_B_EXE[28], REG_B_EXE[27], REG_B_EXE[26], REG_B_EXE[25],
|
4094 |
|
|
REG_B_EXE[24], REG_B_EXE[23], REG_B_EXE[22], REG_B_EXE[21],
|
4095 |
|
|
REG_B_EXE[20], REG_B_EXE[19], REG_B_EXE[18], REG_B_EXE[17],
|
4096 |
|
|
REG_B_EXE[16], REG_B_EXE[15], REG_B_EXE[14], REG_B_EXE[13],
|
4097 |
|
|
REG_B_EXE[12], REG_B_EXE[11], REG_B_EXE[10], REG_B_EXE[9], REG_B_EXE[8]
|
4098 |
|
|
, REG_B_EXE[7], REG_B_EXE[6], REG_B_EXE[5], REG_B_EXE[4], REG_B_EXE[3],
|
4099 |
|
|
REG_B_EXE[2], REG_B_EXE[1], REG_B_EXE[0]}), .B({SEL_PORT_B_MEM,
|
4100 |
|
|
MEM_FF[31], MEM_FF[30], MEM_FF[29], MEM_FF[28], MEM_FF[27], MEM_FF[26],
|
4101 |
|
|
MEM_FF[25], MEM_FF[24], MEM_FF[23], MEM_FF[22], MEM_FF[21], MEM_FF[20],
|
4102 |
|
|
MEM_FF[19], MEM_FF[18], MEM_FF[17], MEM_FF[16], MEM_FF[15], MEM_FF[14],
|
4103 |
|
|
MEM_FF[13], MEM_FF[12], MEM_FF[11], MEM_FF[10], MEM_FF[9], MEM_FF[8],
|
4104 |
|
|
MEM_FF[7], MEM_FF[6], MEM_FF[5], MEM_FF[4], MEM_FF[3], MEM_FF[2],
|
4105 |
|
|
MEM_FF[1], MEM_FF[0]}), .C({SEL_PORT_B_ALU, EXE_FF[31], EXE_FF[30],
|
4106 |
|
|
EXE_FF[29], EXE_FF[28], EXE_FF[27], EXE_FF[26], EXE_FF[25], EXE_FF[24],
|
4107 |
|
|
EXE_FF[23], EXE_FF[22], EXE_FF[21], EXE_FF[20], EXE_FF[19], EXE_FF[18],
|
4108 |
|
|
EXE_FF[17], EXE_FF[16], EXE_FF[15], EXE_FF[14], EXE_FF[13], EXE_FF[12],
|
4109 |
|
|
EXE_FF[11], EXE_FF[10], EXE_FF[9], EXE_FF[8], EXE_FF[7], EXE_FF[6],
|
4110 |
|
|
EXE_FF[5], EXE_FF[4], EXE_FF[3], EXE_FF[2], EXE_FF[1], EXE_FF[0]}), .S({
|
4111 |
|
|
REG_B_EXE_FF[31], REG_B_EXE_FF[30], REG_B_EXE_FF[29], REG_B_EXE_FF[28],
|
4112 |
|
|
REG_B_EXE_FF[27], REG_B_EXE_FF[26], REG_B_EXE_FF[25], REG_B_EXE_FF[24],
|
4113 |
|
|
REG_B_EXE_FF[23], REG_B_EXE_FF[22], REG_B_EXE_FF[21], REG_B_EXE_FF[20],
|
4114 |
|
|
REG_B_EXE_FF[19], REG_B_EXE_FF[18], REG_B_EXE_FF[17], REG_B_EXE_FF[16],
|
4115 |
|
|
REG_B_EXE_FF[15], REG_B_EXE_FF[14], REG_B_EXE_FF[13], REG_B_EXE_FF[12],
|
4116 |
|
|
REG_B_EXE_FF[11], REG_B_EXE_FF[10], REG_B_EXE_FF[9], REG_B_EXE_FF[8],
|
4117 |
|
|
REG_B_EXE_FF[7], REG_B_EXE_FF[6], REG_B_EXE_FF[5], REG_B_EXE_FF[4],
|
4118 |
|
|
REG_B_EXE_FF[3], REG_B_EXE_FF[2], REG_B_EXE_FF[1], REG_B_EXE_FF[0]}));
|
4119 |
|
|
AND2B1 X1I3151 (.I0(INSTRUCTION[23]), .I1(MOV_CP), .O(X1N3075));
|
4120 |
|
|
OR2 X1I3159 (.I0(X1N3161), .I1(X1N3164), .O(X1N3160));
|
4121 |
|
|
AND2 X1I3163 (.I0(MOV_CP), .I1(INSTRUCTION[23]), .O(X1N3164));
|
4122 |
|
|
REG5 X1I3171 (.CLK(CLK1), .EN(GLB_EN), .I({CPO_REG_DEST[4],
|
4123 |
|
|
CPO_REG_DEST[3], CPO_REG_DEST[2], CPO_REG_DEST[1], CPO_REG_DEST[0]}),
|
4124 |
|
|
.O({CPO_ALU_DEST[4], CPO_ALU_DEST[3], CPO_ALU_DEST[2], CPO_ALU_DEST[1],
|
4125 |
|
|
CPO_ALU_DEST[0]}), .RES(FLUSH));
|
4126 |
|
|
REG5 X1I3178 (.CLK(CLK1), .EN(GLB_EN), .I({CPO_ALU_DEST[4],
|
4127 |
|
|
CPO_ALU_DEST[3], CPO_ALU_DEST[2], CPO_ALU_DEST[1], CPO_ALU_DEST[0]}),
|
4128 |
|
|
.O({CPO_REG_SELECT[4], CPO_REG_SELECT[3], CPO_REG_SELECT[2],
|
4129 |
|
|
CPO_REG_SELECT[1], CPO_REG_SELECT[0]}), .RES(FLUSH));
|
4130 |
|
|
FDRE X1I3189 (.C(CLK1), .CE(GLB_EN), .D(X1N3255), .Q(X1N3194), .R(FLUSH));
|
4131 |
|
|
FDRE X1I3190 (.C(CLK1), .CE(GLB_EN), .D(X1N3194), .Q(CPO_WRITE), .R(FLUSH)
|
4132 |
|
|
);
|
4133 |
|
|
M2_1X5 X1I3200 (.A({INSTRUCTION[15], INSTRUCTION[14], INSTRUCTION[13]
|
4134 |
|
|
, INSTRUCTION[12], INSTRUCTION[11]}), .B({INSTRUCTION[20],
|
4135 |
|
|
INSTRUCTION[19], INSTRUCTION[18], INSTRUCTION[17], INSTRUCTION[16]}),
|
4136 |
|
|
.O({CPO_REG_DEST[4], CPO_REG_DEST[3], CPO_REG_DEST[2], CPO_REG_DEST[1],
|
4137 |
|
|
CPO_REG_DEST[0]}), .SB(INSTRUCTION[31]));
|
4138 |
|
|
FDRE X1I3216 (.C(CLK1), .CE(GLB_EN), .D(X1N3213), .Q(CPO_OUTPUT), .R
|
4139 |
|
|
(FLUSH));
|
4140 |
|
|
FDRE X1I3217 (.C(CLK1), .CE(GLB_EN), .D(X1N3272), .Q(X1N3213), .R(FLUSH));
|
4141 |
|
|
AND3B2 X1I3237 (.I0(INSTRUCTION[26]), .I1(INSTRUCTION[27]), .I2
|
4142 |
|
|
(INSTRUCTION[30]), .O(SELECT_CPO));
|
4143 |
|
|
AND5B3 X1I3242 (.I0(INSTRUCTION[31]), .I1(INSTRUCTION[25]), .I2
|
4144 |
|
|
(INSTRUCTION[24]), .I3(INSTRUCTION[23]), .I4(SELECT_CPO), .O(X1N3245));
|
4145 |
|
|
AND3B1 X1I3243 (.I0(INSTRUCTION[29]), .I1(INSTRUCTION[31]), .I2
|
4146 |
|
|
(SELECT_CPO), .O(X1N3246));
|
4147 |
|
|
OR2 X1I3244 (.I0(X1N3246), .I1(X1N3245), .O(X1N3255));
|
4148 |
|
|
AND5B4 X1I3261 (.I0(INSTRUCTION[31]), .I1(INSTRUCTION[25]), .I2
|
4149 |
|
|
(INSTRUCTION[24]), .I3(INSTRUCTION[23]), .I4(SELECT_CPO), .O(X1N3266));
|
4150 |
|
|
OR2 X1I3262 (.I0(X1N3267), .I1(X1N3266), .O(X1N3272));
|
4151 |
|
|
AND3 X1I3271 (.I0(INSTRUCTION[29]), .I1(INSTRUCTION[31]), .I2(SELECT_CPO)
|
4152 |
|
|
, .O(X1N3267));
|
4153 |
|
|
D4_16E IGNORE_NO_LOAD2 (.A0(CPO_REG_SELECT[0]), .A1(CPO_REG_SELECT[1]),
|
4154 |
|
|
.A2(CPO_REG_SELECT[2]), .A3(CPO_REG_SELECT[3]), .D0(CPO_WRITTE_INDEX),
|
4155 |
|
|
.D10(CPO_WRITE_ENTRY_HI), .D12(CP0_WRITE_STATUS), .D13(CP0_WRITE_CAUSE)
|
4156 |
|
|
, .D2(CPO_WRITE_ENTRY_LO), .D4(CPO_WRITE_CONTEXT), .E(X1N3295));
|
4157 |
|
|
BUFE32 X1I3284 (.E(CPO_READ_EPC), .I({EPC[31], EPC[30], EPC[29], EPC[28],
|
4158 |
|
|
EPC[27], EPC[26], EPC[25], EPC[24], EPC[23], EPC[22], EPC[21], EPC[20],
|
4159 |
|
|
EPC[19], EPC[18], EPC[17], EPC[16], EPC[15], EPC[14], EPC[13], EPC[12],
|
4160 |
|
|
EPC[11], EPC[10], EPC[9], EPC[8], EPC[7], EPC[6], EPC[5], EPC[4], EPC[3]
|
4161 |
|
|
, EPC[2], EPC[1], EPC[0]}), .O({CACHE_DAT[31], CACHE_DAT[30],
|
4162 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
4163 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4164 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
4165 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
4166 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4167 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
4168 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
4169 |
|
|
D4_16E IGNORE_NO_LOAD3 (.A0(CPO_REG_SELECT[0]), .A1(CPO_REG_SELECT[1]),
|
4170 |
|
|
.A2(CPO_REG_SELECT[2]), .A3(CPO_REG_SELECT[3]), .D0(CPO_READ_INDEX), .D1
|
4171 |
|
|
(CPO_READ_RANDOM), .D10(CPO_READ_ENTRY_HI), .D12(CP0_READ_STATUS), .D13
|
4172 |
|
|
(CP0_READ_CAUSE), .D14(CPO_READ_EPC), .D15(CPO_READ_PRID), .D2
|
4173 |
|
|
(CPO_READ_ENTRY_LO), .D4(CPO_READ_CONTEXT), .D8(CPO_READ_BADVADDR), .E
|
4174 |
|
|
(X1N3299));
|
4175 |
|
|
AND5B2 X1I3294 (.I0(CPO_REG_SELECT[4]), .I1(CLK1_NBUF), .I2(CPO_WRITE),
|
4176 |
|
|
.I3(GLB_EN), .I4(X1N5418), .O(X1N3295));
|
4177 |
|
|
AND4B2 X1I3297 (.I0(CPO_REG_SELECT[4]), .I1(CLK1_NBUF), .I2(CPO_OUTPUT),
|
4178 |
|
|
.I3(GLB_EN), .O(X1N3299));
|
4179 |
|
|
REG32 X1I331 (.CLK(CLK1), .EN(GLB_EN), .I({REG_B[31], REG_B[30], REG_B[29]
|
4180 |
|
|
, REG_B[28], REG_B[27], REG_B[26], REG_B[25], REG_B[24], REG_B[23],
|
4181 |
|
|
REG_B[22], REG_B[21], REG_B[20], REG_B[19], REG_B[18], REG_B[17],
|
4182 |
|
|
REG_B[16], REG_B[15], REG_B[14], REG_B[13], REG_B[12], REG_B[11],
|
4183 |
|
|
REG_B[10], REG_B[9], REG_B[8], REG_B[7], REG_B[6], REG_B[5], REG_B[4],
|
4184 |
|
|
REG_B[3], REG_B[2], REG_B[1], REG_B[0]}), .O({REG_B_EXE[31],
|
4185 |
|
|
REG_B_EXE[30], REG_B_EXE[29], REG_B_EXE[28], REG_B_EXE[27],
|
4186 |
|
|
REG_B_EXE[26], REG_B_EXE[25], REG_B_EXE[24], REG_B_EXE[23],
|
4187 |
|
|
REG_B_EXE[22], REG_B_EXE[21], REG_B_EXE[20], REG_B_EXE[19],
|
4188 |
|
|
REG_B_EXE[18], REG_B_EXE[17], REG_B_EXE[16], REG_B_EXE[15],
|
4189 |
|
|
REG_B_EXE[14], REG_B_EXE[13], REG_B_EXE[12], REG_B_EXE[11],
|
4190 |
|
|
REG_B_EXE[10], REG_B_EXE[9], REG_B_EXE[8], REG_B_EXE[7], REG_B_EXE[6],
|
4191 |
|
|
REG_B_EXE[5], REG_B_EXE[4], REG_B_EXE[3], REG_B_EXE[2], REG_B_EXE[1],
|
4192 |
|
|
REG_B_EXE[0]}));
|
4193 |
|
|
REG5 X1I3316 (.CLK(CLK1), .EN(GLB_EN), .I({INSTRUCTION[4], INSTRUCTION[3]
|
4194 |
|
|
, INSTRUCTION[2], INSTRUCTION[1], INSTRUCTION[0]}), .O({
|
4195 |
|
|
CPO_INSTRUCTION_EX[4], CPO_INSTRUCTION_EX[3], CPO_INSTRUCTION_EX[2],
|
4196 |
|
|
CPO_INSTRUCTION_EX[1], CPO_INSTRUCTION_EX[0]}), .RES(X1N4142));
|
4197 |
|
|
REG5 X1I3322 (.CLK(CLK1), .EN(GLB_EN), .I({CPO_INSTRUCTION_EX[4],
|
4198 |
|
|
CPO_INSTRUCTION_EX[3], CPO_INSTRUCTION_EX[2], CPO_INSTRUCTION_EX[1],
|
4199 |
|
|
CPO_INSTRUCTION_EX[0]}), .O({CP0_INSTRUCTION[4], CP0_INSTRUCTION[3],
|
4200 |
|
|
CP0_INSTRUCTION[2], CP0_INSTRUCTION[1], CP0_INSTRUCTION[0]}), .RES
|
4201 |
|
|
(FLUSH));
|
4202 |
|
|
AND2 X1I3347 (.I0(MEM_WRITE), .I1(ENABLE_DISPLAY), .O(X1N3422));
|
4203 |
|
|
AND2B1 X1I3361 (.I0(MEM_WRITE), .I1(ENABLE_SERIAL), .O(X1N2760));
|
4204 |
|
|
AND2B1 X1I3368 (.I0(MEM_WRITE), .I1(ENABLE_ROM), .O(X1N3367));
|
4205 |
|
|
RANDOM X1I3444 (.CLK(CLK1), .P({RANDOM[13], RANDOM[12], RANDOM[11],
|
4206 |
|
|
RANDOM[10], RANDOM[9], RANDOM[8]}));
|
4207 |
|
|
X14SEG X1I3461 (.IN({DISPLAY[7], DISPLAY[6], DISPLAY[5], DISPLAY[4],
|
4208 |
|
|
DISPLAY[3], DISPLAY[2], DISPLAY[1], DISPLAY[0]}), .LEFT({DISP_LEFT[6],
|
4209 |
|
|
DISP_LEFT[5], DISP_LEFT[4], DISP_LEFT[3], DISP_LEFT[2], DISP_LEFT[1],
|
4210 |
|
|
DISP_LEFT[0]}), .RIGHT({DISP_RIGHT[6], DISP_RIGHT[5], DISP_RIGHT[4],
|
4211 |
|
|
DISP_RIGHT[3], DISP_RIGHT[2], DISP_RIGHT[1], DISP_RIGHT[0]}));
|
4212 |
|
|
REG32 EXE_RES (.CLK(CLK1), .EN(GLB_EN), .I({EXE_RES[31], EXE_RES[30],
|
4213 |
|
|
EXE_RES[29], EXE_RES[28], EXE_RES[27], EXE_RES[26], EXE_RES[25],
|
4214 |
|
|
EXE_RES[24], EXE_RES[23], EXE_RES[22], EXE_RES[21], EXE_RES[20],
|
4215 |
|
|
EXE_RES[19], EXE_RES[18], EXE_RES[17], EXE_RES[16], EXE_RES[15],
|
4216 |
|
|
EXE_RES[14], EXE_RES[13], EXE_RES[12], EXE_RES[11], EXE_RES[10],
|
4217 |
|
|
EXE_RES[9], EXE_RES[8], EXE_RES[7], EXE_RES[6], EXE_RES[5], EXE_RES[4],
|
4218 |
|
|
EXE_RES[3], EXE_RES[2], EXE_RES[1], EXE_RES[0]}), .O({EXE_FF[31],
|
4219 |
|
|
EXE_FF[30], EXE_FF[29], EXE_FF[28], EXE_FF[27], EXE_FF[26], EXE_FF[25],
|
4220 |
|
|
EXE_FF[24], EXE_FF[23], EXE_FF[22], EXE_FF[21], EXE_FF[20], EXE_FF[19],
|
4221 |
|
|
EXE_FF[18], EXE_FF[17], EXE_FF[16], EXE_FF[15], EXE_FF[14], EXE_FF[13],
|
4222 |
|
|
EXE_FF[12], EXE_FF[11], EXE_FF[10], EXE_FF[9], EXE_FF[8], EXE_FF[7],
|
4223 |
|
|
EXE_FF[6], EXE_FF[5], EXE_FF[4], EXE_FF[3], EXE_FF[2], EXE_FF[1],
|
4224 |
|
|
EXE_FF[0]}));
|
4225 |
|
|
REG32 X1I352 (.CLK(CLK1), .EN(GLB_EN), .I({MEM_RES[31], MEM_RES[30],
|
4226 |
|
|
MEM_RES[29], MEM_RES[28], MEM_RES[27], MEM_RES[26], MEM_RES[25],
|
4227 |
|
|
MEM_RES[24], MEM_RES[23], MEM_RES[22], MEM_RES[21], MEM_RES[20],
|
4228 |
|
|
MEM_RES[19], MEM_RES[18], MEM_RES[17], MEM_RES[16], MEM_RES[15],
|
4229 |
|
|
MEM_RES[14], MEM_RES[13], MEM_RES[12], MEM_RES[11], MEM_RES[10],
|
4230 |
|
|
MEM_RES[9], MEM_RES[8], MEM_RES[7], MEM_RES[6], MEM_RES[5], MEM_RES[4],
|
4231 |
|
|
MEM_RES[3], MEM_RES[2], MEM_RES[1], MEM_RES[0]}), .O({MEM_FF[31],
|
4232 |
|
|
MEM_FF[30], MEM_FF[29], MEM_FF[28], MEM_FF[27], MEM_FF[26], MEM_FF[25],
|
4233 |
|
|
MEM_FF[24], MEM_FF[23], MEM_FF[22], MEM_FF[21], MEM_FF[20], MEM_FF[19],
|
4234 |
|
|
MEM_FF[18], MEM_FF[17], MEM_FF[16], MEM_FF[15], MEM_FF[14], MEM_FF[13],
|
4235 |
|
|
MEM_FF[12], MEM_FF[11], MEM_FF[10], MEM_FF[9], MEM_FF[8], MEM_FF[7],
|
4236 |
|
|
MEM_FF[6], MEM_FF[5], MEM_FF[4], MEM_FF[3], MEM_FF[2], MEM_FF[1],
|
4237 |
|
|
MEM_FF[0]}));
|
4238 |
|
|
PC32 X1I355 (.CLK(CLK2), .EN(GLB_EN), .I({NOTSYSCALLPC[31],
|
4239 |
|
|
NOTSYSCALLPC[30], NOTSYSCALLPC[29], NOTSYSCALLPC[28], NOTSYSCALLPC[27],
|
4240 |
|
|
NOTSYSCALLPC[26], NOTSYSCALLPC[25], NOTSYSCALLPC[24], NOTSYSCALLPC[23],
|
4241 |
|
|
NOTSYSCALLPC[22], NOTSYSCALLPC[21], NOTSYSCALLPC[20], NOTSYSCALLPC[19],
|
4242 |
|
|
NOTSYSCALLPC[18], NOTSYSCALLPC[17], NOTSYSCALLPC[16], NOTSYSCALLPC[15],
|
4243 |
|
|
NOTSYSCALLPC[14], NOTSYSCALLPC[13], NOTSYSCALLPC[12], NOTSYSCALLPC[11],
|
4244 |
|
|
NOTSYSCALLPC[10], NOTSYSCALLPC[9], NOTSYSCALLPC[8], NOTSYSCALLPC[7],
|
4245 |
|
|
NOTSYSCALLPC[6], NOTSYSCALLPC[5], NOTSYSCALLPC[4], NOTSYSCALLPC[3],
|
4246 |
|
|
NOTSYSCALLPC[2], NOTSYSCALLPC[1], NOTSYSCALLPC[0]}), .O({PC[31], PC[30]
|
4247 |
|
|
, PC[29], PC[28], PC[27], PC[26], PC[25], PC[24], PC[23], PC[22], PC[21]
|
4248 |
|
|
, PC[20], PC[19], PC[18], PC[17], PC[16], PC[15], PC[14], PC[13], PC[12]
|
4249 |
|
|
, PC[11], PC[10], PC[9], PC[8], PC[7], PC[6], PC[5], PC[4], PC[3], PC[2]
|
4250 |
|
|
, PC[1], PC[0]}));
|
4251 |
|
|
REG6 X1I3555 (.CLK(CLK1), .EN(X1N4067), .I({CP0_INDEX_NEXT[5],
|
4252 |
|
|
CP0_INDEX_NEXT[4], CP0_INDEX_NEXT[3], CP0_INDEX_NEXT[2],
|
4253 |
|
|
CP0_INDEX_NEXT[1], CP0_INDEX_NEXT[0]}), .O({INDEX[13], INDEX[12],
|
4254 |
|
|
INDEX[11], INDEX[10], INDEX[9], INDEX[8]}), .RES(X1N3557));
|
4255 |
|
|
GND X1I3556 (.G(X1N3557));
|
4256 |
|
|
CACHE X1I3587 (.ADDRESS({EXE_FF[11], EXE_FF[10], EXE_FF[9], EXE_FF[8],
|
4257 |
|
|
EXE_FF[7], EXE_FF[6], EXE_FF[5], EXE_FF[4], EXE_FF[3], EXE_FF[2]}), .CLK
|
4258 |
|
|
(CLK1), .DATAIN({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29],
|
4259 |
|
|
CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25],
|
4260 |
|
|
CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21],
|
4261 |
|
|
CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17],
|
4262 |
|
|
CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13],
|
4263 |
|
|
CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8]
|
4264 |
|
|
, CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3],
|
4265 |
|
|
CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}), .DATA({CACHE_OUT[31],
|
4266 |
|
|
CACHE_OUT[30], CACHE_OUT[29], CACHE_OUT[28], CACHE_OUT[27],
|
4267 |
|
|
CACHE_OUT[26], CACHE_OUT[25], CACHE_OUT[24], CACHE_OUT[23],
|
4268 |
|
|
CACHE_OUT[22], CACHE_OUT[21], CACHE_OUT[20], CACHE_OUT[19],
|
4269 |
|
|
CACHE_OUT[18], CACHE_OUT[17], CACHE_OUT[16], CACHE_OUT[15],
|
4270 |
|
|
CACHE_OUT[14], CACHE_OUT[13], CACHE_OUT[12], CACHE_OUT[11],
|
4271 |
|
|
CACHE_OUT[10], CACHE_OUT[9], CACHE_OUT[8], CACHE_OUT[7], CACHE_OUT[6],
|
4272 |
|
|
CACHE_OUT[5], CACHE_OUT[4], CACHE_OUT[3], CACHE_OUT[2], CACHE_OUT[1],
|
4273 |
|
|
CACHE_OUT[0]}), .HIT(X1N4431), .PFNIN({DATA_PFN[19], DATA_PFN[18],
|
4274 |
|
|
DATA_PFN[17], DATA_PFN[16], DATA_PFN[15], DATA_PFN[14], DATA_PFN[13],
|
4275 |
|
|
DATA_PFN[12], DATA_PFN[11], DATA_PFN[10], DATA_PFN[9], DATA_PFN[8],
|
4276 |
|
|
DATA_PFN[7], DATA_PFN[6], DATA_PFN[5], DATA_PFN[4], DATA_PFN[3],
|
4277 |
|
|
DATA_PFN[2], DATA_PFN[1], DATA_PFN[0]}), .WRITE(X1N3817));
|
4278 |
|
|
BUFE32 X1I3588 (.E(X1N3655), .I({CACHE_OUT[31], CACHE_OUT[30],
|
4279 |
|
|
CACHE_OUT[29], CACHE_OUT[28], CACHE_OUT[27], CACHE_OUT[26],
|
4280 |
|
|
CACHE_OUT[25], CACHE_OUT[24], CACHE_OUT[23], CACHE_OUT[22],
|
4281 |
|
|
CACHE_OUT[21], CACHE_OUT[20], CACHE_OUT[19], CACHE_OUT[18],
|
4282 |
|
|
CACHE_OUT[17], CACHE_OUT[16], CACHE_OUT[15], CACHE_OUT[14],
|
4283 |
|
|
CACHE_OUT[13], CACHE_OUT[12], CACHE_OUT[11], CACHE_OUT[10], CACHE_OUT[9]
|
4284 |
|
|
, CACHE_OUT[8], CACHE_OUT[7], CACHE_OUT[6], CACHE_OUT[5], CACHE_OUT[4],
|
4285 |
|
|
CACHE_OUT[3], CACHE_OUT[2], CACHE_OUT[1], CACHE_OUT[0]}), .O({
|
4286 |
|
|
CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28],
|
4287 |
|
|
CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24],
|
4288 |
|
|
CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20],
|
4289 |
|
|
CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16],
|
4290 |
|
|
CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12],
|
4291 |
|
|
CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7],
|
4292 |
|
|
CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2],
|
4293 |
|
|
CACHE_DAT[1], CACHE_DAT[0]}));
|
4294 |
|
|
CACHE X1I3595 (.ADDRESS({PC[11], PC[10], PC[9], PC[8], PC[7], PC[6], PC[5]
|
4295 |
|
|
, PC[4], PC[3], PC[2]}), .CLK(CLK2), .DATAIN({MEM_DAT[31], MEM_DAT[30],
|
4296 |
|
|
MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25],
|
4297 |
|
|
MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20],
|
4298 |
|
|
MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15],
|
4299 |
|
|
MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10],
|
4300 |
|
|
MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4],
|
4301 |
|
|
MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .DATA({
|
4302 |
|
|
CACHE_INSTRUCTION_PRE_DAT[31], CACHE_INSTRUCTION_PRE_DAT[30],
|
4303 |
|
|
CACHE_INSTRUCTION_PRE_DAT[29], CACHE_INSTRUCTION_PRE_DAT[28],
|
4304 |
|
|
CACHE_INSTRUCTION_PRE_DAT[27], CACHE_INSTRUCTION_PRE_DAT[26],
|
4305 |
|
|
CACHE_INSTRUCTION_PRE_DAT[25], CACHE_INSTRUCTION_PRE_DAT[24],
|
4306 |
|
|
CACHE_INSTRUCTION_PRE_DAT[23], CACHE_INSTRUCTION_PRE_DAT[22],
|
4307 |
|
|
CACHE_INSTRUCTION_PRE_DAT[21], CACHE_INSTRUCTION_PRE_DAT[20],
|
4308 |
|
|
CACHE_INSTRUCTION_PRE_DAT[19], CACHE_INSTRUCTION_PRE_DAT[18],
|
4309 |
|
|
CACHE_INSTRUCTION_PRE_DAT[17], CACHE_INSTRUCTION_PRE_DAT[16],
|
4310 |
|
|
CACHE_INSTRUCTION_PRE_DAT[15], CACHE_INSTRUCTION_PRE_DAT[14],
|
4311 |
|
|
CACHE_INSTRUCTION_PRE_DAT[13], CACHE_INSTRUCTION_PRE_DAT[12],
|
4312 |
|
|
CACHE_INSTRUCTION_PRE_DAT[11], CACHE_INSTRUCTION_PRE_DAT[10],
|
4313 |
|
|
CACHE_INSTRUCTION_PRE_DAT[9], CACHE_INSTRUCTION_PRE_DAT[8],
|
4314 |
|
|
CACHE_INSTRUCTION_PRE_DAT[7], CACHE_INSTRUCTION_PRE_DAT[6],
|
4315 |
|
|
CACHE_INSTRUCTION_PRE_DAT[5], CACHE_INSTRUCTION_PRE_DAT[4],
|
4316 |
|
|
CACHE_INSTRUCTION_PRE_DAT[3], CACHE_INSTRUCTION_PRE_DAT[2],
|
4317 |
|
|
CACHE_INSTRUCTION_PRE_DAT[1], CACHE_INSTRUCTION_PRE_DAT[0]}), .HIT
|
4318 |
|
|
(INST_CACHE_HIT), .PFNIN({INST_PFN[19], INST_PFN[18], INST_PFN[17],
|
4319 |
|
|
INST_PFN[16], INST_PFN[15], INST_PFN[14], INST_PFN[13], INST_PFN[12],
|
4320 |
|
|
INST_PFN[11], INST_PFN[10], INST_PFN[9], INST_PFN[8], INST_PFN[7],
|
4321 |
|
|
INST_PFN[6], INST_PFN[5], INST_PFN[4], INST_PFN[3], INST_PFN[2],
|
4322 |
|
|
INST_PFN[1], INST_PFN[0]}), .WRITE(X1N5076));
|
4323 |
|
|
BUFE32 X1I3610 (.E(MEM_WRITE), .I({CACHE_DAT[31], CACHE_DAT[30],
|
4324 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
4325 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4326 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
4327 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
4328 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4329 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
4330 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}), .O({
|
4331 |
|
|
MEM_DAT[31], MEM_DAT[30], MEM_DAT[29], MEM_DAT[28], MEM_DAT[27],
|
4332 |
|
|
MEM_DAT[26], MEM_DAT[25], MEM_DAT[24], MEM_DAT[23], MEM_DAT[22],
|
4333 |
|
|
MEM_DAT[21], MEM_DAT[20], MEM_DAT[19], MEM_DAT[18], MEM_DAT[17],
|
4334 |
|
|
MEM_DAT[16], MEM_DAT[15], MEM_DAT[14], MEM_DAT[13], MEM_DAT[12],
|
4335 |
|
|
MEM_DAT[11], MEM_DAT[10], MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6]
|
4336 |
|
|
, MEM_DAT[5], MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]
|
4337 |
|
|
}));
|
4338 |
|
|
BUFE32 X1I3615 (.E(X1N4234), .I({MEM_DAT[31], MEM_DAT[30], MEM_DAT[29],
|
4339 |
|
|
MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25], MEM_DAT[24],
|
4340 |
|
|
MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20], MEM_DAT[19],
|
4341 |
|
|
MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15], MEM_DAT[14],
|
4342 |
|
|
MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10], MEM_DAT[9],
|
4343 |
|
|
MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4], MEM_DAT[3],
|
4344 |
|
|
MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .O({CACHE_INST_DAT[31],
|
4345 |
|
|
CACHE_INST_DAT[30], CACHE_INST_DAT[29], CACHE_INST_DAT[28],
|
4346 |
|
|
CACHE_INST_DAT[27], CACHE_INST_DAT[26], CACHE_INST_DAT[25],
|
4347 |
|
|
CACHE_INST_DAT[24], CACHE_INST_DAT[23], CACHE_INST_DAT[22],
|
4348 |
|
|
CACHE_INST_DAT[21], CACHE_INST_DAT[20], CACHE_INST_DAT[19],
|
4349 |
|
|
CACHE_INST_DAT[18], CACHE_INST_DAT[17], CACHE_INST_DAT[16],
|
4350 |
|
|
CACHE_INST_DAT[15], CACHE_INST_DAT[14], CACHE_INST_DAT[13],
|
4351 |
|
|
CACHE_INST_DAT[12], CACHE_INST_DAT[11], CACHE_INST_DAT[10],
|
4352 |
|
|
CACHE_INST_DAT[9], CACHE_INST_DAT[8], CACHE_INST_DAT[7],
|
4353 |
|
|
CACHE_INST_DAT[6], CACHE_INST_DAT[5], CACHE_INST_DAT[4],
|
4354 |
|
|
CACHE_INST_DAT[3], CACHE_INST_DAT[2], CACHE_INST_DAT[1],
|
4355 |
|
|
CACHE_INST_DAT[0]}));
|
4356 |
|
|
BUFE32 X1I3627 (.E(X1N6631), .I({MEM_DAT[31], MEM_DAT[30], MEM_DAT[29],
|
4357 |
|
|
MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25], MEM_DAT[24],
|
4358 |
|
|
MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20], MEM_DAT[19],
|
4359 |
|
|
MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15], MEM_DAT[14],
|
4360 |
|
|
MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10], MEM_DAT[9],
|
4361 |
|
|
MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4], MEM_DAT[3],
|
4362 |
|
|
MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .O({CACHE_DAT[31], CACHE_DAT[30],
|
4363 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
4364 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4365 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
4366 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
4367 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4368 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
4369 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
4370 |
|
|
AND3B1 X1I3654 (.I0(MEM_WRITE_SOON), .I1(CACHE), .I2(DATA_CACHE_HIT), .O
|
4371 |
|
|
(X1N3655));
|
4372 |
|
|
FDR X1I3684 (.C(CLK2), .D(X1N3715), .Q(INST_MEM_ACCESS), .R(X1N4234));
|
4373 |
|
|
AND2B1 X1I3714 (.I0(X1N4234), .I1(X1N3715), .O(HALT0));
|
4374 |
|
|
FD X1I3720 (.C(ILL_DAMN_WELL_CONNECT_IT_TO_THE_CLOCK), .D(CLK1_NBUF), .Q
|
4375 |
|
|
(X1N3738));
|
4376 |
|
|
OR4 X1I3727 (.I0(HALT0), .I1(HALT1), .I2(HALT2), .I3(HALT3), .O
|
4377 |
|
|
(ILL_DAMN_WELL_CONNECT_IT_TO_THE_CLOCK));
|
4378 |
|
|
SOP3 X1I3729 (.I0(X1N3730), .I1(X1N3744), .I2
|
4379 |
|
|
(ILL_DAMN_WELL_CONNECT_IT_TO_THE_CLOCK), .O(X1N3730));
|
4380 |
|
|
SOP3 X1I3734 (.I0(X1N3730), .I1(X1N3741), .I2
|
4381 |
|
|
(ILL_DAMN_WELL_CONNECT_IT_TO_THE_CLOCK), .O(X1N3744));
|
4382 |
|
|
XOR2 X1I3737 (.I0(X1N3738), .I1(CLK1_NBUF), .O(X1N3741));
|
4383 |
|
|
OR2 X1I3749 (.I0(INST_MEM_ACCESS), .I1(X1N3683), .O(X1N3715));
|
4384 |
|
|
AND4B2 X1I3759 (.I0(DATA_CACHE_HIT), .I1(FLUSH), .I2(CACHE), .I3(X1N5147)
|
4385 |
|
|
, .O(X1N3766));
|
4386 |
|
|
OR3 X1I3761 (.I0(DATA_MEM_ACCESS), .I1(X1N3766), .I2(X1N3834), .O(X1N3641)
|
4387 |
|
|
);
|
4388 |
|
|
AND2B1 X1I3763 (.I0(X1N3757), .I1(X1N3641), .O(HALT1));
|
4389 |
|
|
FDR X1I3774 (.C(CLK1), .D(X1N3641), .Q(DATA_MEM_ACCESS), .R(X1N3757));
|
4390 |
|
|
FDR X1I3797 (.C(CLK1), .D(X1N3798), .Q(MEM_WRITE), .R(X1N3757));
|
4391 |
|
|
AND2B1 X1I3805 (.I0(MEM_WRITE_SOON), .I1(X1N3798), .O(END_READ));
|
4392 |
|
|
OR2 X1I3808 (.I0(END_WRITE), .I1(END_READ), .O(X1N3757));
|
4393 |
|
|
OR2 X1I3836 (.I0(X1N3837), .I1(X1N3834), .O(X1N3798));
|
4394 |
|
|
AND2B1 X1I3842 (.I0(MEM_WRITE), .I1(X1N3837), .O(END_READ_B4_WRITE));
|
4395 |
|
|
OR3 X1I3848 (.I0(END_READ_B4_WRITE), .I1(END_READ), .I2(END_WRITE), .O
|
4396 |
|
|
(X1N3817));
|
4397 |
|
|
MMU X1I3860 (.CLK(CLK2), .DIRTY(MMU_DIRTY), .ENTRY_HI({CP0_ENTRY_LO[31],
|
4398 |
|
|
CP0_ENTRY_LO[30], CP0_ENTRY_LO[29], CP0_ENTRY_LO[28], CP0_ENTRY_LO[27],
|
4399 |
|
|
CP0_ENTRY_LO[26], CP0_ENTRY_LO[25], CP0_ENTRY_LO[24], CP0_ENTRY_LO[23],
|
4400 |
|
|
CP0_ENTRY_LO[22], CP0_ENTRY_LO[21], CP0_ENTRY_LO[20], CP0_ENTRY_LO[19],
|
4401 |
|
|
CP0_ENTRY_LO[18], CP0_ENTRY_LO[17], CP0_ENTRY_LO[16], CP0_ENTRY_LO[15],
|
4402 |
|
|
CP0_ENTRY_LO[14], CP0_ENTRY_LO[13], CP0_ENTRY_LO[12], CP0_ENTRY_LO[11],
|
4403 |
|
|
CP0_ENTRY_LO[10], CP0_ENTRY_LO[9], CP0_ENTRY_LO[8], CP0_ENTRY_LO[7],
|
4404 |
|
|
CP0_ENTRY_LO[6], CP0_ENTRY_LO[5], CP0_ENTRY_LO[4], CP0_ENTRY_LO[3],
|
4405 |
|
|
CP0_ENTRY_LO[2], CP0_ENTRY_LO[1], CP0_ENTRY_LO[0]}), .ENTRY_HI_OUT({
|
4406 |
|
|
MMU_ENTRY_HI[31], MMU_ENTRY_HI[30], MMU_ENTRY_HI[29], MMU_ENTRY_HI[28],
|
4407 |
|
|
MMU_ENTRY_HI[27], MMU_ENTRY_HI[26], MMU_ENTRY_HI[25], MMU_ENTRY_HI[24],
|
4408 |
|
|
MMU_ENTRY_HI[23], MMU_ENTRY_HI[22], MMU_ENTRY_HI[21], MMU_ENTRY_HI[20],
|
4409 |
|
|
MMU_ENTRY_HI[19], MMU_ENTRY_HI[18], MMU_ENTRY_HI[17], MMU_ENTRY_HI[16],
|
4410 |
|
|
MMU_ENTRY_HI[15], MMU_ENTRY_HI[14], MMU_ENTRY_HI[13], MMU_ENTRY_HI[12],
|
4411 |
|
|
MMU_ENTRY_HI[11], MMU_ENTRY_HI[10], MMU_ENTRY_HI[9], MMU_ENTRY_HI[8],
|
4412 |
|
|
MMU_ENTRY_HI[7], MMU_ENTRY_HI[6], MMU_ENTRY_HI[5], MMU_ENTRY_HI[4],
|
4413 |
|
|
MMU_ENTRY_HI[3], MMU_ENTRY_HI[2], MMU_ENTRY_HI[1], MMU_ENTRY_HI[0]}),
|
4414 |
|
|
.ENTRY_LO({CP0_ENTRY_HI[31], CP0_ENTRY_HI[30], CP0_ENTRY_HI[29],
|
4415 |
|
|
CP0_ENTRY_HI[28], CP0_ENTRY_HI[27], CP0_ENTRY_HI[26], CP0_ENTRY_HI[25],
|
4416 |
|
|
CP0_ENTRY_HI[24], CP0_ENTRY_HI[23], CP0_ENTRY_HI[22], CP0_ENTRY_HI[21],
|
4417 |
|
|
CP0_ENTRY_HI[20], CP0_ENTRY_HI[19], CP0_ENTRY_HI[18], CP0_ENTRY_HI[17],
|
4418 |
|
|
CP0_ENTRY_HI[16], CP0_ENTRY_HI[15], CP0_ENTRY_HI[14], CP0_ENTRY_HI[13],
|
4419 |
|
|
CP0_ENTRY_HI[12], CP0_ENTRY_HI[11], CP0_ENTRY_HI[10], CP0_ENTRY_HI[9],
|
4420 |
|
|
CP0_ENTRY_HI[8], CP0_ENTRY_HI[7], CP0_ENTRY_HI[6], CP0_ENTRY_HI[5],
|
4421 |
|
|
CP0_ENTRY_HI[4], CP0_ENTRY_HI[3], CP0_ENTRY_HI[2], CP0_ENTRY_HI[1],
|
4422 |
|
|
CP0_ENTRY_HI[0]}), .ENTRY_LO_OUT({MMU_ENTRY_LO[31], MMU_ENTRY_LO[30],
|
4423 |
|
|
MMU_ENTRY_LO[29], MMU_ENTRY_LO[28], MMU_ENTRY_LO[27], MMU_ENTRY_LO[26],
|
4424 |
|
|
MMU_ENTRY_LO[25], MMU_ENTRY_LO[24], MMU_ENTRY_LO[23], MMU_ENTRY_LO[22],
|
4425 |
|
|
MMU_ENTRY_LO[21], MMU_ENTRY_LO[20], MMU_ENTRY_LO[19], MMU_ENTRY_LO[18],
|
4426 |
|
|
MMU_ENTRY_LO[17], MMU_ENTRY_LO[16], MMU_ENTRY_LO[15], MMU_ENTRY_LO[14],
|
4427 |
|
|
MMU_ENTRY_LO[13], MMU_ENTRY_LO[12], MMU_ENTRY_LO[11], MMU_ENTRY_LO[10],
|
4428 |
|
|
MMU_ENTRY_LO[9], MMU_ENTRY_LO[8], MMU_ENTRY_LO[7], MMU_ENTRY_LO[6],
|
4429 |
|
|
MMU_ENTRY_LO[5], MMU_ENTRY_LO[4], MMU_ENTRY_LO[3], MMU_ENTRY_LO[2],
|
4430 |
|
|
MMU_ENTRY_LO[1], MMU_ENTRY_LO[0]}), .HIT(MMU_HIT), .HIT_BUT_NOT_VALID
|
4431 |
|
|
(X1N5060), .INDEX_IN({MMU_INDEX[5], MMU_INDEX[4], MMU_INDEX[3],
|
4432 |
|
|
MMU_INDEX[2], MMU_INDEX[1], MMU_INDEX[0]}), .INDEX_OUT({MMU_INDEX_OUT[5]
|
4433 |
|
|
, MMU_INDEX_OUT[4], MMU_INDEX_OUT[3], MMU_INDEX_OUT[2], MMU_INDEX_OUT[1]
|
4434 |
|
|
, MMU_INDEX_OUT[0]}), .LOOK_UP(X1N4176), .NO_CACHE(MMU_DONT_CACHE),
|
4435 |
|
|
.PFN({MMU_PFN[19], MMU_PFN[18], MMU_PFN[17], MMU_PFN[16], MMU_PFN[15],
|
4436 |
|
|
MMU_PFN[14], MMU_PFN[13], MMU_PFN[12], MMU_PFN[11], MMU_PFN[10],
|
4437 |
|
|
MMU_PFN[9], MMU_PFN[8], MMU_PFN[7], MMU_PFN[6], MMU_PFN[5], MMU_PFN[4],
|
4438 |
|
|
MMU_PFN[3], MMU_PFN[2], MMU_PFN[1], MMU_PFN[0]}), .READ(X1N4177),
|
4439 |
|
|
.VPN_INTO({MMU_VPN[19], MMU_VPN[18], MMU_VPN[17], MMU_VPN[16],
|
4440 |
|
|
MMU_VPN[15], MMU_VPN[14], MMU_VPN[13], MMU_VPN[12], MMU_VPN[11],
|
4441 |
|
|
MMU_VPN[10], MMU_VPN[9], MMU_VPN[8], MMU_VPN[7], MMU_VPN[6], MMU_VPN[5]
|
4442 |
|
|
, MMU_VPN[4], MMU_VPN[3], MMU_VPN[2], MMU_VPN[1], MMU_VPN[0]}),
|
4443 |
|
|
.WRITE_IN(MMU_TLB_WRITE));
|
4444 |
|
|
BUFT32 X1I3867 (.I({CACHE_INSTRUCTION_PRE_DAT[31],
|
4445 |
|
|
CACHE_INSTRUCTION_PRE_DAT[30], CACHE_INSTRUCTION_PRE_DAT[29],
|
4446 |
|
|
CACHE_INSTRUCTION_PRE_DAT[28], CACHE_INSTRUCTION_PRE_DAT[27],
|
4447 |
|
|
CACHE_INSTRUCTION_PRE_DAT[26], CACHE_INSTRUCTION_PRE_DAT[25],
|
4448 |
|
|
CACHE_INSTRUCTION_PRE_DAT[24], CACHE_INSTRUCTION_PRE_DAT[23],
|
4449 |
|
|
CACHE_INSTRUCTION_PRE_DAT[22], CACHE_INSTRUCTION_PRE_DAT[21],
|
4450 |
|
|
CACHE_INSTRUCTION_PRE_DAT[20], CACHE_INSTRUCTION_PRE_DAT[19],
|
4451 |
|
|
CACHE_INSTRUCTION_PRE_DAT[18], CACHE_INSTRUCTION_PRE_DAT[17],
|
4452 |
|
|
CACHE_INSTRUCTION_PRE_DAT[16], CACHE_INSTRUCTION_PRE_DAT[15],
|
4453 |
|
|
CACHE_INSTRUCTION_PRE_DAT[14], CACHE_INSTRUCTION_PRE_DAT[13],
|
4454 |
|
|
CACHE_INSTRUCTION_PRE_DAT[12], CACHE_INSTRUCTION_PRE_DAT[11],
|
4455 |
|
|
CACHE_INSTRUCTION_PRE_DAT[10], CACHE_INSTRUCTION_PRE_DAT[9],
|
4456 |
|
|
CACHE_INSTRUCTION_PRE_DAT[8], CACHE_INSTRUCTION_PRE_DAT[7],
|
4457 |
|
|
CACHE_INSTRUCTION_PRE_DAT[6], CACHE_INSTRUCTION_PRE_DAT[5],
|
4458 |
|
|
CACHE_INSTRUCTION_PRE_DAT[4], CACHE_INSTRUCTION_PRE_DAT[3],
|
4459 |
|
|
CACHE_INSTRUCTION_PRE_DAT[2], CACHE_INSTRUCTION_PRE_DAT[1],
|
4460 |
|
|
CACHE_INSTRUCTION_PRE_DAT[0]}), .O({CACHE_INST_DAT[31],
|
4461 |
|
|
CACHE_INST_DAT[30], CACHE_INST_DAT[29], CACHE_INST_DAT[28],
|
4462 |
|
|
CACHE_INST_DAT[27], CACHE_INST_DAT[26], CACHE_INST_DAT[25],
|
4463 |
|
|
CACHE_INST_DAT[24], CACHE_INST_DAT[23], CACHE_INST_DAT[22],
|
4464 |
|
|
CACHE_INST_DAT[21], CACHE_INST_DAT[20], CACHE_INST_DAT[19],
|
4465 |
|
|
CACHE_INST_DAT[18], CACHE_INST_DAT[17], CACHE_INST_DAT[16],
|
4466 |
|
|
CACHE_INST_DAT[15], CACHE_INST_DAT[14], CACHE_INST_DAT[13],
|
4467 |
|
|
CACHE_INST_DAT[12], CACHE_INST_DAT[11], CACHE_INST_DAT[10],
|
4468 |
|
|
CACHE_INST_DAT[9], CACHE_INST_DAT[8], CACHE_INST_DAT[7],
|
4469 |
|
|
CACHE_INST_DAT[6], CACHE_INST_DAT[5], CACHE_INST_DAT[4],
|
4470 |
|
|
CACHE_INST_DAT[3], CACHE_INST_DAT[2], CACHE_INST_DAT[1],
|
4471 |
|
|
CACHE_INST_DAT[0]}), .T(X1N4234));
|
4472 |
|
|
MUX2_1X32 X1I389 (.A({IMM[31], IMM[30], IMM[29], IMM[28], IMM[27], IMM[26]
|
4473 |
|
|
, IMM[25], IMM[24], IMM[23], IMM[22], IMM[21], IMM[20], IMM[19], IMM[18]
|
4474 |
|
|
, IMM[17], IMM[16], IMM[15], IMM[14], IMM[13], IMM[12], IMM[11], IMM[10]
|
4475 |
|
|
, IMM[9], IMM[8], IMM[7], IMM[6], IMM[5], IMM[4], IMM[3], IMM[2], IMM[1]
|
4476 |
|
|
, IMM[0]}), .B({REG_B_EXE_FF[31], REG_B_EXE_FF[30], REG_B_EXE_FF[29],
|
4477 |
|
|
REG_B_EXE_FF[28], REG_B_EXE_FF[27], REG_B_EXE_FF[26], REG_B_EXE_FF[25],
|
4478 |
|
|
REG_B_EXE_FF[24], REG_B_EXE_FF[23], REG_B_EXE_FF[22], REG_B_EXE_FF[21],
|
4479 |
|
|
REG_B_EXE_FF[20], REG_B_EXE_FF[19], REG_B_EXE_FF[18], REG_B_EXE_FF[17],
|
4480 |
|
|
REG_B_EXE_FF[16], REG_B_EXE_FF[15], REG_B_EXE_FF[14], REG_B_EXE_FF[13],
|
4481 |
|
|
REG_B_EXE_FF[12], REG_B_EXE_FF[11], REG_B_EXE_FF[10], REG_B_EXE_FF[9],
|
4482 |
|
|
REG_B_EXE_FF[8], REG_B_EXE_FF[7], REG_B_EXE_FF[6], REG_B_EXE_FF[5],
|
4483 |
|
|
REG_B_EXE_FF[4], REG_B_EXE_FF[3], REG_B_EXE_FF[2], REG_B_EXE_FF[1],
|
4484 |
|
|
REG_B_EXE_FF[0]}), .SB(SPECIAL_EXE), .S({B_EXE_INPUT[31],
|
4485 |
|
|
B_EXE_INPUT[30], B_EXE_INPUT[29], B_EXE_INPUT[28], B_EXE_INPUT[27],
|
4486 |
|
|
B_EXE_INPUT[26], B_EXE_INPUT[25], B_EXE_INPUT[24], B_EXE_INPUT[23],
|
4487 |
|
|
B_EXE_INPUT[22], B_EXE_INPUT[21], B_EXE_INPUT[20], B_EXE_INPUT[19],
|
4488 |
|
|
B_EXE_INPUT[18], B_EXE_INPUT[17], B_EXE_INPUT[16], B_EXE_INPUT[15],
|
4489 |
|
|
B_EXE_INPUT[14], B_EXE_INPUT[13], B_EXE_INPUT[12], B_EXE_INPUT[11],
|
4490 |
|
|
B_EXE_INPUT[10], B_EXE_INPUT[9], B_EXE_INPUT[8], B_EXE_INPUT[7],
|
4491 |
|
|
B_EXE_INPUT[6], B_EXE_INPUT[5], B_EXE_INPUT[4], B_EXE_INPUT[3],
|
4492 |
|
|
B_EXE_INPUT[2], B_EXE_INPUT[1], B_EXE_INPUT[0]}));
|
4493 |
|
|
REG32 X1I394 (.CLK(CLK1), .EN(GLB_EN), .I({REG_B_EXE_FF[31],
|
4494 |
|
|
REG_B_EXE_FF[30], REG_B_EXE_FF[29], REG_B_EXE_FF[28], REG_B_EXE_FF[27],
|
4495 |
|
|
REG_B_EXE_FF[26], REG_B_EXE_FF[25], REG_B_EXE_FF[24], REG_B_EXE_FF[23],
|
4496 |
|
|
REG_B_EXE_FF[22], REG_B_EXE_FF[21], REG_B_EXE_FF[20], REG_B_EXE_FF[19],
|
4497 |
|
|
REG_B_EXE_FF[18], REG_B_EXE_FF[17], REG_B_EXE_FF[16], REG_B_EXE_FF[15],
|
4498 |
|
|
REG_B_EXE_FF[14], REG_B_EXE_FF[13], REG_B_EXE_FF[12], REG_B_EXE_FF[11],
|
4499 |
|
|
REG_B_EXE_FF[10], REG_B_EXE_FF[9], REG_B_EXE_FF[8], REG_B_EXE_FF[7],
|
4500 |
|
|
REG_B_EXE_FF[6], REG_B_EXE_FF[5], REG_B_EXE_FF[4], REG_B_EXE_FF[3],
|
4501 |
|
|
REG_B_EXE_FF[2], REG_B_EXE_FF[1], REG_B_EXE_FF[0]}), .O({REG_B_MEM[31],
|
4502 |
|
|
REG_B_MEM[30], REG_B_MEM[29], REG_B_MEM[28], REG_B_MEM[27],
|
4503 |
|
|
REG_B_MEM[26], REG_B_MEM[25], REG_B_MEM[24], REG_B_MEM[23],
|
4504 |
|
|
REG_B_MEM[22], REG_B_MEM[21], REG_B_MEM[20], REG_B_MEM[19],
|
4505 |
|
|
REG_B_MEM[18], REG_B_MEM[17], REG_B_MEM[16], REG_B_MEM[15],
|
4506 |
|
|
REG_B_MEM[14], REG_B_MEM[13], REG_B_MEM[12], REG_B_MEM[11],
|
4507 |
|
|
REG_B_MEM[10], REG_B_MEM[9], REG_B_MEM[8], REG_B_MEM[7], REG_B_MEM[6],
|
4508 |
|
|
REG_B_MEM[5], REG_B_MEM[4], REG_B_MEM[3], REG_B_MEM[2], REG_B_MEM[1],
|
4509 |
|
|
REG_B_MEM[0]}));
|
4510 |
|
|
REG32 X1I4007 (.CLK(CLK1), .EN(X1N4042), .I({CP0_ENTRY_LO_NEXT[31],
|
4511 |
|
|
CP0_ENTRY_LO_NEXT[30], CP0_ENTRY_LO_NEXT[29], CP0_ENTRY_LO_NEXT[28],
|
4512 |
|
|
CP0_ENTRY_LO_NEXT[27], CP0_ENTRY_LO_NEXT[26], CP0_ENTRY_LO_NEXT[25],
|
4513 |
|
|
CP0_ENTRY_LO_NEXT[24], CP0_ENTRY_LO_NEXT[23], CP0_ENTRY_LO_NEXT[22],
|
4514 |
|
|
CP0_ENTRY_LO_NEXT[21], CP0_ENTRY_LO_NEXT[20], CP0_ENTRY_LO_NEXT[19],
|
4515 |
|
|
CP0_ENTRY_LO_NEXT[18], CP0_ENTRY_LO_NEXT[17], CP0_ENTRY_LO_NEXT[16],
|
4516 |
|
|
CP0_ENTRY_LO_NEXT[15], CP0_ENTRY_LO_NEXT[14], CP0_ENTRY_LO_NEXT[13],
|
4517 |
|
|
CP0_ENTRY_LO_NEXT[12], CP0_ENTRY_LO_NEXT[11], CP0_ENTRY_LO_NEXT[10],
|
4518 |
|
|
CP0_ENTRY_LO_NEXT[9], CP0_ENTRY_LO_NEXT[8], CP0_ENTRY_LO_NEXT[7],
|
4519 |
|
|
CP0_ENTRY_LO_NEXT[6], CP0_ENTRY_LO_NEXT[5], CP0_ENTRY_LO_NEXT[4],
|
4520 |
|
|
CP0_ENTRY_LO_NEXT[3], CP0_ENTRY_LO_NEXT[2], CP0_ENTRY_LO_NEXT[1],
|
4521 |
|
|
CP0_ENTRY_LO_NEXT[0]}), .O({CP0_ENTRY_LO[31], CP0_ENTRY_LO[30],
|
4522 |
|
|
CP0_ENTRY_LO[29], CP0_ENTRY_LO[28], CP0_ENTRY_LO[27], CP0_ENTRY_LO[26],
|
4523 |
|
|
CP0_ENTRY_LO[25], CP0_ENTRY_LO[24], CP0_ENTRY_LO[23], CP0_ENTRY_LO[22],
|
4524 |
|
|
CP0_ENTRY_LO[21], CP0_ENTRY_LO[20], CP0_ENTRY_LO[19], CP0_ENTRY_LO[18],
|
4525 |
|
|
CP0_ENTRY_LO[17], CP0_ENTRY_LO[16], CP0_ENTRY_LO[15], CP0_ENTRY_LO[14],
|
4526 |
|
|
CP0_ENTRY_LO[13], CP0_ENTRY_LO[12], CP0_ENTRY_LO[11], CP0_ENTRY_LO[10],
|
4527 |
|
|
CP0_ENTRY_LO[9], CP0_ENTRY_LO[8], CP0_ENTRY_LO[7], CP0_ENTRY_LO[6],
|
4528 |
|
|
CP0_ENTRY_LO[5], CP0_ENTRY_LO[4], CP0_ENTRY_LO[3], CP0_ENTRY_LO[2],
|
4529 |
|
|
CP0_ENTRY_LO[1], CP0_ENTRY_LO[0]}));
|
4530 |
|
|
BUFE32 X1I4015 (.E(CPO_READ_ENTRY_LO), .I({CP0_ENTRY_LO[31],
|
4531 |
|
|
CP0_ENTRY_LO[30], CP0_ENTRY_LO[29], CP0_ENTRY_LO[28], CP0_ENTRY_LO[27],
|
4532 |
|
|
CP0_ENTRY_LO[26], CP0_ENTRY_LO[25], CP0_ENTRY_LO[24], CP0_ENTRY_LO[23],
|
4533 |
|
|
CP0_ENTRY_LO[22], CP0_ENTRY_LO[21], CP0_ENTRY_LO[20], CP0_ENTRY_LO[19],
|
4534 |
|
|
CP0_ENTRY_LO[18], CP0_ENTRY_LO[17], CP0_ENTRY_LO[16], CP0_ENTRY_LO[15],
|
4535 |
|
|
CP0_ENTRY_LO[14], CP0_ENTRY_LO[13], CP0_ENTRY_LO[12], CP0_ENTRY_LO[11],
|
4536 |
|
|
CP0_ENTRY_LO[10], CP0_ENTRY_LO[9], CP0_ENTRY_LO[8], CP0_ENTRY_LO[7],
|
4537 |
|
|
CP0_ENTRY_LO[6], CP0_ENTRY_LO[5], CP0_ENTRY_LO[4], CP0_ENTRY_LO[3],
|
4538 |
|
|
CP0_ENTRY_LO[2], CP0_ENTRY_LO[1], CP0_ENTRY_LO[0]}), .O({CACHE_DAT[31],
|
4539 |
|
|
CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27],
|
4540 |
|
|
CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23],
|
4541 |
|
|
CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19],
|
4542 |
|
|
CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15],
|
4543 |
|
|
CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11],
|
4544 |
|
|
CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6],
|
4545 |
|
|
CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1],
|
4546 |
|
|
CACHE_DAT[0]}));
|
4547 |
|
|
MUX2_1X32 X1I4031 (.A({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29],
|
4548 |
|
|
CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25],
|
4549 |
|
|
CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21],
|
4550 |
|
|
CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17],
|
4551 |
|
|
CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13],
|
4552 |
|
|
CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8]
|
4553 |
|
|
, CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3],
|
4554 |
|
|
CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}), .B({MMU_ENTRY_HI[31],
|
4555 |
|
|
MMU_ENTRY_HI[30], MMU_ENTRY_HI[29], MMU_ENTRY_HI[28], MMU_ENTRY_HI[27],
|
4556 |
|
|
MMU_ENTRY_HI[26], MMU_ENTRY_HI[25], MMU_ENTRY_HI[24], MMU_ENTRY_HI[23],
|
4557 |
|
|
MMU_ENTRY_HI[22], MMU_ENTRY_HI[21], MMU_ENTRY_HI[20], MMU_ENTRY_HI[19],
|
4558 |
|
|
MMU_ENTRY_HI[18], MMU_ENTRY_HI[17], MMU_ENTRY_HI[16], MMU_ENTRY_HI[15],
|
4559 |
|
|
MMU_ENTRY_HI[14], MMU_ENTRY_HI[13], MMU_ENTRY_HI[12], MMU_ENTRY_HI[11],
|
4560 |
|
|
MMU_ENTRY_HI[10], MMU_ENTRY_HI[9], MMU_ENTRY_HI[8], MMU_ENTRY_HI[7],
|
4561 |
|
|
MMU_ENTRY_HI[6], MMU_ENTRY_HI[5], MMU_ENTRY_HI[4], MMU_ENTRY_HI[3],
|
4562 |
|
|
MMU_ENTRY_HI[2], MMU_ENTRY_HI[1], MMU_ENTRY_HI[0]}), .SB(X1N5287), .S({
|
4563 |
|
|
CP0_ENTRY_HI_NEXT[31], CP0_ENTRY_HI_NEXT[30], CP0_ENTRY_HI_NEXT[29],
|
4564 |
|
|
CP0_ENTRY_HI_NEXT[28], CP0_ENTRY_HI_NEXT[27], CP0_ENTRY_HI_NEXT[26],
|
4565 |
|
|
CP0_ENTRY_HI_NEXT[25], CP0_ENTRY_HI_NEXT[24], CP0_ENTRY_HI_NEXT[23],
|
4566 |
|
|
CP0_ENTRY_HI_NEXT[22], CP0_ENTRY_HI_NEXT[21], CP0_ENTRY_HI_NEXT[20],
|
4567 |
|
|
CP0_ENTRY_HI_NEXT[19], CP0_ENTRY_HI_NEXT[18], CP0_ENTRY_HI_NEXT[17],
|
4568 |
|
|
CP0_ENTRY_HI_NEXT[16], CP0_ENTRY_HI_NEXT[15], CP0_ENTRY_HI_NEXT[14],
|
4569 |
|
|
CP0_ENTRY_HI_NEXT[13], CP0_ENTRY_HI_NEXT[12], CP0_ENTRY_HI_NEXT[11],
|
4570 |
|
|
CP0_ENTRY_HI_NEXT[10], CP0_ENTRY_HI_NEXT[9], CP0_ENTRY_HI_NEXT[8],
|
4571 |
|
|
CP0_ENTRY_HI_NEXT[7], CP0_ENTRY_HI_NEXT[6], CP0_ENTRY_HI_NEXT[5],
|
4572 |
|
|
CP0_ENTRY_HI_NEXT[4], CP0_ENTRY_HI_NEXT[3], CP0_ENTRY_HI_NEXT[2],
|
4573 |
|
|
CP0_ENTRY_HI_NEXT[1], CP0_ENTRY_HI_NEXT[0]}));
|
4574 |
|
|
BUFE32 X1I4034 (.E(CPO_READ_ENTRY_HI), .I({CP0_ENTRY_HI[31],
|
4575 |
|
|
CP0_ENTRY_HI[30], CP0_ENTRY_HI[29], CP0_ENTRY_HI[28], CP0_ENTRY_HI[27],
|
4576 |
|
|
CP0_ENTRY_HI[26], CP0_ENTRY_HI[25], CP0_ENTRY_HI[24], CP0_ENTRY_HI[23],
|
4577 |
|
|
CP0_ENTRY_HI[22], CP0_ENTRY_HI[21], CP0_ENTRY_HI[20], CP0_ENTRY_HI[19],
|
4578 |
|
|
CP0_ENTRY_HI[18], CP0_ENTRY_HI[17], CP0_ENTRY_HI[16], CP0_ENTRY_HI[15],
|
4579 |
|
|
CP0_ENTRY_HI[14], CP0_ENTRY_HI[13], CP0_ENTRY_HI[12], CP0_ENTRY_HI[11],
|
4580 |
|
|
CP0_ENTRY_HI[10], CP0_ENTRY_HI[9], CP0_ENTRY_HI[8], CP0_ENTRY_HI[7],
|
4581 |
|
|
CP0_ENTRY_HI[6], CP0_ENTRY_HI[5], CP0_ENTRY_HI[4], CP0_ENTRY_HI[3],
|
4582 |
|
|
CP0_ENTRY_HI[2], CP0_ENTRY_HI[1], CP0_ENTRY_HI[0]}), .O({CACHE_DAT[31],
|
4583 |
|
|
CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27],
|
4584 |
|
|
CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23],
|
4585 |
|
|
CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19],
|
4586 |
|
|
CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15],
|
4587 |
|
|
CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11],
|
4588 |
|
|
CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6],
|
4589 |
|
|
CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1],
|
4590 |
|
|
CACHE_DAT[0]}));
|
4591 |
|
|
OR2 X1I4041 (.I0(CPO_WRITE_ENTRY_LO), .I1(MMU_TLB_READ), .O(X1N4042));
|
4592 |
|
|
M2_1X6 X1I4058 (.A({MMU_INDEX_OUT[5], MMU_INDEX_OUT[4], MMU_INDEX_OUT[3],
|
4593 |
|
|
MMU_INDEX_OUT[2], MMU_INDEX_OUT[1], MMU_INDEX_OUT[0]}), .B({
|
4594 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4595 |
|
|
, CACHE_DAT[8]}), .O({CP0_INDEX_NEXT[5], CP0_INDEX_NEXT[4],
|
4596 |
|
|
CP0_INDEX_NEXT[3], CP0_INDEX_NEXT[2], CP0_INDEX_NEXT[1],
|
4597 |
|
|
CP0_INDEX_NEXT[0]}), .SB(CPO_WRITTE_INDEX));
|
4598 |
|
|
OR2 X1I4066 (.I0(MMU_TLB_LOOK_UP), .I1(CPO_WRITTE_INDEX), .O(X1N4067));
|
4599 |
|
|
FDE X1I4069 (.C(CLK1), .CE(X1N4067), .D(X1N4072), .Q(INDEX31));
|
4600 |
|
|
M2_1 X1I4070 (.D0(MMU_HIT), .D1(CACHE_DAT[31]), .O(X1N4072), .S0
|
4601 |
|
|
(CPO_WRITTE_INDEX));
|
4602 |
|
|
REG20 X1I4089 (.CLK(CLK1), .EN(VCC), .I({MMU_PFN[19], MMU_PFN[18],
|
4603 |
|
|
MMU_PFN[17], MMU_PFN[16], MMU_PFN[15], MMU_PFN[14], MMU_PFN[13],
|
4604 |
|
|
MMU_PFN[12], MMU_PFN[11], MMU_PFN[10], MMU_PFN[9], MMU_PFN[8],
|
4605 |
|
|
MMU_PFN[7], MMU_PFN[6], MMU_PFN[5], MMU_PFN[4], MMU_PFN[3], MMU_PFN[2],
|
4606 |
|
|
MMU_PFN[1], MMU_PFN[0]}), .O({INST_PFN[19], INST_PFN[18], INST_PFN[17],
|
4607 |
|
|
INST_PFN[16], INST_PFN[15], INST_PFN[14], INST_PFN[13], INST_PFN[12],
|
4608 |
|
|
INST_PFN[11], INST_PFN[10], INST_PFN[9], INST_PFN[8], INST_PFN[7],
|
4609 |
|
|
INST_PFN[6], INST_PFN[5], INST_PFN[4], INST_PFN[3], INST_PFN[2],
|
4610 |
|
|
INST_PFN[1], INST_PFN[0]}));
|
4611 |
|
|
M2_1X20 X1I4090 (.A({EXE_FF[31], EXE_FF[30], EXE_FF[29], EXE_FF[28],
|
4612 |
|
|
EXE_FF[27], EXE_FF[26], EXE_FF[25], EXE_FF[24], EXE_FF[23], EXE_FF[22],
|
4613 |
|
|
EXE_FF[21], EXE_FF[20], EXE_FF[19], EXE_FF[18], EXE_FF[17], EXE_FF[16],
|
4614 |
|
|
EXE_FF[15], EXE_FF[14], EXE_FF[13], EXE_FF[12]}), .B({PC[31], PC[30],
|
4615 |
|
|
PC[29], PC[28], PC[27], PC[26], PC[25], PC[24], PC[23], PC[22], PC[21],
|
4616 |
|
|
PC[20], PC[19], PC[18], PC[17], PC[16], PC[15], PC[14], PC[13], PC[12]})
|
4617 |
|
|
, .SB(X1N4112), .S({MMU_VPN[19], MMU_VPN[18], MMU_VPN[17], MMU_VPN[16],
|
4618 |
|
|
MMU_VPN[15], MMU_VPN[14], MMU_VPN[13], MMU_VPN[12], MMU_VPN[11],
|
4619 |
|
|
MMU_VPN[10], MMU_VPN[9], MMU_VPN[8], MMU_VPN[7], MMU_VPN[6], MMU_VPN[5]
|
4620 |
|
|
, MMU_VPN[4], MMU_VPN[3], MMU_VPN[2], MMU_VPN[1], MMU_VPN[0]}));
|
4621 |
|
|
REG20 X1I4094 (.CLK(CLK2), .EN(GLB_EN), .I({MMU_PFN[19], MMU_PFN[18],
|
4622 |
|
|
MMU_PFN[17], MMU_PFN[16], MMU_PFN[15], MMU_PFN[14], MMU_PFN[13],
|
4623 |
|
|
MMU_PFN[12], MMU_PFN[11], MMU_PFN[10], MMU_PFN[9], MMU_PFN[8],
|
4624 |
|
|
MMU_PFN[7], MMU_PFN[6], MMU_PFN[5], MMU_PFN[4], MMU_PFN[3], MMU_PFN[2],
|
4625 |
|
|
MMU_PFN[1], MMU_PFN[0]}), .O({DATA_PFN[19], DATA_PFN[18], DATA_PFN[17],
|
4626 |
|
|
DATA_PFN[16], DATA_PFN[15], DATA_PFN[14], DATA_PFN[13], DATA_PFN[12],
|
4627 |
|
|
DATA_PFN[11], DATA_PFN[10], DATA_PFN[9], DATA_PFN[8], DATA_PFN[7],
|
4628 |
|
|
DATA_PFN[6], DATA_PFN[5], DATA_PFN[4], DATA_PFN[3], DATA_PFN[2],
|
4629 |
|
|
DATA_PFN[1], DATA_PFN[0]}));
|
4630 |
|
|
M2_1X6 X1I4128 (.A({INDEX[13], INDEX[12], INDEX[11], INDEX[10], INDEX[9],
|
4631 |
|
|
INDEX[8]}), .B({RANDOM[13], RANDOM[12], RANDOM[11], RANDOM[10],
|
4632 |
|
|
RANDOM[9], RANDOM[8]}), .O({MMU_INDEX[5], MMU_INDEX[4], MMU_INDEX[3],
|
4633 |
|
|
MMU_INDEX[2], MMU_INDEX[1], MMU_INDEX[0]}), .SB(MMU_TLB_WRITE_RANDOM));
|
4634 |
|
|
OR2B1 X1I4141 (.I0(X1N4148), .I1(FLUSH), .O(X1N4142));
|
4635 |
|
|
AND3B1 X1I4144 (.I0(INSTRUCTION[31]), .I1(INSTRUCTION[25]), .I2
|
4636 |
|
|
(SELECT_CPO), .O(X1N4148));
|
4637 |
|
|
BUF X1I4151 (.I(CP0_INSTRUCTION[0]), .O(MMU_TLB_READ));
|
4638 |
|
|
BUF X1I4152 (.I(CP0_INSTRUCTION[3]), .O(MMU_TLB_LOOK_UP));
|
4639 |
|
|
BUF X1I4153 (.I(CP0_INSTRUCTION[1]), .O(MMU_TLB_WRITE));
|
4640 |
|
|
BUF X1I4159 (.I(CP0_INSTRUCTION[2]), .O(MMU_TLB_WRITE_RANDOM));
|
4641 |
|
|
BUF X1I4164 (.I(CP0_INSTRUCTION[4]), .O(CP0_RETURN_FROM_EXCEPTION));
|
4642 |
|
|
AND2B1 X1I4175 (.I0(X1N4112), .I1(MMU_TLB_LOOK_UP), .O(X1N4176));
|
4643 |
|
|
AND2B1 X1I4178 (.I0(X1N4112), .I1(MMU_TLB_READ), .O(X1N4177));
|
4644 |
|
|
INC32 X1I426 (.A({PC[31], PC[30], PC[29], PC[28], PC[27], PC[26], PC[25],
|
4645 |
|
|
PC[24], PC[23], PC[22], PC[21], PC[20], PC[19], PC[18], PC[17], PC[16],
|
4646 |
|
|
PC[15], PC[14], PC[13], PC[12], PC[11], PC[10], PC[9], PC[8], PC[7],
|
4647 |
|
|
PC[6], PC[5], PC[4], PC[3], PC[2], PC[1], PC[0]}), .S({PC_PLUS_FOUR[31]
|
4648 |
|
|
, PC_PLUS_FOUR[30], PC_PLUS_FOUR[29], PC_PLUS_FOUR[28], PC_PLUS_FOUR[27]
|
4649 |
|
|
, PC_PLUS_FOUR[26], PC_PLUS_FOUR[25], PC_PLUS_FOUR[24], PC_PLUS_FOUR[23]
|
4650 |
|
|
, PC_PLUS_FOUR[22], PC_PLUS_FOUR[21], PC_PLUS_FOUR[20], PC_PLUS_FOUR[19]
|
4651 |
|
|
, PC_PLUS_FOUR[18], PC_PLUS_FOUR[17], PC_PLUS_FOUR[16], PC_PLUS_FOUR[15]
|
4652 |
|
|
, PC_PLUS_FOUR[14], PC_PLUS_FOUR[13], PC_PLUS_FOUR[12], PC_PLUS_FOUR[11]
|
4653 |
|
|
, PC_PLUS_FOUR[10], PC_PLUS_FOUR[9], PC_PLUS_FOUR[8], PC_PLUS_FOUR[7],
|
4654 |
|
|
PC_PLUS_FOUR[6], PC_PLUS_FOUR[5], PC_PLUS_FOUR[4], PC_PLUS_FOUR[3],
|
4655 |
|
|
PC_PLUS_FOUR[2], PC_PLUS_FOUR[1], PC_PLUS_FOUR[0]}));
|
4656 |
|
|
MEM_DELAY X1I4311 (.C(CLK1), .D(MEM_WRITE), .Q(END_WRITE), .R(X1N3757));
|
4657 |
|
|
MEM_DELAY X1I4319 (.C(CLK1), .D(DATA_MEM_ACCESS), .Q(X1N3837), .R(X1N3757)
|
4658 |
|
|
);
|
4659 |
|
|
MEM_DELAY X1I4322 (.C(CLK2), .D(INST_MEM_ACCESS), .Q(X1N4234), .R
|
4660 |
|
|
(X1N4234));
|
4661 |
|
|
GND X1I4333 (.G(HALT2));
|
4662 |
|
|
GND X1I4335 (.G(HALT3));
|
4663 |
|
|
BUTTONS X1I4339 (.CLK(X1N2274), .SW1(SW1), .SW2(SW2), .SW3(RESET_IN));
|
4664 |
|
|
INV X1I4354 (.I(X1N3744), .O(GLB_EN));
|
4665 |
|
|
REG32 X1I4360 (.CLK(CLK1), .EN(INTERRUPT_MEM), .I({MEM_PC[31], MEM_PC[30]
|
4666 |
|
|
, MEM_PC[29], MEM_PC[28], MEM_PC[27], MEM_PC[26], MEM_PC[25], MEM_PC[24]
|
4667 |
|
|
, MEM_PC[23], MEM_PC[22], MEM_PC[21], MEM_PC[20], MEM_PC[19], MEM_PC[18]
|
4668 |
|
|
, MEM_PC[17], MEM_PC[16], MEM_PC[15], MEM_PC[14], MEM_PC[13], MEM_PC[12]
|
4669 |
|
|
, MEM_PC[11], MEM_PC[10], MEM_PC[9], MEM_PC[8], MEM_PC[7], MEM_PC[6],
|
4670 |
|
|
MEM_PC[5], MEM_PC[4], MEM_PC[3], MEM_PC[2], MEM_PC[1], MEM_PC[0]}), .O({
|
4671 |
|
|
EPC[31], EPC[30], EPC[29], EPC[28], EPC[27], EPC[26], EPC[25], EPC[24],
|
4672 |
|
|
EPC[23], EPC[22], EPC[21], EPC[20], EPC[19], EPC[18], EPC[17], EPC[16],
|
4673 |
|
|
EPC[15], EPC[14], EPC[13], EPC[12], EPC[11], EPC[10], EPC[9], EPC[8],
|
4674 |
|
|
EPC[7], EPC[6], EPC[5], EPC[4], EPC[3], EPC[2], EPC[1], EPC[0]}));
|
4675 |
|
|
FDE X1I4380 (.C(CLK2), .CE(GLB_EN), .D(MMU_DONT_CACHE), .Q
|
4676 |
|
|
(MMU_DONT_CACHE_DATA));
|
4677 |
|
|
FDE X1I4388 (.C(CLK2), .CE(GLB_EN), .D(MMU_DIRTY), .Q(MMU_DIRTY_DATA));
|
4678 |
|
|
FDE X1I4393 (.C(CLK2), .CE(GLB_EN), .D(MMU_HIT), .Q(MMU_HIT_DATA));
|
4679 |
|
|
FDE X1I4400 (.C(CLK1), .CE(GLB_EN), .D(MMU_HIT), .Q(MMU_HIT_INSTR));
|
4680 |
|
|
FDE X1I4407 (.C(CLK1), .CE(GLB_EN), .D(MMU_DONT_CACHE), .Q
|
4681 |
|
|
(MMU_DONT_CACHE_INTR));
|
4682 |
|
|
INV X1I4414 (.I(MMU_HIT_INSTR), .O(INT_FETCH_TLBL));
|
4683 |
|
|
OR2B1 X1I4416 (.I0(INST_CACHE_HIT), .I1(MMU_DONT_CACHE_INTR), .O(X1N4422)
|
4684 |
|
|
);
|
4685 |
|
|
AND2B1 X1I4426 (.I0(MMU_DONT_CACHE_INTR), .I1(X1N4234), .O(X1N5076));
|
4686 |
|
|
AND2B1 X1I4430 (.I0(MMU_DONT_CACHE_DATA), .I1(X1N4431), .O(DATA_CACHE_HIT)
|
4687 |
|
|
);
|
4688 |
|
|
OR3 X1I4432 (.I0(PC[0]), .I1(PC[1]), .I2(X1N5947), .O(INT_FETCH_ADEL)
|
4689 |
|
|
);
|
4690 |
|
|
MUX3_1X32 X1I444 (.A({REG_A_EXE[31], REG_A_EXE[30], REG_A_EXE[29],
|
4691 |
|
|
REG_A_EXE[28], REG_A_EXE[27], REG_A_EXE[26], REG_A_EXE[25],
|
4692 |
|
|
REG_A_EXE[24], REG_A_EXE[23], REG_A_EXE[22], REG_A_EXE[21],
|
4693 |
|
|
REG_A_EXE[20], REG_A_EXE[19], REG_A_EXE[18], REG_A_EXE[17],
|
4694 |
|
|
REG_A_EXE[16], REG_A_EXE[15], REG_A_EXE[14], REG_A_EXE[13],
|
4695 |
|
|
REG_A_EXE[12], REG_A_EXE[11], REG_A_EXE[10], REG_A_EXE[9], REG_A_EXE[8]
|
4696 |
|
|
, REG_A_EXE[7], REG_A_EXE[6], REG_A_EXE[5], REG_A_EXE[4], REG_A_EXE[3],
|
4697 |
|
|
REG_A_EXE[2], REG_A_EXE[1], REG_A_EXE[0]}), .B({SEL_PORT_A_MEM,
|
4698 |
|
|
MEM_FF[31], MEM_FF[30], MEM_FF[29], MEM_FF[28], MEM_FF[27], MEM_FF[26],
|
4699 |
|
|
MEM_FF[25], MEM_FF[24], MEM_FF[23], MEM_FF[22], MEM_FF[21], MEM_FF[20],
|
4700 |
|
|
MEM_FF[19], MEM_FF[18], MEM_FF[17], MEM_FF[16], MEM_FF[15], MEM_FF[14],
|
4701 |
|
|
MEM_FF[13], MEM_FF[12], MEM_FF[11], MEM_FF[10], MEM_FF[9], MEM_FF[8],
|
4702 |
|
|
MEM_FF[7], MEM_FF[6], MEM_FF[5], MEM_FF[4], MEM_FF[3], MEM_FF[2],
|
4703 |
|
|
MEM_FF[1], MEM_FF[0]}), .C({SEL_PORT_A_ALU, EXE_FF[31], EXE_FF[30],
|
4704 |
|
|
EXE_FF[29], EXE_FF[28], EXE_FF[27], EXE_FF[26], EXE_FF[25], EXE_FF[24],
|
4705 |
|
|
EXE_FF[23], EXE_FF[22], EXE_FF[21], EXE_FF[20], EXE_FF[19], EXE_FF[18],
|
4706 |
|
|
EXE_FF[17], EXE_FF[16], EXE_FF[15], EXE_FF[14], EXE_FF[13], EXE_FF[12],
|
4707 |
|
|
EXE_FF[11], EXE_FF[10], EXE_FF[9], EXE_FF[8], EXE_FF[7], EXE_FF[6],
|
4708 |
|
|
EXE_FF[5], EXE_FF[4], EXE_FF[3], EXE_FF[2], EXE_FF[1], EXE_FF[0]}), .S({
|
4709 |
|
|
REG_A_EXE_FF[31], REG_A_EXE_FF[30], REG_A_EXE_FF[29], REG_A_EXE_FF[28],
|
4710 |
|
|
REG_A_EXE_FF[27], REG_A_EXE_FF[26], REG_A_EXE_FF[25], REG_A_EXE_FF[24],
|
4711 |
|
|
REG_A_EXE_FF[23], REG_A_EXE_FF[22], REG_A_EXE_FF[21], REG_A_EXE_FF[20],
|
4712 |
|
|
REG_A_EXE_FF[19], REG_A_EXE_FF[18], REG_A_EXE_FF[17], REG_A_EXE_FF[16],
|
4713 |
|
|
REG_A_EXE_FF[15], REG_A_EXE_FF[14], REG_A_EXE_FF[13], REG_A_EXE_FF[12],
|
4714 |
|
|
REG_A_EXE_FF[11], REG_A_EXE_FF[10], REG_A_EXE_FF[9], REG_A_EXE_FF[8],
|
4715 |
|
|
REG_A_EXE_FF[7], REG_A_EXE_FF[6], REG_A_EXE_FF[5], REG_A_EXE_FF[4],
|
4716 |
|
|
REG_A_EXE_FF[3], REG_A_EXE_FF[2], REG_A_EXE_FF[1], REG_A_EXE_FF[0]}));
|
4717 |
|
|
FDRE X1I4445 (.C(CLK2), .CE(GLB_EN), .D(INT_FETCH_ADEL), .Q(INT_DEC_ADEL)
|
4718 |
|
|
, .R(FLUSH));
|
4719 |
|
|
FDRE X1I4450 (.C(CLK2), .CE(GLB_EN), .D(INT_FETCH_TLBL), .Q(INT_DEC_TLBL)
|
4720 |
|
|
, .R(FLUSH));
|
4721 |
|
|
AND4B1 X1I4491 (.I0(FLUSH), .I1(MEM_WRITE_SOON), .I2(X1N5147), .I3
|
4722 |
|
|
(X1N5616), .O(X1N3834));
|
4723 |
|
|
FDE X1I4505 (.C(CLK1), .CE(GLB_EN), .D(INTERRUPT_MEM), .Q(INTERRUPT));
|
4724 |
|
|
GND16 X1I4538 (.G({GND[15], GND[14], GND[13], GND[12], GND[11], GND[10],
|
4725 |
|
|
GND[9], GND[8], GND[7], GND[6], GND[5], GND[4], GND[3], GND[2], GND[1],
|
4726 |
|
|
GND[0]}));
|
4727 |
|
|
GND16 X1I4541 (.G({GND[31], GND[30], GND[29], GND[28], GND[27], GND[26],
|
4728 |
|
|
GND[25], GND[24], GND[23], GND[22], GND[21], GND[20], GND[19], GND[18],
|
4729 |
|
|
GND[17], GND[16]}));
|
4730 |
|
|
BUFE32 X1I4607 (.E(CPO_READ_BADVADDR), .I({CPO_BADVADDR[31],
|
4731 |
|
|
CPO_BADVADDR[30], CPO_BADVADDR[29], CPO_BADVADDR[28], CPO_BADVADDR[27],
|
4732 |
|
|
CPO_BADVADDR[26], CPO_BADVADDR[25], CPO_BADVADDR[24], CPO_BADVADDR[23],
|
4733 |
|
|
CPO_BADVADDR[22], CPO_BADVADDR[21], CPO_BADVADDR[20], CPO_BADVADDR[19],
|
4734 |
|
|
CPO_BADVADDR[18], CPO_BADVADDR[17], CPO_BADVADDR[16], CPO_BADVADDR[15],
|
4735 |
|
|
CPO_BADVADDR[14], CPO_BADVADDR[13], CPO_BADVADDR[12], CPO_BADVADDR[11],
|
4736 |
|
|
CPO_BADVADDR[10], CPO_BADVADDR[9], CPO_BADVADDR[8], CPO_BADVADDR[7],
|
4737 |
|
|
CPO_BADVADDR[6], CPO_BADVADDR[5], CPO_BADVADDR[4], CPO_BADVADDR[3],
|
4738 |
|
|
CPO_BADVADDR[2], CPO_BADVADDR[1], CPO_BADVADDR[0]}), .O({CACHE_DAT[31],
|
4739 |
|
|
CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27],
|
4740 |
|
|
CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23],
|
4741 |
|
|
CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19],
|
4742 |
|
|
CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15],
|
4743 |
|
|
CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11],
|
4744 |
|
|
CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6],
|
4745 |
|
|
CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1],
|
4746 |
|
|
CACHE_DAT[0]}));
|
4747 |
|
|
REG32 X1I4610 (.CLK(CLK1), .EN(V_ADDRESS_ERROR), .I({EXE_FF[31],
|
4748 |
|
|
EXE_FF[30], EXE_FF[29], EXE_FF[28], EXE_FF[27], EXE_FF[26], EXE_FF[25],
|
4749 |
|
|
EXE_FF[24], EXE_FF[23], EXE_FF[22], EXE_FF[21], EXE_FF[20], EXE_FF[19],
|
4750 |
|
|
EXE_FF[18], EXE_FF[17], EXE_FF[16], EXE_FF[15], EXE_FF[14], EXE_FF[13],
|
4751 |
|
|
EXE_FF[12], EXE_FF[11], EXE_FF[10], EXE_FF[9], EXE_FF[8], EXE_FF[7],
|
4752 |
|
|
EXE_FF[6], EXE_FF[5], EXE_FF[4], EXE_FF[3], EXE_FF[2], EXE_FF[1],
|
4753 |
|
|
EXE_FF[0]}), .O({CPO_BADVADDR[31], CPO_BADVADDR[30], CPO_BADVADDR[29],
|
4754 |
|
|
CPO_BADVADDR[28], CPO_BADVADDR[27], CPO_BADVADDR[26], CPO_BADVADDR[25],
|
4755 |
|
|
CPO_BADVADDR[24], CPO_BADVADDR[23], CPO_BADVADDR[22], CPO_BADVADDR[21],
|
4756 |
|
|
CPO_BADVADDR[20], CPO_BADVADDR[19], CPO_BADVADDR[18], CPO_BADVADDR[17],
|
4757 |
|
|
CPO_BADVADDR[16], CPO_BADVADDR[15], CPO_BADVADDR[14], CPO_BADVADDR[13],
|
4758 |
|
|
CPO_BADVADDR[12], CPO_BADVADDR[11], CPO_BADVADDR[10], CPO_BADVADDR[9],
|
4759 |
|
|
CPO_BADVADDR[8], CPO_BADVADDR[7], CPO_BADVADDR[6], CPO_BADVADDR[5],
|
4760 |
|
|
CPO_BADVADDR[4], CPO_BADVADDR[3], CPO_BADVADDR[2], CPO_BADVADDR[1],
|
4761 |
|
|
CPO_BADVADDR[0]}));
|
4762 |
|
|
REG6 X1I4670 (.CLK(CLK1), .EN(CPO_WRITE_CONTEXT), .I({CACHE_DAT[26],
|
4763 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4764 |
|
|
CACHE_DAT[21]}), .O({CPO_CONTEXT[26], CPO_CONTEXT[25], CPO_CONTEXT[24],
|
4765 |
|
|
CPO_CONTEXT[23], CPO_CONTEXT[22], CPO_CONTEXT[21]}), .RES(X1N4672));
|
4766 |
|
|
GND X1I4671 (.G(X1N4672));
|
4767 |
|
|
REG5 X1I4673 (.CLK(CLK1), .EN(CPO_WRITE_CONTEXT), .I({CACHE_DAT[31],
|
4768 |
|
|
CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27]}), .O({
|
4769 |
|
|
CPO_CONTEXT[31], CPO_CONTEXT[30], CPO_CONTEXT[29], CPO_CONTEXT[28],
|
4770 |
|
|
CPO_CONTEXT[27]}), .RES(X1N4672));
|
4771 |
|
|
BUFE32 X1I4684 (.E(CPO_READ_CONTEXT), .I({CPO_CONTEXT[31], CPO_CONTEXT[30]
|
4772 |
|
|
, CPO_CONTEXT[29], CPO_CONTEXT[28], CPO_CONTEXT[27], CPO_CONTEXT[26],
|
4773 |
|
|
CPO_CONTEXT[25], CPO_CONTEXT[24], CPO_CONTEXT[23], CPO_CONTEXT[22],
|
4774 |
|
|
CPO_CONTEXT[21], CPO_BADVADDR[30], CPO_BADVADDR[29], CPO_BADVADDR[28],
|
4775 |
|
|
CPO_BADVADDR[27], CPO_BADVADDR[26], CPO_BADVADDR[25], CPO_BADVADDR[24],
|
4776 |
|
|
CPO_BADVADDR[23], CPO_BADVADDR[22], CPO_BADVADDR[21], CPO_BADVADDR[20],
|
4777 |
|
|
CPO_BADVADDR[19], CPO_BADVADDR[18], CPO_BADVADDR[17], CPO_BADVADDR[16],
|
4778 |
|
|
CPO_BADVADDR[15], CPO_BADVADDR[14], CPO_BADVADDR[13], CPO_BADVADDR[12],
|
4779 |
|
|
GND[1], GND[0]}), .O({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29],
|
4780 |
|
|
CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25],
|
4781 |
|
|
CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21],
|
4782 |
|
|
CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17],
|
4783 |
|
|
CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13],
|
4784 |
|
|
CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8]
|
4785 |
|
|
, CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3],
|
4786 |
|
|
CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
4787 |
|
|
VCC X1I4698 (.P(VCC));
|
4788 |
|
|
AND3 X1I4712 (.I0(INSTRUCTION[3]), .I1(INSTRUCTION[2]), .I2(SPECIAL), .O
|
4789 |
|
|
(X1N4777));
|
4790 |
|
|
INT_VAL X1I4725 (.D0(GND), .D1(GND), .D2(INT_DEC_ADEL), .D3(GND), .D4(GND)
|
4791 |
|
|
, .I0(GND), .I1(VCC), .I2(GND), .I3(GND), .I4(GND), .INT(GND), .Q0
|
4792 |
|
|
(X1N4768), .Q1(X1N4769), .Q2(X1N4770), .Q3(X1N4771), .Q4(X1N4772),
|
4793 |
|
|
.VALID_IN(INT_DEC_ADEL), .VALID_OUT(X1N4767));
|
4794 |
|
|
INT_VAL X1I4760 (.D0(X1N4768), .D1(X1N4769), .D2(X1N4770), .D3(X1N4771),
|
4795 |
|
|
.D4(X1N4772), .I0(INSTRUCTION[0]), .I1(GND), .I2(GND), .I3(VCC), .I4
|
4796 |
|
|
(GND), .INT(X1N4777), .Q0(INT_DEC[0]), .Q1(INT_DEC[1]), .Q2(INT_DEC[2])
|
4797 |
|
|
, .Q3(INT_DEC[3]), .Q4(INT_DEC[4]), .VALID_IN(X1N4767), .VALID_OUT
|
4798 |
|
|
(INT_DEC[5]));
|
4799 |
|
|
REG6 X1I4783 (.CLK(CLK1), .EN(GLB_EN), .I({INT_DEC[5], INT_DEC[4],
|
4800 |
|
|
INT_DEC[3], INT_DEC[2], INT_DEC[1], INT_DEC[0]}), .O({INT_EXE[5],
|
4801 |
|
|
INT_EXE[4], INT_EXE[3], INT_EXE[2], INT_EXE[1], INT_EXE[0]}), .RES
|
4802 |
|
|
(FLUSH));
|
4803 |
|
|
INT_VAL X1I4789 (.D0(INT_EXE[0]), .D1(INT_EXE[1]), .D2(INT_EXE[2]), .D3
|
4804 |
|
|
(INT_EXE[3]), .D4(INT_EXE[4]), .I0(GND), .I1(GND), .I2(VCC), .I3(VCC),
|
4805 |
|
|
.I4(GND), .INT(OVERFLOW), .Q0(INT_EXE_OUT[0]), .Q1(INT_EXE_OUT[1]), .Q2
|
4806 |
|
|
(INT_EXE_OUT[2]), .Q3(INT_EXE_OUT[3]), .Q4(INT_EXE_OUT[4]), .VALID_IN
|
4807 |
|
|
(INT_EXE[5]), .VALID_OUT(INT_EXE_OUT[5]));
|
4808 |
|
|
REG6 X1I4795 (.CLK(CLK1), .EN(GLB_EN), .I({INT_EXE_OUT[5], INT_EXE_OUT[4]
|
4809 |
|
|
, INT_EXE_OUT[3], INT_EXE_OUT[2], INT_EXE_OUT[1], INT_EXE_OUT[0]}), .O({
|
4810 |
|
|
INT_MEM_IN[5], INT_MEM_IN[4], INT_MEM_IN[3], INT_MEM_IN[2],
|
4811 |
|
|
INT_MEM_IN[1], INT_MEM_IN[0]}), .RES(FLUSH));
|
4812 |
|
|
INT_VAL X1I4837 (.D0(INT_MEM_IN[0]), .D1(INT_MEM_IN[1]), .D2
|
4813 |
|
|
(INT_MEM_IN[2]), .D3(INT_MEM_IN[3]), .D4(INT_MEM_IN[4]), .I0(VCC), .I1
|
4814 |
|
|
(VCC), .I2(GND), .I3(VCC), .I4(GND), .INT(INT_COPROCESSOR_UNUSABLE), .Q0
|
4815 |
|
|
(X1N4853), .Q1(X1N4830), .Q2(X1N4831), .Q3(X1N4832), .Q4(X1N4833),
|
4816 |
|
|
.VALID_IN(INT_MEM_IN[5]), .VALID_OUT(X1N4829));
|
4817 |
|
|
INT_VAL X1I4838 (.D0(X1N4853), .D1(X1N4830), .D2(X1N4831), .D3(X1N4832),
|
4818 |
|
|
.D4(X1N4833), .I0(MEM_WRITE_SOON), .I1(GND), .I2(VCC), .I3(GND), .I4
|
4819 |
|
|
(GND), .INT(GND), .Q0(X1N4821), .Q1(X1N4856), .Q2(X1N4820), .Q3(X1N4819)
|
4820 |
|
|
, .Q4(X1N4818), .VALID_IN(X1N4829), .VALID_OUT(X1N4822));
|
4821 |
|
|
INT_VAL X1I4839 (.D0(X1N4821), .D1(X1N4856), .D2(X1N4820), .D3(X1N4819),
|
4822 |
|
|
.D4(X1N4818), .I0(MEM_WRITE_SOON), .I1(VCC), .I2(GND), .I3(GND), .I4
|
4823 |
|
|
(GND), .INT(GND), .Q0(X1N4809), .Q1(X1N4810), .Q2(X1N4811), .Q3(X1N4812)
|
4824 |
|
|
, .Q4(X1N4813), .VALID_IN(X1N4822), .VALID_OUT(X1N4808));
|
4825 |
|
|
INT_VAL X1I4855 (.D0(X1N4809), .D1(X1N4810), .D2(X1N4811), .D3(X1N4812),
|
4826 |
|
|
.D4(X1N4813), .I0(VCC), .I1(GND), .I2(GND), .I3(GND), .I4(GND), .INT
|
4827 |
|
|
(GND), .Q0(X1N4867), .Q1(X1N4866), .Q2(X1N4865), .Q3(X1N4864), .Q4
|
4828 |
|
|
(X1N4863), .VALID_IN(X1N4808), .VALID_OUT(X1N4868));
|
4829 |
|
|
INT_VAL X1I4870 (.D0(X1N4867), .D1(X1N4866), .D2(X1N4865), .D3(X1N4864),
|
4830 |
|
|
.D4(X1N4863), .I0(GND), .I1(GND), .I2(GND), .I3(GND), .I4(GND), .INT
|
4831 |
|
|
(EXT_INTERRUPT), .Q0(EXC_CODE[0]), .Q1(EXC_CODE[1]), .Q2(EXC_CODE[2]),
|
4832 |
|
|
.Q3(EXC_CODE[3]), .Q4(EXC_CODE[4]), .VALID_IN(X1N4868), .VALID_OUT
|
4833 |
|
|
(X1N6323));
|
4834 |
|
|
AND2B1 X1I4881 (.I0(MMU_HIT_DATA), .I1(CACHE), .O(X1N4884));
|
4835 |
|
|
AND2B1 X1I4888 (.I0(MMU_DIRTY_DATA), .I1(MEM_WRITE_SOON), .O(X1N4891));
|
4836 |
|
|
AND2B1 X1I4893 (.I0(STATUS28), .I1(STATUS1), .O(X1N5268));
|
4837 |
|
|
INV X1I4894 (.I(STATUS29), .O(X1N4895));
|
4838 |
|
|
INV X1I4896 (.I(STATUS30), .O(X1N4903));
|
4839 |
|
|
REG5 X1I4900 (.CLK(CLK1), .EN(GLB_EN), .I({RANDON_STATS[4],
|
4840 |
|
|
RANDON_STATS[3], RANDON_STATS[2], RANDON_STATS[1], RANDON_STATS[0]}),
|
4841 |
|
|
.O({MEM_CP_ACCESS, MEM_CP_NO1, MEM_CP_NO0, MEM_BRANCH, INT_INST_ERROR})
|
4842 |
|
|
, .RES(FLUSH));
|
4843 |
|
|
BUFE32 X1I4905 (.E(CP0_READ_STATUS), .I({STATUS31, STATUS30, STATUS29,
|
4844 |
|
|
STATUS28, GND[27], GND[26], GND[25], GND[24], GND[23], STATUS22, GND[21]
|
4845 |
|
|
, GND[20], GND[19], GND[18], GND[17], GND[16], STATUS[15], STATUS[14],
|
4846 |
|
|
STATUS[13], STATUS[12], STATUS[11], STATUS[10], STATUS[9], STATUS[8],
|
4847 |
|
|
GND[7], GND[6], STATUS5, STATUS4, STATUS3, STATUS2, STATUS1, STATUS0}),
|
4848 |
|
|
.O({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28],
|
4849 |
|
|
CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24],
|
4850 |
|
|
CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20],
|
4851 |
|
|
CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16],
|
4852 |
|
|
CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12],
|
4853 |
|
|
CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7],
|
4854 |
|
|
CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2],
|
4855 |
|
|
CACHE_DAT[1], CACHE_DAT[0]}));
|
4856 |
|
|
AND2 X1I4926 (.I0(STATUS[9]), .I1(CPO_CAUSE[9]), .O(X1N4909));
|
4857 |
|
|
AND2 X1I4927 (.I0(STATUS[8]), .I1(CPO_CAUSE[8]), .O(X1N4910));
|
4858 |
|
|
AND2 X1I4928 (.I0(STATUS[10]), .I1(CPO_CAUSE[10]), .O(X1N4908));
|
4859 |
|
|
AND2 X1I4929 (.I0(STATUS[11]), .I1(CPO_CAUSE[11]), .O(X1N5407));
|
4860 |
|
|
REG16 X1I493 (.CLK(CLK1), .EN(GLB_EN), .I({INSTRUCTION[15],
|
4861 |
|
|
INSTRUCTION[14], INSTRUCTION[13], INSTRUCTION[12], INSTRUCTION[11],
|
4862 |
|
|
INSTRUCTION[10], INSTRUCTION[9], INSTRUCTION[8], INSTRUCTION[7],
|
4863 |
|
|
INSTRUCTION[6], INSTRUCTION[5], INSTRUCTION[4], INSTRUCTION[3],
|
4864 |
|
|
INSTRUCTION[2], INSTRUCTION[1], INSTRUCTION[0]}), .O({EXE_IMM[15],
|
4865 |
|
|
EXE_IMM[14], EXE_IMM[13], EXE_IMM[12], EXE_IMM[11], EXE_IMM[10],
|
4866 |
|
|
EXE_IMM[9], EXE_IMM[8], EXE_IMM[7], EXE_IMM[6], EXE_IMM[5], EXE_IMM[4],
|
4867 |
|
|
EXE_IMM[3], EXE_IMM[2], EXE_IMM[1], EXE_IMM[0]}));
|
4868 |
|
|
AND2 X1I4930 (.I0(STATUS[15]), .I1(CPO_CAUSE[15]), .O(X1N4992));
|
4869 |
|
|
AND2 X1I4931 (.I0(STATUS[14]), .I1(CPO_CAUSE[14]), .O(X1N4990));
|
4870 |
|
|
AND2 X1I4932 (.I0(STATUS[12]), .I1(CPO_CAUSE[12]), .O(X1N4986));
|
4871 |
|
|
SIGN_EX X1I494 (.D({EXE_IMM[15], EXE_IMM[14], EXE_IMM[13], EXE_IMM[12],
|
4872 |
|
|
EXE_IMM[11], EXE_IMM[10], EXE_IMM[9], EXE_IMM[8], EXE_IMM[7], EXE_IMM[6]
|
4873 |
|
|
, EXE_IMM[5], EXE_IMM[4], EXE_IMM[3], EXE_IMM[2], EXE_IMM[1], EXE_IMM[0]
|
4874 |
|
|
}), .EX_ZERO(OP[2]), .O({IMM[31], IMM[30], IMM[29], IMM[28], IMM[27],
|
4875 |
|
|
IMM[26], IMM[25], IMM[24], IMM[23], IMM[22], IMM[21], IMM[20], IMM[19],
|
4876 |
|
|
IMM[18], IMM[17], IMM[16], IMM[15], IMM[14], IMM[13], IMM[12], IMM[11],
|
4877 |
|
|
IMM[10], IMM[9], IMM[8], IMM[7], IMM[6], IMM[5], IMM[4], IMM[3], IMM[2]
|
4878 |
|
|
, IMM[1], IMM[0]}));
|
4879 |
|
|
FDE X1I4948 (.C(CLK1), .CE(INT_COPROCESSOR_UNUSABLE), .D(MEM_CP_NO1), .Q
|
4880 |
|
|
(CPO_CAUSE29));
|
4881 |
|
|
REG5 X1I4954 (.CLK(CLK1), .EN(INTERRUPT_MEM), .I({EXC_CODE[4], EXC_CODE[3]
|
4882 |
|
|
, EXC_CODE[2], EXC_CODE[1], EXC_CODE[0]}), .O({CPO_CAUSE[6],
|
4883 |
|
|
CPO_CAUSE[5], CPO_CAUSE[4], CPO_CAUSE[3], CPO_CAUSE[2]}), .RES(GND));
|
4884 |
|
|
FDE X1I4961 (.C(CLK1), .CE(CP0_WRITE_CAUSE), .D(CACHE_DAT[9]), .Q
|
4885 |
|
|
(CPO_CAUSE[9]));
|
4886 |
|
|
FDE X1I4962 (.C(CLK1), .CE(CP0_WRITE_CAUSE), .D(CACHE_DAT[8]), .Q
|
4887 |
|
|
(CPO_CAUSE[8]));
|
4888 |
|
|
AND2 X1I4968 (.I0(STATUS[13]), .I1(CPO_CAUSE[13]), .O(X1N4988));
|
4889 |
|
|
REG6 X1I4977 (.CLK(CLK1), .EN(VCC), .I({EXTERNAL_INTERRUPT1,
|
4890 |
|
|
SERIAL_REQUEST, COUNTER_ZERO, GND[2], GND[1], GND[0]}), .O({
|
4891 |
|
|
CPO_CAUSE[15], CPO_CAUSE[14], CPO_CAUSE[13], CPO_CAUSE[12],
|
4892 |
|
|
CPO_CAUSE[11], CPO_CAUSE[10]}), .RES(GND));
|
4893 |
|
|
SIGN_EX_SHIFT2 X1I498 (.D({INSTRUCTION[25], INSTRUCTION[24],
|
4894 |
|
|
INSTRUCTION[23], INSTRUCTION[22], INSTRUCTION[21], INSTRUCTION[20],
|
4895 |
|
|
INSTRUCTION[19], INSTRUCTION[18], INSTRUCTION[17], INSTRUCTION[16],
|
4896 |
|
|
INSTRUCTION[15], INSTRUCTION[14], INSTRUCTION[13], INSTRUCTION[12],
|
4897 |
|
|
INSTRUCTION[11], INSTRUCTION[10], INSTRUCTION[9], INSTRUCTION[8],
|
4898 |
|
|
INSTRUCTION[7], INSTRUCTION[6], INSTRUCTION[5], INSTRUCTION[4],
|
4899 |
|
|
INSTRUCTION[3], INSTRUCTION[2], INSTRUCTION[1], INSTRUCTION[0]}), .JL
|
4900 |
|
|
(JUMPLONG), .O({PC_BR_IMM[31], PC_BR_IMM[30], PC_BR_IMM[29],
|
4901 |
|
|
PC_BR_IMM[28], PC_BR_IMM[27], PC_BR_IMM[26], PC_BR_IMM[25],
|
4902 |
|
|
PC_BR_IMM[24], PC_BR_IMM[23], PC_BR_IMM[22], PC_BR_IMM[21],
|
4903 |
|
|
PC_BR_IMM[20], PC_BR_IMM[19], PC_BR_IMM[18], PC_BR_IMM[17],
|
4904 |
|
|
PC_BR_IMM[16], PC_BR_IMM[15], PC_BR_IMM[14], PC_BR_IMM[13],
|
4905 |
|
|
PC_BR_IMM[12], PC_BR_IMM[11], PC_BR_IMM[10], PC_BR_IMM[9], PC_BR_IMM[8]
|
4906 |
|
|
, PC_BR_IMM[7], PC_BR_IMM[6], PC_BR_IMM[5], PC_BR_IMM[4], PC_BR_IMM[3],
|
4907 |
|
|
PC_BR_IMM[2], PC_BR_IMM[1], PC_BR_IMM[0]}));
|
4908 |
|
|
FDE X1I4994 (.C(CLK1), .CE(INT_COPROCESSOR_UNUSABLE), .D(MEM_CP_NO0), .Q
|
4909 |
|
|
(CPO_CAUSE28));
|
4910 |
|
|
FDE X1I5000 (.C(CLK1), .CE(INTERRUPT_MEM), .D(MEM_BRANCH), .Q(CPO_CAUSE31)
|
4911 |
|
|
);
|
4912 |
|
|
REG5 X1I5011 (.CLK(CLK1), .EN(GLB_EN), .I({INSTRUCTION[30],
|
4913 |
|
|
INSTRUCTION[27], INSTRUCTION[26], BRANCH, INST_ADDR_ERROR}), .O({
|
4914 |
|
|
RANDON_STATS[4], RANDON_STATS[3], RANDON_STATS[2], RANDON_STATS[1],
|
4915 |
|
|
RANDON_STATS[0]}), .RES(FLUSH));
|
4916 |
|
|
FD4RE X1I5030 (.C(CLK1), .CE(CP0_WRITE_STATUS), .D0(CACHE_DAT[31]), .D1
|
4917 |
|
|
(CACHE_DAT[30]), .D2(CACHE_DAT[29]), .D3(CACHE_DAT[28]), .Q0(STATUS31),
|
4918 |
|
|
.Q1(STATUS30), .Q2(STATUS29), .Q3(STATUS28), .R(RESET));
|
4919 |
|
|
FDSE X1I5037 (.C(CLK1), .CE(CP0_WRITE_STATUS), .D(CACHE_DAT[22]), .Q
|
4920 |
|
|
(STATUS22), .S(RESET));
|
4921 |
|
|
AND5B2 X1I5046 (.I0(X1N6067), .I1(DATA_MEM_ACCESS), .I2(MMU_HIT_INSTR),
|
4922 |
|
|
.I3(CLK1_NBUF), .I4(X1N4422), .O(X1N3683));
|
4923 |
|
|
REG32 X1I505 (.CLK(CLK2), .EN(GLB_EN), .I({NEXT_STORED_PC[31],
|
4924 |
|
|
NEXT_STORED_PC[30], NEXT_STORED_PC[29], NEXT_STORED_PC[28],
|
4925 |
|
|
NEXT_STORED_PC[27], NEXT_STORED_PC[26], NEXT_STORED_PC[25],
|
4926 |
|
|
NEXT_STORED_PC[24], NEXT_STORED_PC[23], NEXT_STORED_PC[22],
|
4927 |
|
|
NEXT_STORED_PC[21], NEXT_STORED_PC[20], NEXT_STORED_PC[19],
|
4928 |
|
|
NEXT_STORED_PC[18], NEXT_STORED_PC[17], NEXT_STORED_PC[16],
|
4929 |
|
|
NEXT_STORED_PC[15], NEXT_STORED_PC[14], NEXT_STORED_PC[13],
|
4930 |
|
|
NEXT_STORED_PC[12], NEXT_STORED_PC[11], NEXT_STORED_PC[10],
|
4931 |
|
|
NEXT_STORED_PC[9], NEXT_STORED_PC[8], NEXT_STORED_PC[7],
|
4932 |
|
|
NEXT_STORED_PC[6], NEXT_STORED_PC[5], NEXT_STORED_PC[4],
|
4933 |
|
|
NEXT_STORED_PC[3], NEXT_STORED_PC[2], NEXT_STORED_PC[1],
|
4934 |
|
|
NEXT_STORED_PC[0]}), .O({PC_TO_PIPELINE[31], PC_TO_PIPELINE[30],
|
4935 |
|
|
PC_TO_PIPELINE[29], PC_TO_PIPELINE[28], PC_TO_PIPELINE[27],
|
4936 |
|
|
PC_TO_PIPELINE[26], PC_TO_PIPELINE[25], PC_TO_PIPELINE[24],
|
4937 |
|
|
PC_TO_PIPELINE[23], PC_TO_PIPELINE[22], PC_TO_PIPELINE[21],
|
4938 |
|
|
PC_TO_PIPELINE[20], PC_TO_PIPELINE[19], PC_TO_PIPELINE[18],
|
4939 |
|
|
PC_TO_PIPELINE[17], PC_TO_PIPELINE[16], PC_TO_PIPELINE[15],
|
4940 |
|
|
PC_TO_PIPELINE[14], PC_TO_PIPELINE[13], PC_TO_PIPELINE[12],
|
4941 |
|
|
PC_TO_PIPELINE[11], PC_TO_PIPELINE[10], PC_TO_PIPELINE[9],
|
4942 |
|
|
PC_TO_PIPELINE[8], PC_TO_PIPELINE[7], PC_TO_PIPELINE[6],
|
4943 |
|
|
PC_TO_PIPELINE[5], PC_TO_PIPELINE[4], PC_TO_PIPELINE[3],
|
4944 |
|
|
PC_TO_PIPELINE[2], PC_TO_PIPELINE[1], PC_TO_PIPELINE[0]}));
|
4945 |
|
|
BUFE32 X1I5050 (.E(CPO_READ_PRID), .I({GND[31], GND[30], GND[29], GND[28]
|
4946 |
|
|
, GND[27], GND[26], GND[25], GND[24], GND[23], GND[22], GND[21], GND[20]
|
4947 |
|
|
, GND[19], GND[18], GND[17], GND[16], GND[15], GND[14], GND[13], GND[12]
|
4948 |
|
|
, GND[11], GND[10], GND[9], VCC, GND[7], GND[6], GND[5], GND[4], GND[3]
|
4949 |
|
|
, GND[2], GND[1], GND[0]}), .O({CACHE_DAT[31], CACHE_DAT[30],
|
4950 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
4951 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4952 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
4953 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
4954 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4955 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
4956 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
4957 |
|
|
M4_1E X1I5057 (.D0(X1N5268), .D1(X1N4895), .D2(X1N4903), .D3(X1N5273), .E
|
4958 |
|
|
(MEM_CP_ACCESS), .O(INT_COPROCESSOR_UNUSABLE), .S0(MEM_CP_NO0), .S1
|
4959 |
|
|
(MEM_CP_NO1));
|
4960 |
|
|
FDE X1I5062 (.C(CLK2), .CE(GLB_EN), .D(X1N5060), .Q(MMU_NOT_VALID_DATA));
|
4961 |
|
|
MUX2_1X32 X1I5066 (.A({MMU_ENTRY_LO[31], MMU_ENTRY_LO[30],
|
4962 |
|
|
MMU_ENTRY_LO[29], MMU_ENTRY_LO[28], MMU_ENTRY_LO[27], MMU_ENTRY_LO[26],
|
4963 |
|
|
MMU_ENTRY_LO[25], MMU_ENTRY_LO[24], MMU_ENTRY_LO[23], MMU_ENTRY_LO[22],
|
4964 |
|
|
MMU_ENTRY_LO[21], MMU_ENTRY_LO[20], MMU_ENTRY_LO[19], MMU_ENTRY_LO[18],
|
4965 |
|
|
MMU_ENTRY_LO[17], MMU_ENTRY_LO[16], MMU_ENTRY_LO[15], MMU_ENTRY_LO[14],
|
4966 |
|
|
MMU_ENTRY_LO[13], MMU_ENTRY_LO[12], MMU_ENTRY_LO[11], MMU_ENTRY_LO[10],
|
4967 |
|
|
MMU_ENTRY_LO[9], MMU_ENTRY_LO[8], MMU_ENTRY_LO[7], MMU_ENTRY_LO[6],
|
4968 |
|
|
MMU_ENTRY_LO[5], MMU_ENTRY_LO[4], MMU_ENTRY_LO[3], MMU_ENTRY_LO[2],
|
4969 |
|
|
MMU_ENTRY_LO[1], MMU_ENTRY_LO[0]}), .B({CACHE_DAT[31], CACHE_DAT[30],
|
4970 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
4971 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
4972 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
4973 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
4974 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
4975 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
4976 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}), .SB
|
4977 |
|
|
(CPO_WRITE_ENTRY_LO), .S({CP0_ENTRY_LO_NEXT[31], CP0_ENTRY_LO_NEXT[30],
|
4978 |
|
|
CP0_ENTRY_LO_NEXT[29], CP0_ENTRY_LO_NEXT[28], CP0_ENTRY_LO_NEXT[27],
|
4979 |
|
|
CP0_ENTRY_LO_NEXT[26], CP0_ENTRY_LO_NEXT[25], CP0_ENTRY_LO_NEXT[24],
|
4980 |
|
|
CP0_ENTRY_LO_NEXT[23], CP0_ENTRY_LO_NEXT[22], CP0_ENTRY_LO_NEXT[21],
|
4981 |
|
|
CP0_ENTRY_LO_NEXT[20], CP0_ENTRY_LO_NEXT[19], CP0_ENTRY_LO_NEXT[18],
|
4982 |
|
|
CP0_ENTRY_LO_NEXT[17], CP0_ENTRY_LO_NEXT[16], CP0_ENTRY_LO_NEXT[15],
|
4983 |
|
|
CP0_ENTRY_LO_NEXT[14], CP0_ENTRY_LO_NEXT[13], CP0_ENTRY_LO_NEXT[12],
|
4984 |
|
|
CP0_ENTRY_LO_NEXT[11], CP0_ENTRY_LO_NEXT[10], CP0_ENTRY_LO_NEXT[9],
|
4985 |
|
|
CP0_ENTRY_LO_NEXT[8], CP0_ENTRY_LO_NEXT[7], CP0_ENTRY_LO_NEXT[6],
|
4986 |
|
|
CP0_ENTRY_LO_NEXT[5], CP0_ENTRY_LO_NEXT[4], CP0_ENTRY_LO_NEXT[3],
|
4987 |
|
|
CP0_ENTRY_LO_NEXT[2], CP0_ENTRY_LO_NEXT[1], CP0_ENTRY_LO_NEXT[0]}));
|
4988 |
|
|
AND2 X1I5078 (.I0(INST_CACHE_HIT), .I1(END_WRITE), .O(X1N6663));
|
4989 |
|
|
AND2B1 X1I5087 (.I0(HALT1), .I1(CLK2_NBUF), .O(X1N4112));
|
4990 |
|
|
MUX2_1X32 X1I5130 (.A({INST_PFN[19], INST_PFN[18], INST_PFN[17],
|
4991 |
|
|
INST_PFN[16], INST_PFN[15], INST_PFN[14], INST_PFN[13], INST_PFN[12],
|
4992 |
|
|
INST_PFN[11], INST_PFN[10], INST_PFN[9], INST_PFN[8], INST_PFN[7],
|
4993 |
|
|
INST_PFN[6], INST_PFN[5], INST_PFN[4], INST_PFN[3], INST_PFN[2],
|
4994 |
|
|
INST_PFN[1], INST_PFN[0], PC[11], PC[10], PC[9], PC[8], PC[7], PC[6],
|
4995 |
|
|
PC[5], PC[4], PC[3], PC[2], PC[1], PC[0]}), .B({DATA_PFN[19],
|
4996 |
|
|
DATA_PFN[18], DATA_PFN[17], DATA_PFN[16], DATA_PFN[15], DATA_PFN[14],
|
4997 |
|
|
DATA_PFN[13], DATA_PFN[12], DATA_PFN[11], DATA_PFN[10], DATA_PFN[9],
|
4998 |
|
|
DATA_PFN[8], DATA_PFN[7], DATA_PFN[6], DATA_PFN[5], DATA_PFN[4],
|
4999 |
|
|
DATA_PFN[3], DATA_PFN[2], DATA_PFN[1], DATA_PFN[0], EXE_FF[11],
|
5000 |
|
|
EXE_FF[10], EXE_FF[9], EXE_FF[8], EXE_FF[7], EXE_FF[6], EXE_FF[5],
|
5001 |
|
|
EXE_FF[4], EXE_FF[3], EXE_FF[2], EXE_FF[1], EXE_FF[0]}), .SB
|
5002 |
|
|
(DATA_MEM_ACCESS), .S({MEM_ACCESS_ADDRESS[31], MEM_ACCESS_ADDRESS[30],
|
5003 |
|
|
MEM_ACCESS_ADDRESS[29], MEM_ACCESS_ADDRESS[28], MEM_ACCESS_ADDRESS[27],
|
5004 |
|
|
MEM_ACCESS_ADDRESS[26], MEM_ACCESS_ADDRESS[25], MEM_ACCESS_ADDRESS[24],
|
5005 |
|
|
MEM_ACCESS_ADDRESS[23], MEM_ACCESS_ADDRESS[22], MEM_ACCESS_ADDRESS[21],
|
5006 |
|
|
MEM_ACCESS_ADDRESS[20], MEM_ACCESS_ADDRESS[19], MEM_ACCESS_ADDRESS[18],
|
5007 |
|
|
MEM_ACCESS_ADDRESS[17], MEM_ACCESS_ADDRESS[16], MEM_ACCESS_ADDRESS[15],
|
5008 |
|
|
MEM_ACCESS_ADDRESS[14], MEM_ACCESS_ADDRESS[13], MEM_ACCESS_ADDRESS[12],
|
5009 |
|
|
MEM_ACCESS_ADDRESS[11], MEM_ACCESS_ADDRESS[10], MEM_ACCESS_ADDRESS[9],
|
5010 |
|
|
MEM_ACCESS_ADDRESS[8], MEM_ACCESS_ADDRESS[7], MEM_ACCESS_ADDRESS[6],
|
5011 |
|
|
MEM_ACCESS_ADDRESS[5], MEM_ACCESS_ADDRESS[4], MEM_ACCESS_ADDRESS[3],
|
5012 |
|
|
MEM_ACCESS_ADDRESS[2], MEM_ACCESS_ADDRESS[1], MEM_ACCESS_ADDRESS[0]}));
|
5013 |
|
|
LD16 X1I5139 (.D({MEM_ACCESS_ADDRESS[31], MEM_ACCESS_ADDRESS[30],
|
5014 |
|
|
MEM_ACCESS_ADDRESS[29], MEM_ACCESS_ADDRESS[28], MEM_ACCESS_ADDRESS[27],
|
5015 |
|
|
MEM_ACCESS_ADDRESS[26], MEM_ACCESS_ADDRESS[25], MEM_ACCESS_ADDRESS[24],
|
5016 |
|
|
MEM_ACCESS_ADDRESS[23], MEM_ACCESS_ADDRESS[22], MEM_ACCESS_ADDRESS[21],
|
5017 |
|
|
MEM_ACCESS_ADDRESS[20], MEM_ACCESS_ADDRESS[19], MEM_ACCESS_ADDRESS[18],
|
5018 |
|
|
MEM_ACCESS_ADDRESS[17], MEM_ACCESS_ADDRESS[16]}), .G(MEMORY), .Q({
|
5019 |
|
|
ADDRESS[31], ADDRESS[30], ADDRESS[29], ADDRESS[28], ADDRESS[27],
|
5020 |
|
|
ADDRESS[26], ADDRESS[25], ADDRESS[24], ADDRESS[23], ADDRESS[22],
|
5021 |
|
|
ADDRESS[21], ADDRESS[20], ADDRESS[19], ADDRESS[18], ADDRESS[17],
|
5022 |
|
|
ADDRESS[16]}));
|
5023 |
|
|
MUX3_1X32 X1I514 (.A({PC_PLUS_FOUR[31], PC_PLUS_FOUR[30], PC_PLUS_FOUR[29]
|
5024 |
|
|
, PC_PLUS_FOUR[28], PC_PLUS_FOUR[27], PC_PLUS_FOUR[26], PC_PLUS_FOUR[25]
|
5025 |
|
|
, PC_PLUS_FOUR[24], PC_PLUS_FOUR[23], PC_PLUS_FOUR[22], PC_PLUS_FOUR[21]
|
5026 |
|
|
, PC_PLUS_FOUR[20], PC_PLUS_FOUR[19], PC_PLUS_FOUR[18], PC_PLUS_FOUR[17]
|
5027 |
|
|
, PC_PLUS_FOUR[16], PC_PLUS_FOUR[15], PC_PLUS_FOUR[14], PC_PLUS_FOUR[13]
|
5028 |
|
|
, PC_PLUS_FOUR[12], PC_PLUS_FOUR[11], PC_PLUS_FOUR[10], PC_PLUS_FOUR[9]
|
5029 |
|
|
, PC_PLUS_FOUR[8], PC_PLUS_FOUR[7], PC_PLUS_FOUR[6], PC_PLUS_FOUR[5],
|
5030 |
|
|
PC_PLUS_FOUR[4], PC_PLUS_FOUR[3], PC_PLUS_FOUR[2], PC_PLUS_FOUR[1],
|
5031 |
|
|
PC_PLUS_FOUR[0]}), .B({TAKEBRANCH, BRANCH[31], BRANCH[30], BRANCH[29],
|
5032 |
|
|
BRANCH[28], BRANCH[27], BRANCH[26], BRANCH[25], BRANCH[24], BRANCH[23],
|
5033 |
|
|
BRANCH[22], BRANCH[21], BRANCH[20], BRANCH[19], BRANCH[18], BRANCH[17],
|
5034 |
|
|
BRANCH[16], BRANCH[15], BRANCH[14], BRANCH[13], BRANCH[12], BRANCH[11],
|
5035 |
|
|
BRANCH[10], BRANCH[9], BRANCH[8], BRANCH[7], BRANCH[6], BRANCH[5],
|
5036 |
|
|
BRANCH[4], BRANCH[3], BRANCH[2], BRANCH[1], BRANCH[0]}), .C({JMP2REG,
|
5037 |
|
|
REG_A_EXE_FF[31], REG_A_EXE_FF[30], REG_A_EXE_FF[29], REG_A_EXE_FF[28],
|
5038 |
|
|
REG_A_EXE_FF[27], REG_A_EXE_FF[26], REG_A_EXE_FF[25], REG_A_EXE_FF[24],
|
5039 |
|
|
REG_A_EXE_FF[23], REG_A_EXE_FF[22], REG_A_EXE_FF[21], REG_A_EXE_FF[20],
|
5040 |
|
|
REG_A_EXE_FF[19], REG_A_EXE_FF[18], REG_A_EXE_FF[17], REG_A_EXE_FF[16],
|
5041 |
|
|
REG_A_EXE_FF[15], REG_A_EXE_FF[14], REG_A_EXE_FF[13], REG_A_EXE_FF[12],
|
5042 |
|
|
REG_A_EXE_FF[11], REG_A_EXE_FF[10], REG_A_EXE_FF[9], REG_A_EXE_FF[8],
|
5043 |
|
|
REG_A_EXE_FF[7], REG_A_EXE_FF[6], REG_A_EXE_FF[5], REG_A_EXE_FF[4],
|
5044 |
|
|
REG_A_EXE_FF[3], REG_A_EXE_FF[2], REG_A_EXE_FF[1], REG_A_EXE_FF[0]}),
|
5045 |
|
|
.S({NEXT_PC[31], NEXT_PC[30], NEXT_PC[29], NEXT_PC[28], NEXT_PC[27],
|
5046 |
|
|
NEXT_PC[26], NEXT_PC[25], NEXT_PC[24], NEXT_PC[23], NEXT_PC[22],
|
5047 |
|
|
NEXT_PC[21], NEXT_PC[20], NEXT_PC[19], NEXT_PC[18], NEXT_PC[17],
|
5048 |
|
|
NEXT_PC[16], NEXT_PC[15], NEXT_PC[14], NEXT_PC[13], NEXT_PC[12],
|
5049 |
|
|
NEXT_PC[11], NEXT_PC[10], NEXT_PC[9], NEXT_PC[8], NEXT_PC[7], NEXT_PC[6]
|
5050 |
|
|
, NEXT_PC[5], NEXT_PC[4], NEXT_PC[3], NEXT_PC[2], NEXT_PC[1], NEXT_PC[0]
|
5051 |
|
|
}));
|
5052 |
|
|
LD16 X1I5140 (.D({MEM_ACCESS_ADDRESS[15], MEM_ACCESS_ADDRESS[14],
|
5053 |
|
|
MEM_ACCESS_ADDRESS[13], MEM_ACCESS_ADDRESS[12], MEM_ACCESS_ADDRESS[11],
|
5054 |
|
|
MEM_ACCESS_ADDRESS[10], MEM_ACCESS_ADDRESS[9], MEM_ACCESS_ADDRESS[8],
|
5055 |
|
|
MEM_ACCESS_ADDRESS[7], MEM_ACCESS_ADDRESS[6], MEM_ACCESS_ADDRESS[5],
|
5056 |
|
|
MEM_ACCESS_ADDRESS[4], MEM_ACCESS_ADDRESS[3], MEM_ACCESS_ADDRESS[2],
|
5057 |
|
|
MEM_ACCESS_ADDRESS[1], MEM_ACCESS_ADDRESS[0]}), .G(MEMORY), .Q({
|
5058 |
|
|
ADDRESS[15], ADDRESS[14], ADDRESS[13], ADDRESS[12], ADDRESS[11],
|
5059 |
|
|
ADDRESS[10], ADDRESS[9], ADDRESS[8], ADDRESS[7], ADDRESS[6], ADDRESS[5]
|
5060 |
|
|
, ADDRESS[4], ADDRESS[3], ADDRESS[2], ADDRESS[1], ADDRESS[0]}));
|
5061 |
|
|
BUFE32 X1I5153 (.E(CPO_READ_INDEX), .I({INDEX31, GND[30], GND[29], GND[28]
|
5062 |
|
|
, GND[27], GND[26], GND[25], GND[24], GND[23], GND[22], GND[21], GND[20]
|
5063 |
|
|
, GND[19], GND[18], GND[17], GND[16], GND[15], GND[14], INDEX[13],
|
5064 |
|
|
INDEX[12], INDEX[11], INDEX[10], INDEX[9], INDEX[8], GND[7], GND[6],
|
5065 |
|
|
GND[5], GND[4], GND[3], GND[2], GND[1], GND[0]}), .O({CACHE_DAT[31],
|
5066 |
|
|
CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27],
|
5067 |
|
|
CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23],
|
5068 |
|
|
CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19],
|
5069 |
|
|
CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15],
|
5070 |
|
|
CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11],
|
5071 |
|
|
CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6],
|
5072 |
|
|
CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1],
|
5073 |
|
|
CACHE_DAT[0]}));
|
5074 |
|
|
BUFE32 X1I5156 (.E(CPO_READ_RANDOM), .I({GND[31], GND[30], GND[29],
|
5075 |
|
|
GND[28], GND[27], GND[26], GND[25], GND[24], GND[23], GND[22], GND[21],
|
5076 |
|
|
GND[20], GND[19], GND[18], GND[17], GND[16], GND[15], GND[14],
|
5077 |
|
|
RANDOM[13], RANDOM[12], RANDOM[11], RANDOM[10], RANDOM[9], RANDOM[8],
|
5078 |
|
|
GND[7], GND[6], GND[5], GND[4], GND[3], GND[2], GND[1], GND[0]}), .O({
|
5079 |
|
|
CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28],
|
5080 |
|
|
CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24],
|
5081 |
|
|
CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20],
|
5082 |
|
|
CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16],
|
5083 |
|
|
CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12],
|
5084 |
|
|
CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7],
|
5085 |
|
|
CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2],
|
5086 |
|
|
CACHE_DAT[1], CACHE_DAT[0]}));
|
5087 |
|
|
FD8CE X1I5160 (.C(CLK1), .CE(CP0_WRITE_STATUS), .CLR(GND), .D({
|
5088 |
|
|
CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12],
|
5089 |
|
|
CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8]}), .Q({
|
5090 |
|
|
STATUS[15], STATUS[14], STATUS[13], STATUS[12], STATUS[11], STATUS[10],
|
5091 |
|
|
STATUS[9], STATUS[8]}));
|
5092 |
|
|
OR3 X1I5168 (.I0(INTERRUPT_MEM), .I1(CP0_RETURN_FROM_EXCEPTION), .I2
|
5093 |
|
|
(CP0_WRITE_STATUS), .O(X1N6012));
|
5094 |
|
|
FDRE X1I5170 (.C(CLK1), .CE(X1N4935), .D(X1N5229), .Q(STATUS2), .R(RESET)
|
5095 |
|
|
);
|
5096 |
|
|
FDRE X1I5174 (.C(CLK1), .CE(X1N4935), .D(X1N5230), .Q(STATUS3), .R
|
5097 |
|
|
(RESET));
|
5098 |
|
|
FDRE X1I5187 (.C(CLK1), .CE(X1N4935), .D(X1N5208), .Q(STATUS0), .R(RESET)
|
5099 |
|
|
);
|
5100 |
|
|
FDRE X1I5188 (.C(CLK1), .CE(X1N4935), .D(X1N5212), .Q(STATUS1), .R
|
5101 |
|
|
(RESET));
|
5102 |
|
|
FDRE X1I5196 (.C(CLK1), .CE(X1N4935), .D(X1N5249), .Q(STATUS4), .R(RESET)
|
5103 |
|
|
);
|
5104 |
|
|
FDRE X1I5197 (.C(CLK1), .CE(X1N4935), .D(X1N5248), .Q(STATUS5), .R
|
5105 |
|
|
(RESET));
|
5106 |
|
|
M2_1E X1I5207 (.D0(CACHE_DAT[0]), .D1(STATUS2), .E(X1N6365), .O(X1N5208),
|
5107 |
|
|
.S0(CP0_RETURN_FROM_EXCEPTION));
|
5108 |
|
|
M2_1E X1I5215 (.D0(CACHE_DAT[1]), .D1(STATUS3), .E(X1N6365), .O(X1N5212),
|
5109 |
|
|
.S0(CP0_RETURN_FROM_EXCEPTION));
|
5110 |
|
|
M2_1 X1I5228 (.D0(X1N5235), .D1(STATUS0), .O(X1N5229), .S0(INTERRUPT_MEM)
|
5111 |
|
|
);
|
5112 |
|
|
M2_1 X1I5231 (.D0(X1N5234), .D1(STATUS1), .O(X1N5230), .S0
|
5113 |
|
|
(INTERRUPT_MEM));
|
5114 |
|
|
M2_1 X1I5232 (.D0(CACHE_DAT[3]), .D1(STATUS5), .O(X1N5234), .S0
|
5115 |
|
|
(CP0_RETURN_FROM_EXCEPTION));
|
5116 |
|
|
M2_1 X1I5233 (.D0(CACHE_DAT[2]), .D1(STATUS4), .O(X1N5235), .S0
|
5117 |
|
|
(CP0_RETURN_FROM_EXCEPTION));
|
5118 |
|
|
M2_1 X1I5251 (.D0(X1N5253), .D1(STATUS3), .O(X1N5248), .S0(INTERRUPT_MEM)
|
5119 |
|
|
);
|
5120 |
|
|
M2_1 X1I5252 (.D0(X1N5254), .D1(STATUS2), .O(X1N5249), .S0
|
5121 |
|
|
(INTERRUPT_MEM));
|
5122 |
|
|
M2_1 X1I5260 (.D0(CACHE_DAT[5]), .D1(STATUS5), .O(X1N5253), .S0
|
5123 |
|
|
(CP0_RETURN_FROM_EXCEPTION));
|
5124 |
|
|
M2_1 X1I5261 (.D0(CACHE_DAT[4]), .D1(STATUS4), .O(X1N5254), .S0
|
5125 |
|
|
(CP0_RETURN_FROM_EXCEPTION));
|
5126 |
|
|
INV X1I5272 (.I(STATUS31), .O(X1N5273));
|
5127 |
|
|
OR2 X1I5297 (.I0(CPO_WRITE_ENTRY_HI), .I1(X1N5287), .O(X1N5303));
|
5128 |
|
|
NOR6 X1I530 (.I0(INSTRUCTION[26]), .I1(INSTRUCTION[27]), .I2
|
5129 |
|
|
(INSTRUCTION[28]), .I3(INSTRUCTION[29]), .I4(INSTRUCTION[30]), .I5
|
5130 |
|
|
(INSTRUCTION[31]), .O(SPECIAL));
|
5131 |
|
|
OR2 X1I5305 (.I0(INT_DEC_ADEL), .I1(INT_DEC_TLBL), .O(INST_ADDR_ERROR));
|
5132 |
|
|
AND2 X1I5326 (.I0(BR_GEZ_LTZ), .I1(INSTRUCTION[20]), .O(X1N5327));
|
5133 |
|
|
REG32 X1I5342 (.CLK(CLK1), .EN(X1N5303), .I({CP0_ENTRY_HI_NEXT[31],
|
5134 |
|
|
CP0_ENTRY_HI_NEXT[30], CP0_ENTRY_HI_NEXT[29], CP0_ENTRY_HI_NEXT[28],
|
5135 |
|
|
CP0_ENTRY_HI_NEXT[27], CP0_ENTRY_HI_NEXT[26], CP0_ENTRY_HI_NEXT[25],
|
5136 |
|
|
CP0_ENTRY_HI_NEXT[24], CP0_ENTRY_HI_NEXT[23], CP0_ENTRY_HI_NEXT[22],
|
5137 |
|
|
CP0_ENTRY_HI_NEXT[21], CP0_ENTRY_HI_NEXT[20], CP0_ENTRY_HI_NEXT[19],
|
5138 |
|
|
CP0_ENTRY_HI_NEXT[18], CP0_ENTRY_HI_NEXT[17], CP0_ENTRY_HI_NEXT[16],
|
5139 |
|
|
CP0_ENTRY_HI_NEXT[15], CP0_ENTRY_HI_NEXT[14], CP0_ENTRY_HI_NEXT[13],
|
5140 |
|
|
CP0_ENTRY_HI_NEXT[12], CP0_ENTRY_HI_NEXT[11], CP0_ENTRY_HI_NEXT[10],
|
5141 |
|
|
CP0_ENTRY_HI_NEXT[9], CP0_ENTRY_HI_NEXT[8], CP0_ENTRY_HI_NEXT[7],
|
5142 |
|
|
CP0_ENTRY_HI_NEXT[6], CP0_ENTRY_HI_NEXT[5], CP0_ENTRY_HI_NEXT[4],
|
5143 |
|
|
CP0_ENTRY_HI_NEXT[3], CP0_ENTRY_HI_NEXT[2], CP0_ENTRY_HI_NEXT[1],
|
5144 |
|
|
CP0_ENTRY_HI_NEXT[0]}), .O({CP0_ENTRY_HI[31], CP0_ENTRY_HI[30],
|
5145 |
|
|
CP0_ENTRY_HI[29], CP0_ENTRY_HI[28], CP0_ENTRY_HI[27], CP0_ENTRY_HI[26],
|
5146 |
|
|
CP0_ENTRY_HI[25], CP0_ENTRY_HI[24], CP0_ENTRY_HI[23], CP0_ENTRY_HI[22],
|
5147 |
|
|
CP0_ENTRY_HI[21], CP0_ENTRY_HI[20], CP0_ENTRY_HI[19], CP0_ENTRY_HI[18],
|
5148 |
|
|
CP0_ENTRY_HI[17], CP0_ENTRY_HI[16], CP0_ENTRY_HI[15], CP0_ENTRY_HI[14],
|
5149 |
|
|
CP0_ENTRY_HI[13], CP0_ENTRY_HI[12], CP0_ENTRY_HI[11], CP0_ENTRY_HI[10],
|
5150 |
|
|
CP0_ENTRY_HI[9], CP0_ENTRY_HI[8], CP0_ENTRY_HI[7], CP0_ENTRY_HI[6],
|
5151 |
|
|
CP0_ENTRY_HI[5], CP0_ENTRY_HI[4], CP0_ENTRY_HI[3], CP0_ENTRY_HI[2],
|
5152 |
|
|
CP0_ENTRY_HI[1], CP0_ENTRY_HI[0]}));
|
5153 |
|
|
ROTEIGHT2 X1I5344 (.I({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29],
|
5154 |
|
|
CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25],
|
5155 |
|
|
CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21],
|
5156 |
|
|
CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17],
|
5157 |
|
|
CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13],
|
5158 |
|
|
CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8]
|
5159 |
|
|
, CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3],
|
5160 |
|
|
CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}), .O({LOAD_ROTATED[31],
|
5161 |
|
|
LOAD_ROTATED[30], LOAD_ROTATED[29], LOAD_ROTATED[28], LOAD_ROTATED[27],
|
5162 |
|
|
LOAD_ROTATED[26], LOAD_ROTATED[25], LOAD_ROTATED[24], LOAD_ROTATED[23],
|
5163 |
|
|
LOAD_ROTATED[22], LOAD_ROTATED[21], LOAD_ROTATED[20], LOAD_ROTATED[19],
|
5164 |
|
|
LOAD_ROTATED[18], LOAD_ROTATED[17], LOAD_ROTATED[16], LOAD_ROTATED[15],
|
5165 |
|
|
LOAD_ROTATED[14], LOAD_ROTATED[13], LOAD_ROTATED[12], LOAD_ROTATED[11],
|
5166 |
|
|
LOAD_ROTATED[10], LOAD_ROTATED[9], LOAD_ROTATED[8], LOAD_ROTATED[7],
|
5167 |
|
|
LOAD_ROTATED[6], LOAD_ROTATED[5], LOAD_ROTATED[4], LOAD_ROTATED[3],
|
5168 |
|
|
LOAD_ROTATED[2], LOAD_ROTATED[1], LOAD_ROTATED[0]}), .S0(X1N5619), .S1
|
5169 |
|
|
(X1N5618));
|
5170 |
|
|
BYTEMASK X1I5360 (.A({LOAD_ROTATED[31], LOAD_ROTATED[30], LOAD_ROTATED[29]
|
5171 |
|
|
, LOAD_ROTATED[28], LOAD_ROTATED[27], LOAD_ROTATED[26], LOAD_ROTATED[25]
|
5172 |
|
|
, LOAD_ROTATED[24], LOAD_ROTATED[23], LOAD_ROTATED[22], LOAD_ROTATED[21]
|
5173 |
|
|
, LOAD_ROTATED[20], LOAD_ROTATED[19], LOAD_ROTATED[18], LOAD_ROTATED[17]
|
5174 |
|
|
, LOAD_ROTATED[16], LOAD_ROTATED[15], LOAD_ROTATED[14], LOAD_ROTATED[13]
|
5175 |
|
|
, LOAD_ROTATED[12], LOAD_ROTATED[11], LOAD_ROTATED[10], LOAD_ROTATED[9]
|
5176 |
|
|
, LOAD_ROTATED[8], LOAD_ROTATED[7], LOAD_ROTATED[6], LOAD_ROTATED[5],
|
5177 |
|
|
LOAD_ROTATED[4], LOAD_ROTATED[3], LOAD_ROTATED[2], LOAD_ROTATED[1],
|
5178 |
|
|
LOAD_ROTATED[0]}), .B({REG_B_MEM[31], REG_B_MEM[30], REG_B_MEM[29],
|
5179 |
|
|
REG_B_MEM[28], REG_B_MEM[27], REG_B_MEM[26], REG_B_MEM[25],
|
5180 |
|
|
REG_B_MEM[24], REG_B_MEM[23], REG_B_MEM[22], REG_B_MEM[21],
|
5181 |
|
|
REG_B_MEM[20], REG_B_MEM[19], REG_B_MEM[18], REG_B_MEM[17],
|
5182 |
|
|
REG_B_MEM[16], REG_B_MEM[15], REG_B_MEM[14], REG_B_MEM[13],
|
5183 |
|
|
REG_B_MEM[12], REG_B_MEM[11], REG_B_MEM[10], REG_B_MEM[9], REG_B_MEM[8]
|
5184 |
|
|
, REG_B_MEM[7], REG_B_MEM[6], REG_B_MEM[5], REG_B_MEM[4], REG_B_MEM[3],
|
5185 |
|
|
REG_B_MEM[2], REG_B_MEM[1], REG_B_MEM[0]}), .MASK(X1N5754), .NULL0(GND)
|
5186 |
|
|
, .NULL1(X1N5748), .NULL2(X1N5746), .NULL3(X1N5746), .O({
|
5187 |
|
|
LOAD_ROTATED_MASKED[31], LOAD_ROTATED_MASKED[30],
|
5188 |
|
|
LOAD_ROTATED_MASKED[29], LOAD_ROTATED_MASKED[28],
|
5189 |
|
|
LOAD_ROTATED_MASKED[27], LOAD_ROTATED_MASKED[26],
|
5190 |
|
|
LOAD_ROTATED_MASKED[25], LOAD_ROTATED_MASKED[24],
|
5191 |
|
|
LOAD_ROTATED_MASKED[23], LOAD_ROTATED_MASKED[22],
|
5192 |
|
|
LOAD_ROTATED_MASKED[21], LOAD_ROTATED_MASKED[20],
|
5193 |
|
|
LOAD_ROTATED_MASKED[19], LOAD_ROTATED_MASKED[18],
|
5194 |
|
|
LOAD_ROTATED_MASKED[17], LOAD_ROTATED_MASKED[16],
|
5195 |
|
|
LOAD_ROTATED_MASKED[15], LOAD_ROTATED_MASKED[14],
|
5196 |
|
|
LOAD_ROTATED_MASKED[13], LOAD_ROTATED_MASKED[12],
|
5197 |
|
|
LOAD_ROTATED_MASKED[11], LOAD_ROTATED_MASKED[10], LOAD_ROTATED_MASKED[9]
|
5198 |
|
|
, LOAD_ROTATED_MASKED[8], LOAD_ROTATED_MASKED[7], LOAD_ROTATED_MASKED[6]
|
5199 |
|
|
, LOAD_ROTATED_MASKED[5], LOAD_ROTATED_MASKED[4], LOAD_ROTATED_MASKED[3]
|
5200 |
|
|
, LOAD_ROTATED_MASKED[2], LOAD_ROTATED_MASKED[1], LOAD_ROTATED_MASKED[0]
|
5201 |
|
|
}), .SB0(X1N5736), .SB1(X1N5734), .SB2(X1N5732), .SB3(X1N5728));
|
5202 |
|
|
ROTEIGHT X1I5365 (.I({REG_B_MEM[31], REG_B_MEM[30], REG_B_MEM[29],
|
5203 |
|
|
REG_B_MEM[28], REG_B_MEM[27], REG_B_MEM[26], REG_B_MEM[25],
|
5204 |
|
|
REG_B_MEM[24], REG_B_MEM[23], REG_B_MEM[22], REG_B_MEM[21],
|
5205 |
|
|
REG_B_MEM[20], REG_B_MEM[19], REG_B_MEM[18], REG_B_MEM[17],
|
5206 |
|
|
REG_B_MEM[16], REG_B_MEM[15], REG_B_MEM[14], REG_B_MEM[13],
|
5207 |
|
|
REG_B_MEM[12], REG_B_MEM[11], REG_B_MEM[10], REG_B_MEM[9], REG_B_MEM[8]
|
5208 |
|
|
, REG_B_MEM[7], REG_B_MEM[6], REG_B_MEM[5], REG_B_MEM[4], REG_B_MEM[3],
|
5209 |
|
|
REG_B_MEM[2], REG_B_MEM[1], REG_B_MEM[0]}), .O({REG_B_MEM_SHIFTED[31],
|
5210 |
|
|
REG_B_MEM_SHIFTED[30], REG_B_MEM_SHIFTED[29], REG_B_MEM_SHIFTED[28],
|
5211 |
|
|
REG_B_MEM_SHIFTED[27], REG_B_MEM_SHIFTED[26], REG_B_MEM_SHIFTED[25],
|
5212 |
|
|
REG_B_MEM_SHIFTED[24], REG_B_MEM_SHIFTED[23], REG_B_MEM_SHIFTED[22],
|
5213 |
|
|
REG_B_MEM_SHIFTED[21], REG_B_MEM_SHIFTED[20], REG_B_MEM_SHIFTED[19],
|
5214 |
|
|
REG_B_MEM_SHIFTED[18], REG_B_MEM_SHIFTED[17], REG_B_MEM_SHIFTED[16],
|
5215 |
|
|
REG_B_MEM_SHIFTED[15], REG_B_MEM_SHIFTED[14], REG_B_MEM_SHIFTED[13],
|
5216 |
|
|
REG_B_MEM_SHIFTED[12], REG_B_MEM_SHIFTED[11], REG_B_MEM_SHIFTED[10],
|
5217 |
|
|
REG_B_MEM_SHIFTED[9], REG_B_MEM_SHIFTED[8], REG_B_MEM_SHIFTED[7],
|
5218 |
|
|
REG_B_MEM_SHIFTED[6], REG_B_MEM_SHIFTED[5], REG_B_MEM_SHIFTED[4],
|
5219 |
|
|
REG_B_MEM_SHIFTED[3], REG_B_MEM_SHIFTED[2], REG_B_MEM_SHIFTED[1],
|
5220 |
|
|
REG_B_MEM_SHIFTED[0]}), .S0(X1N5507), .S1(X1N5524));
|
5221 |
|
|
BYTE_MUX X1I5373 (.A({MEMORY_BEFRE_WRITE[31], MEMORY_BEFRE_WRITE[30],
|
5222 |
|
|
MEMORY_BEFRE_WRITE[29], MEMORY_BEFRE_WRITE[28], MEMORY_BEFRE_WRITE[27],
|
5223 |
|
|
MEMORY_BEFRE_WRITE[26], MEMORY_BEFRE_WRITE[25], MEMORY_BEFRE_WRITE[24],
|
5224 |
|
|
MEMORY_BEFRE_WRITE[23], MEMORY_BEFRE_WRITE[22], MEMORY_BEFRE_WRITE[21],
|
5225 |
|
|
MEMORY_BEFRE_WRITE[20], MEMORY_BEFRE_WRITE[19], MEMORY_BEFRE_WRITE[18],
|
5226 |
|
|
MEMORY_BEFRE_WRITE[17], MEMORY_BEFRE_WRITE[16], MEMORY_BEFRE_WRITE[15],
|
5227 |
|
|
MEMORY_BEFRE_WRITE[14], MEMORY_BEFRE_WRITE[13], MEMORY_BEFRE_WRITE[12],
|
5228 |
|
|
MEMORY_BEFRE_WRITE[11], MEMORY_BEFRE_WRITE[10], MEMORY_BEFRE_WRITE[9],
|
5229 |
|
|
MEMORY_BEFRE_WRITE[8], MEMORY_BEFRE_WRITE[7], MEMORY_BEFRE_WRITE[6],
|
5230 |
|
|
MEMORY_BEFRE_WRITE[5], MEMORY_BEFRE_WRITE[4], MEMORY_BEFRE_WRITE[3],
|
5231 |
|
|
MEMORY_BEFRE_WRITE[2], MEMORY_BEFRE_WRITE[1], MEMORY_BEFRE_WRITE[0]}),
|
5232 |
|
|
.B({REG_B_MEM_SHIFTED[31], REG_B_MEM_SHIFTED[30], REG_B_MEM_SHIFTED[29]
|
5233 |
|
|
, REG_B_MEM_SHIFTED[28], REG_B_MEM_SHIFTED[27], REG_B_MEM_SHIFTED[26],
|
5234 |
|
|
REG_B_MEM_SHIFTED[25], REG_B_MEM_SHIFTED[24], REG_B_MEM_SHIFTED[23],
|
5235 |
|
|
REG_B_MEM_SHIFTED[22], REG_B_MEM_SHIFTED[21], REG_B_MEM_SHIFTED[20],
|
5236 |
|
|
REG_B_MEM_SHIFTED[19], REG_B_MEM_SHIFTED[18], REG_B_MEM_SHIFTED[17],
|
5237 |
|
|
REG_B_MEM_SHIFTED[16], REG_B_MEM_SHIFTED[15], REG_B_MEM_SHIFTED[14],
|
5238 |
|
|
REG_B_MEM_SHIFTED[13], REG_B_MEM_SHIFTED[12], REG_B_MEM_SHIFTED[11],
|
5239 |
|
|
REG_B_MEM_SHIFTED[10], REG_B_MEM_SHIFTED[9], REG_B_MEM_SHIFTED[8],
|
5240 |
|
|
REG_B_MEM_SHIFTED[7], REG_B_MEM_SHIFTED[6], REG_B_MEM_SHIFTED[5],
|
5241 |
|
|
REG_B_MEM_SHIFTED[4], REG_B_MEM_SHIFTED[3], REG_B_MEM_SHIFTED[2],
|
5242 |
|
|
REG_B_MEM_SHIFTED[1], REG_B_MEM_SHIFTED[0]}), .O({
|
5243 |
|
|
REG_B_MEM_SHIFTED_MASKED[31], REG_B_MEM_SHIFTED_MASKED[30],
|
5244 |
|
|
REG_B_MEM_SHIFTED_MASKED[29], REG_B_MEM_SHIFTED_MASKED[28],
|
5245 |
|
|
REG_B_MEM_SHIFTED_MASKED[27], REG_B_MEM_SHIFTED_MASKED[26],
|
5246 |
|
|
REG_B_MEM_SHIFTED_MASKED[25], REG_B_MEM_SHIFTED_MASKED[24],
|
5247 |
|
|
REG_B_MEM_SHIFTED_MASKED[23], REG_B_MEM_SHIFTED_MASKED[22],
|
5248 |
|
|
REG_B_MEM_SHIFTED_MASKED[21], REG_B_MEM_SHIFTED_MASKED[20],
|
5249 |
|
|
REG_B_MEM_SHIFTED_MASKED[19], REG_B_MEM_SHIFTED_MASKED[18],
|
5250 |
|
|
REG_B_MEM_SHIFTED_MASKED[17], REG_B_MEM_SHIFTED_MASKED[16],
|
5251 |
|
|
REG_B_MEM_SHIFTED_MASKED[15], REG_B_MEM_SHIFTED_MASKED[14],
|
5252 |
|
|
REG_B_MEM_SHIFTED_MASKED[13], REG_B_MEM_SHIFTED_MASKED[12],
|
5253 |
|
|
REG_B_MEM_SHIFTED_MASKED[11], REG_B_MEM_SHIFTED_MASKED[10],
|
5254 |
|
|
REG_B_MEM_SHIFTED_MASKED[9], REG_B_MEM_SHIFTED_MASKED[8],
|
5255 |
|
|
REG_B_MEM_SHIFTED_MASKED[7], REG_B_MEM_SHIFTED_MASKED[6],
|
5256 |
|
|
REG_B_MEM_SHIFTED_MASKED[5], REG_B_MEM_SHIFTED_MASKED[4],
|
5257 |
|
|
REG_B_MEM_SHIFTED_MASKED[3], REG_B_MEM_SHIFTED_MASKED[2],
|
5258 |
|
|
REG_B_MEM_SHIFTED_MASKED[1], REG_B_MEM_SHIFTED_MASKED[0]}), .SB0
|
5259 |
|
|
(X1N5547), .SB1(X1N5596), .SB2(X1N5598), .SB3(X1N5600));
|
5260 |
|
|
FD4RE X1I5378 (.C(CLK1), .CE(GLB_EN), .D0(X1N5423), .D1(X1N5425), .D2
|
5261 |
|
|
(INSTRUCTION[28]), .D3(INSTRUCTION[31]), .Q0(X1N5383), .Q1(X1N5382), .Q2
|
5262 |
|
|
(X1N5381), .Q3(X1N5788), .R(FLUSH));
|
5263 |
|
|
FD4RE X1I5379 (.C(CLK1), .CE(GLB_EN), .D0(X1N5383), .D1(X1N5382), .D2
|
5264 |
|
|
(X1N5381), .D3(X1N5788), .Q0(LDST_SHIFT0), .Q1(LDST_SHIFT1), .Q2
|
5265 |
|
|
(LDST_SHIFT2), .Q3(CACHE), .R(FLUSH));
|
5266 |
|
|
OR5 X1I5406 (.I0(X1N5407), .I1(X1N4986), .I2(X1N4988), .I3(X1N4990), .I4
|
5267 |
|
|
(X1N4992), .O(X1N5414));
|
5268 |
|
|
OR2B1 X1I5419 (.I0(STATUS1), .I1(STATUS28), .O(X1N5418));
|
5269 |
|
|
OR2 X1I5420 (.I0(INSTRUCTION[30]), .I1(INSTRUCTION[26]), .O(X1N5423));
|
5270 |
|
|
OR2 X1I5424 (.I0(INSTRUCTION[30]), .I1(INSTRUCTION[27]), .O(X1N5425));
|
5271 |
|
|
AND3 X1I5457 (.I0(EXE_FF[0]), .I1(LDST_SHIFT0), .I2(CACHE), .O(X1N5459));
|
5272 |
|
|
AND4 X1I5458 (.I0(EXE_FF[1]), .I1(LDST_SHIFT1), .I2(LDST_SHIFT0), .I3
|
5273 |
|
|
(CACHE), .O(X1N5460));
|
5274 |
|
|
M2_1X5 X1I550 (.A({INSTRUCTION[20], INSTRUCTION[19], INSTRUCTION[18],
|
5275 |
|
|
INSTRUCTION[17], INSTRUCTION[16]}), .B({INSTRUCTION[15], INSTRUCTION[14]
|
5276 |
|
|
, INSTRUCTION[13], INSTRUCTION[12], INSTRUCTION[11]}), .O({
|
5277 |
|
|
REG_DEST_RT_RD[4], REG_DEST_RT_RD[3], REG_DEST_RT_RD[2],
|
5278 |
|
|
REG_DEST_RT_RD[1], REG_DEST_RT_RD[0]}), .SB(SPECIAL));
|
5279 |
|
|
XOR2 X1I5508 (.I0(LDST_SHIFT2), .I1(X1N5520), .O(X1N5507));
|
5280 |
|
|
XOR2 X1I5512 (.I0(X1N5516), .I1(X1N6434), .O(X1N5520));
|
5281 |
|
|
XOR2 X1I5513 (.I0(X1N5516), .I1(X1N6433), .O(X1N5519));
|
5282 |
|
|
XOR2 X1I5514 (.I0(X1N5521), .I1(X1N5519), .O(X1N5524));
|
5283 |
|
|
AND2 X1I5515 (.I0(LDST_SHIFT2), .I1(X1N5520), .O(X1N5521));
|
5284 |
|
|
SOP4 X1I5526 (.I0(X1N5507), .I1(X1N5524), .I2(X1N5559), .I3(X1N5552), .O
|
5285 |
|
|
(X1N5561));
|
5286 |
|
|
SOP4B1 X1I5529 (.I0(X1N5524), .I1(X1N5507), .I2(X1N5559), .I3(X1N5547), .O
|
5287 |
|
|
(X1N5550));
|
5288 |
|
|
SOP4B1 X1I5530 (.I0(X1N5507), .I1(X1N5524), .I2(LDST_SHIFT1), .I3(X1N5550)
|
5289 |
|
|
, .O(X1N5552));
|
5290 |
|
|
AND2B2 X1I5546 (.I0(X1N5524), .I1(X1N5507), .O(X1N5547));
|
5291 |
|
|
REG5 X1I555 (.CLK(CLK1), .EN(GLB_EN), .I({REG_DEST_FETCH[4],
|
5292 |
|
|
REG_DEST_FETCH[3], REG_DEST_FETCH[2], REG_DEST_FETCH[1],
|
5293 |
|
|
REG_DEST_FETCH[0]}), .O({REG_DEST_EXE[4], REG_DEST_EXE[3],
|
5294 |
|
|
REG_DEST_EXE[2], REG_DEST_EXE[1], REG_DEST_EXE[0]}), .RES(FLUSH));
|
5295 |
|
|
XOR2 X1I5564 (.I0(X1N5567), .I1(X1N5550), .O(X1N5596));
|
5296 |
|
|
XOR2 X1I5565 (.I0(X1N5567), .I1(X1N5552), .O(X1N5598));
|
5297 |
|
|
XOR2 X1I5566 (.I0(X1N5567), .I1(X1N5561), .O(X1N5600));
|
5298 |
|
|
AND2B1 X1I5579 (.I0(X1N5547), .I1(LDST_SHIFT2), .O(X1N5567));
|
5299 |
|
|
OR2 X1I5584 (.I0(LDST_SHIFT0), .I1(LDST_SHIFT1), .O(X1N5559));
|
5300 |
|
|
AND3B2 X1I5608 (.I0(EXE_FF[1]), .I1(EXE_FF[0]), .I2(LDST_SHIFT1), .O
|
5301 |
|
|
(MEM_FULL_WRITE));
|
5302 |
|
|
OR2 X1I5615 (.I0(MEM_FULL_WRITE), .I1(DATA_CACHE_HIT), .O(X1N5616));
|
5303 |
|
|
AND2 X1I5623 (.I0(X1N5624), .I1(X1N5625), .O(X1N5620));
|
5304 |
|
|
XOR2 X1I5630 (.I0(X1N5620), .I1(X1N5628), .O(X1N5618));
|
5305 |
|
|
XOR2 X1I5631 (.I0(X1N5651), .I1(X1N6421), .O(X1N5628));
|
5306 |
|
|
XOR2 X1I5632 (.I0(X1N5651), .I1(X1N6439), .O(X1N5625));
|
5307 |
|
|
XOR2 X1I5633 (.I0(X1N5624), .I1(X1N5625), .O(X1N5619));
|
5308 |
|
|
AND2 X1I5634 (.I0(LDST_SHIFT2), .I1(LDST_SHIFT1), .O(X1N5624));
|
5309 |
|
|
AND2 X1I5649 (.I0(X1N5618), .I1(X1N5651), .O(X1N5668));
|
5310 |
|
|
AND2 X1I5650 (.I0(X1N5706), .I1(X1N5651), .O(X1N5670));
|
5311 |
|
|
AND3 X1I5655 (.I0(X1N5651), .I1(X1N5619), .I2(X1N5618), .O(X1N5666));
|
5312 |
|
|
XOR2 X1I5665 (.I0(X1N5671), .I1(X1N5666), .O(X1N5686));
|
5313 |
|
|
XOR2 X1I5667 (.I0(X1N5671), .I1(X1N5668), .O(X1N5684));
|
5314 |
|
|
XOR2 X1I5669 (.I0(X1N5671), .I1(X1N5670), .O(X1N5688));
|
5315 |
|
|
AND2 X1I5679 (.I0(X1N5696), .I1(X1N5686), .O(X1N5728));
|
5316 |
|
|
AND2 X1I5680 (.I0(X1N5696), .I1(X1N5684), .O(X1N5732));
|
5317 |
|
|
AND2 X1I5681 (.I0(X1N5696), .I1(X1N5688), .O(X1N5734));
|
5318 |
|
|
OR2 X1I5705 (.I0(X1N5619), .I1(X1N5618), .O(X1N5706));
|
5319 |
|
|
AND2B1 X1I5710 (.I0(X1N5706), .I1(X1N5651), .O(X1N5696));
|
5320 |
|
|
AND2 X1I5718 (.I0(X1N5651), .I1(LDST_SHIFT2), .O(X1N5671));
|
5321 |
|
|
INV X1I5720 (.I(X1N5706), .O(X1N5723));
|
5322 |
|
|
XOR2 X1I5722 (.I0(X1N5723), .I1(X1N5671), .O(X1N5726));
|
5323 |
|
|
AND2 X1I5727 (.I0(X1N5696), .I1(X1N5726), .O(X1N5736));
|
5324 |
|
|
AND2B1 X1I5738 (.I0(LDST_SHIFT0), .I1(X1N5746), .O(X1N5748));
|
5325 |
|
|
INV X1I5744 (.I(LDST_SHIFT1), .O(X1N5746));
|
5326 |
|
|
M2_1E X1I5753 (.D0(LOAD_ROTATED[15]), .D1(LOAD_ROTATED[7]), .E(X1N5764),
|
5327 |
|
|
.O(X1N5754), .S0(LDST_SHIFT0));
|
5328 |
|
|
INV X1I5761 (.I(LDST_SHIFT2), .O(X1N5764));
|
5329 |
|
|
BUFE32 X1I5781 (.E(CP0_READ_CAUSE), .I({CPO_CAUSE31, GND, CPO_CAUSE29,
|
5330 |
|
|
CPO_CAUSE28, GND[27], GND[26], GND[25], GND[24], GND[23], GND[22],
|
5331 |
|
|
GND[21], GND[20], GND[19], GND[18], GND[17], GND[16], CPO_CAUSE[15],
|
5332 |
|
|
CPO_CAUSE[14], CPO_CAUSE[13], CPO_CAUSE[12], CPO_CAUSE[11],
|
5333 |
|
|
CPO_CAUSE[10], CPO_CAUSE[9], CPO_CAUSE[8], GND, CPO_CAUSE[6],
|
5334 |
|
|
CPO_CAUSE[5], CPO_CAUSE[4], CPO_CAUSE[3], CPO_CAUSE[2], GND[1], GND[0]})
|
5335 |
|
|
, .O({CACHE_DAT[31], CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28],
|
5336 |
|
|
CACHE_DAT[27], CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24],
|
5337 |
|
|
CACHE_DAT[23], CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20],
|
5338 |
|
|
CACHE_DAT[19], CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16],
|
5339 |
|
|
CACHE_DAT[15], CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12],
|
5340 |
|
|
CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7],
|
5341 |
|
|
CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2],
|
5342 |
|
|
CACHE_DAT[1], CACHE_DAT[0]}));
|
5343 |
|
|
AND2B2 X1I5810 (.I0(RESET), .I1(STATUS22), .O(X1N6062));
|
5344 |
|
|
AND2B1 X1I5823 (.I0(RESET), .I1(STATUS22), .O(X1N5811));
|
5345 |
|
|
GND X1I5888 (.G(EXTERNAL_INTERRUPT1));
|
5346 |
|
|
REG5 X1I589 (.CLK(CLK1), .EN(GLB_EN), .I({REG_DEST_EXE[4], REG_DEST_EXE[3]
|
5347 |
|
|
, REG_DEST_EXE[2], REG_DEST_EXE[1], REG_DEST_EXE[0]}), .O({
|
5348 |
|
|
REG_DEST_MEM[4], REG_DEST_MEM[3], REG_DEST_MEM[2], REG_DEST_MEM[1],
|
5349 |
|
|
REG_DEST_MEM[0]}), .RES(FLUSH));
|
5350 |
|
|
AND2B1 X1I5922 (.I0(INST_MEM_ACCESS), .I1(CLK2_NBUF), .O(X1N5147));
|
5351 |
|
|
AND2B1 X1I593 (.I0(SET_R0), .I1(REG_DEST_RT_RD[0]), .O(X1N595));
|
5352 |
|
|
FD16RE X1I5935 (.C(CLK1), .CE(X1N3422), .D({MEM_DAT[15], MEM_DAT[14],
|
5353 |
|
|
MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10], MEM_DAT[9],
|
5354 |
|
|
MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4], MEM_DAT[3],
|
5355 |
|
|
MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .Q({DISPLAY[15], DISPLAY[14],
|
5356 |
|
|
DISPLAY[13], DISPLAY[12], DISPLAY[11], DISPLAY[10], DISPLAY[9],
|
5357 |
|
|
DISPLAY[8], DISPLAY[7], DISPLAY[6], DISPLAY[5], DISPLAY[4], DISPLAY[3],
|
5358 |
|
|
DISPLAY[2], DISPLAY[1], DISPLAY[0]}), .R(GND));
|
5359 |
|
|
OR2 X1I594 (.I0(SET_R31), .I1(X1N595), .O(REG_DEST_FETCH[0]));
|
5360 |
|
|
AND2 X1I5946 (.I0(STATUS1), .I1(PC[31]), .O(X1N5947));
|
5361 |
|
|
OR2 X1I5961 (.I0(DATA_MEM_ACCESS), .I1(INST_MEM_ACCESS), .O(MEMORY));
|
5362 |
|
|
AND3 X1I5976 (.I0(STATUS1), .I1(EXE_FF[31]), .I2(CACHE), .O(X1N5975));
|
5363 |
|
|
AND2B1 X1I598 (.I0(SET_R0), .I1(REG_DEST_RT_RD[1]), .O(X1N600));
|
5364 |
|
|
AND4B2 X1I5985 (.I0(EXC_CODE[4]), .I1(EXC_CODE[3]), .I2(X1N6001), .I3
|
5365 |
|
|
(INTERRUPT_MEM));
|
5366 |
|
|
OR2 X1I599 (.I0(SET_R31), .I1(X1N600), .O(REG_DEST_FETCH[1]));
|
5367 |
|
|
OR3 X1I5997 (.I0(EXC_CODE[2]), .I1(EXC_CODE[1]), .I2(EXC_CODE[0]), .O
|
5368 |
|
|
(X1N6001));
|
5369 |
|
|
AND2 X1I6011 (.I0(X1N6012), .I1(GLB_EN), .O(X1N4935));
|
5370 |
|
|
RAM32X32S X1I6019 (.A0(CPO_REG_SELECT[0]), .A1(CPO_REG_SELECT[1]), .A2
|
5371 |
|
|
(CPO_REG_SELECT[2]), .A3(CPO_REG_SELECT[3]), .A4(GND), .D({CACHE_DAT[31]
|
5372 |
|
|
, CACHE_DAT[30], CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27],
|
5373 |
|
|
CACHE_DAT[26], CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23],
|
5374 |
|
|
CACHE_DAT[22], CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19],
|
5375 |
|
|
CACHE_DAT[18], CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15],
|
5376 |
|
|
CACHE_DAT[14], CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11],
|
5377 |
|
|
CACHE_DAT[10], CACHE_DAT[9], CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6],
|
5378 |
|
|
CACHE_DAT[5], CACHE_DAT[4], CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1],
|
5379 |
|
|
CACHE_DAT[0]}), .O({CP0_HI_REGS[31], CP0_HI_REGS[30], CP0_HI_REGS[29],
|
5380 |
|
|
CP0_HI_REGS[28], CP0_HI_REGS[27], CP0_HI_REGS[26], CP0_HI_REGS[25],
|
5381 |
|
|
CP0_HI_REGS[24], CP0_HI_REGS[23], CP0_HI_REGS[22], CP0_HI_REGS[21],
|
5382 |
|
|
CP0_HI_REGS[20], CP0_HI_REGS[19], CP0_HI_REGS[18], CP0_HI_REGS[17],
|
5383 |
|
|
CP0_HI_REGS[16], CP0_HI_REGS[15], CP0_HI_REGS[14], CP0_HI_REGS[13],
|
5384 |
|
|
CP0_HI_REGS[12], CP0_HI_REGS[11], CP0_HI_REGS[10], CP0_HI_REGS[9],
|
5385 |
|
|
CP0_HI_REGS[8], CP0_HI_REGS[7], CP0_HI_REGS[6], CP0_HI_REGS[5],
|
5386 |
|
|
CP0_HI_REGS[4], CP0_HI_REGS[3], CP0_HI_REGS[2], CP0_HI_REGS[1],
|
5387 |
|
|
CP0_HI_REGS[0]}), .WCLK(CLK1), .WE(X1N6037));
|
5388 |
|
|
BUFE32 X1I6020 (.E(X1N6025), .I({CP0_HI_REGS[31], CP0_HI_REGS[30],
|
5389 |
|
|
CP0_HI_REGS[29], CP0_HI_REGS[28], CP0_HI_REGS[27], CP0_HI_REGS[26],
|
5390 |
|
|
CP0_HI_REGS[25], CP0_HI_REGS[24], CP0_HI_REGS[23], CP0_HI_REGS[22],
|
5391 |
|
|
CP0_HI_REGS[21], CP0_HI_REGS[20], CP0_HI_REGS[19], CP0_HI_REGS[18],
|
5392 |
|
|
CP0_HI_REGS[17], CP0_HI_REGS[16], CP0_HI_REGS[15], CP0_HI_REGS[14],
|
5393 |
|
|
CP0_HI_REGS[13], CP0_HI_REGS[12], CP0_HI_REGS[11], CP0_HI_REGS[10],
|
5394 |
|
|
CP0_HI_REGS[9], CP0_HI_REGS[8], CP0_HI_REGS[7], CP0_HI_REGS[6],
|
5395 |
|
|
CP0_HI_REGS[5], CP0_HI_REGS[4], CP0_HI_REGS[3], CP0_HI_REGS[2],
|
5396 |
|
|
CP0_HI_REGS[1], CP0_HI_REGS[0]}), .O({CACHE_DAT[31], CACHE_DAT[30],
|
5397 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
5398 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
5399 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
5400 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
5401 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
5402 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
5403 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
5404 |
|
|
AND4 X1I6024 (.I0(CPO_REG_SELECT[4]), .I1(CPO_OUTPUT), .I2(CLK2_NBUF), .I3
|
5405 |
|
|
(GLB_EN), .O(X1N6025));
|
5406 |
|
|
AND5 X1I6032 (.I0(CPO_REG_SELECT[4]), .I1(CPO_WRITE), .I2(CLK2_NBUF), .I3
|
5407 |
|
|
(GLB_EN), .I4(X1N6030), .O(X1N6037));
|
5408 |
|
|
OR2B1 X1I6036 (.I0(STATUS28), .I1(STATUS1), .O(X1N6030));
|
5409 |
|
|
OR2 X1I6066 (.I0(INTERRUPT_MEM), .I1(INT_FETCH_ADEL), .O(X1N6067));
|
5410 |
|
|
AND2 X1I6071 (.I0(MMU_HIT_DATA), .I1(V_ADDRESS_ERROR), .O(X1N5287));
|
5411 |
|
|
AND3B1 X1I6079 (.I0(ADDRESS[2]), .I1(END_READ), .I2(ENABLE_SERIAL), .O
|
5412 |
|
|
(X1N2874));
|
5413 |
|
|
XNOR2 X1I6126 (.I0(INSTRUCTION[28]), .I1(INSTRUCTION[27]), .O(X1N6127));
|
5414 |
|
|
OR2 X1I613 (.I0(SET_R31), .I1(X1N616), .O(REG_DEST_FETCH[2]));
|
5415 |
|
|
AND3B2 X1I6130 (.I0(INSTRUCTION[28]), .I1(INSTRUCTION[27]), .I2
|
5416 |
|
|
(BR_INSTRUCTION), .O(BR_GEZ_LTZ));
|
5417 |
|
|
AND3B1 X1I6136 (.I0(INSTRUCTION[28]), .I1(INSTRUCTION[27]), .I2
|
5418 |
|
|
(BR_INSTRUCTION), .O(JUMPLONG));
|
5419 |
|
|
OR3 X1I6143 (.I0(JUMPLONG), .I1(X1N6144), .I2(X1N6177), .O(TAKEBRANCH));
|
5420 |
|
|
AND4B2 X1I6145 (.I0(INSTRUCTION[25]), .I1(INSTRUCTION[31]), .I2
|
5421 |
|
|
(INSTRUCTION[24]), .I3(INSTRUCTION[30]), .O(X1N6151));
|
5422 |
|
|
D2_4E X1I6150 (.A0(INSTRUCTION[26]), .A1(INSTRUCTION[27]), .D0(X1N6156),
|
5423 |
|
|
.D1(X1N6158), .D2(X1N6160), .D3(X1N6161), .E(X1N6151));
|
5424 |
|
|
AND2 X1I6155 (.I0(X1N6156), .I1(GND), .O(X1N6175));
|
5425 |
|
|
AND2 X1I6157 (.I0(X1N6158), .I1(GND), .O(X1N6173));
|
5426 |
|
|
AND2 X1I6159 (.I0(X1N6160), .I1(GND), .O(X1N6171));
|
5427 |
|
|
AND2 X1I6162 (.I0(X1N6161), .I1(GND), .O(X1N6169));
|
5428 |
|
|
OR4 X1I6168 (.I0(X1N6169), .I1(X1N6171), .I2(X1N6173), .I3(X1N6175), .O
|
5429 |
|
|
(X1N6177));
|
5430 |
|
|
AND2B1 X1I617 (.I0(SET_R0), .I1(REG_DEST_RT_RD[2]), .O(X1N616));
|
5431 |
|
|
OR2 X1I620 (.I0(SET_R31), .I1(X1N623), .O(REG_DEST_FETCH[3]));
|
5432 |
|
|
OR2 X1I6215 (.I0(JMP2REG), .I1(TAKEBRANCH), .O(BRANCH));
|
5433 |
|
|
AND2B1 X1I6219 (.I0(BRANCH), .I1(GLB_EN), .O(X1N6218));
|
5434 |
|
|
AND2B1 X1I624 (.I0(SET_R0), .I1(REG_DEST_RT_RD[3]), .O(X1N623));
|
5435 |
|
|
MUX2_1X32 X1I6289 (.A({PC_PLUS_FOUR[31], PC_PLUS_FOUR[30],
|
5436 |
|
|
PC_PLUS_FOUR[29], PC_PLUS_FOUR[28], PC_PLUS_FOUR[27], PC_PLUS_FOUR[26],
|
5437 |
|
|
PC_PLUS_FOUR[25], PC_PLUS_FOUR[24], PC_PLUS_FOUR[23], PC_PLUS_FOUR[22],
|
5438 |
|
|
PC_PLUS_FOUR[21], PC_PLUS_FOUR[20], PC_PLUS_FOUR[19], PC_PLUS_FOUR[18],
|
5439 |
|
|
PC_PLUS_FOUR[17], PC_PLUS_FOUR[16], PC_PLUS_FOUR[15], PC_PLUS_FOUR[14],
|
5440 |
|
|
PC_PLUS_FOUR[13], PC_PLUS_FOUR[12], PC_PLUS_FOUR[11], PC_PLUS_FOUR[10],
|
5441 |
|
|
PC_PLUS_FOUR[9], PC_PLUS_FOUR[8], PC_PLUS_FOUR[7], PC_PLUS_FOUR[6],
|
5442 |
|
|
PC_PLUS_FOUR[5], PC_PLUS_FOUR[4], PC_PLUS_FOUR[3], PC_PLUS_FOUR[2],
|
5443 |
|
|
PC_PLUS_FOUR[1], PC_PLUS_FOUR[0]}), .B({ALU_PC[31], ALU_PC[30],
|
5444 |
|
|
ALU_PC[29], ALU_PC[28], ALU_PC[27], ALU_PC[26], ALU_PC[25], ALU_PC[24],
|
5445 |
|
|
ALU_PC[23], ALU_PC[22], ALU_PC[21], ALU_PC[20], ALU_PC[19], ALU_PC[18],
|
5446 |
|
|
ALU_PC[17], ALU_PC[16], ALU_PC[15], ALU_PC[14], ALU_PC[13], ALU_PC[12],
|
5447 |
|
|
ALU_PC[11], ALU_PC[10], ALU_PC[9], ALU_PC[8], ALU_PC[7], ALU_PC[6],
|
5448 |
|
|
ALU_PC[5], ALU_PC[4], ALU_PC[3], ALU_PC[2], ALU_PC[1], ALU_PC[0]}), .SB
|
5449 |
|
|
(INST_ADDR_ERROR), .S({NEXT_STORED_PC[31], NEXT_STORED_PC[30],
|
5450 |
|
|
NEXT_STORED_PC[29], NEXT_STORED_PC[28], NEXT_STORED_PC[27],
|
5451 |
|
|
NEXT_STORED_PC[26], NEXT_STORED_PC[25], NEXT_STORED_PC[24],
|
5452 |
|
|
NEXT_STORED_PC[23], NEXT_STORED_PC[22], NEXT_STORED_PC[21],
|
5453 |
|
|
NEXT_STORED_PC[20], NEXT_STORED_PC[19], NEXT_STORED_PC[18],
|
5454 |
|
|
NEXT_STORED_PC[17], NEXT_STORED_PC[16], NEXT_STORED_PC[15],
|
5455 |
|
|
NEXT_STORED_PC[14], NEXT_STORED_PC[13], NEXT_STORED_PC[12],
|
5456 |
|
|
NEXT_STORED_PC[11], NEXT_STORED_PC[10], NEXT_STORED_PC[9],
|
5457 |
|
|
NEXT_STORED_PC[8], NEXT_STORED_PC[7], NEXT_STORED_PC[6],
|
5458 |
|
|
NEXT_STORED_PC[5], NEXT_STORED_PC[4], NEXT_STORED_PC[3],
|
5459 |
|
|
NEXT_STORED_PC[2], NEXT_STORED_PC[1], NEXT_STORED_PC[0]}));
|
5460 |
|
|
FDE X1I6307 (.C(CLK1), .CE(GLB_EN), .D(RESET_IN), .Q(RESET));
|
5461 |
|
|
FDE X1I6314 (.C(CLK1), .CE(GLB_EN), .D(SET_R31), .Q(SET_R31_EXE));
|
5462 |
|
|
OR2 X1I6334 (.I0(X1N6337), .I1(RESET_IN), .O(INTERRUPT_MEM));
|
5463 |
|
|
AND3 X1I6336 (.I0(GLB_EN), .I1(CLK2_NBUF), .I2(X1N6323), .O(X1N6337));
|
5464 |
|
|
OR2 X1I634 (.I0(SET_R31), .I1(X1N637), .O(REG_DEST_FETCH[4]));
|
5465 |
|
|
INV X1I6364 (.I(INTERRUPT_MEM), .O(X1N6365));
|
5466 |
|
|
AND2B1 X1I638 (.I0(SET_R0), .I1(REG_DEST_RT_RD[4]), .O(X1N637));
|
5467 |
|
|
OR2 X1I6394 (.I0(X1N6396), .I1(X1N6395), .O(ENABLE_ROM));
|
5468 |
|
|
AND5B4 X1I6403 (.I0(MMU_NOT_VALID_DATA), .I1(EXC_CODE[4]), .I2
|
5469 |
|
|
(EXC_CODE[3]), .I3(EXC_CODE[2]), .I4(EXC_CODE[1]), .O(X1N6409));
|
5470 |
|
|
AND2 X1I6420 (.I0(CACHE), .I1(EXE_FF[1]), .O(X1N6421));
|
5471 |
|
|
AND2 X1I6422 (.I0(CACHE), .I1(EXE_FF[0]), .O(X1N6439));
|
5472 |
|
|
AND2 X1I6431 (.I0(CACHE), .I1(EXE_FF[1]), .O(X1N6433));
|
5473 |
|
|
AND2 X1I6432 (.I0(CACHE), .I1(EXE_FF[0]), .O(X1N6434));
|
5474 |
|
|
OR3 X1I6450 (.I0(X1N5460), .I1(X1N5459), .I2(X1N5975), .O
|
5475 |
|
|
(INT_UNALIGNED_ACCESS));
|
5476 |
|
|
FD X1I6454 (.C(X1N6461), .D(X1N6456), .Q(X1N6457));
|
5477 |
|
|
INV X1I6455 (.I(X1N6457), .O(X1N6456));
|
5478 |
|
|
FD X1I6458 (.C(X1N6462), .D(X1N6460), .Q(X1N6461));
|
5479 |
|
|
INV X1I6459 (.I(X1N6461), .O(X1N6460));
|
5480 |
|
|
MEM X1I6505 (.ADDRESS({ADDRESS[31], ADDRESS[30], ADDRESS[29], ADDRESS[28]
|
5481 |
|
|
, ADDRESS[27], ADDRESS[26], ADDRESS[25], ADDRESS[24], ADDRESS[23],
|
5482 |
|
|
ADDRESS[22], ADDRESS[21], ADDRESS[20], ADDRESS[19], ADDRESS[18],
|
5483 |
|
|
ADDRESS[17], ADDRESS[16], ADDRESS[15], ADDRESS[14], ADDRESS[13],
|
5484 |
|
|
ADDRESS[12], ADDRESS[11], ADDRESS[10], ADDRESS[9], ADDRESS[8],
|
5485 |
|
|
ADDRESS[7], ADDRESS[6], ADDRESS[5], ADDRESS[4], ADDRESS[3], ADDRESS[2],
|
5486 |
|
|
ADDRESS[1], ADDRESS[0]}), .CE(ENABLE_RAM2), .MEM_READ_DATA({RAM_READ[31]
|
5487 |
|
|
, RAM_READ[30], RAM_READ[29], RAM_READ[28], RAM_READ[27], RAM_READ[26],
|
5488 |
|
|
RAM_READ[25], RAM_READ[24], RAM_READ[23], RAM_READ[22], RAM_READ[21],
|
5489 |
|
|
RAM_READ[20], RAM_READ[19], RAM_READ[18], RAM_READ[17], RAM_READ[16],
|
5490 |
|
|
RAM_READ[15], RAM_READ[14], RAM_READ[13], RAM_READ[12], RAM_READ[11],
|
5491 |
|
|
RAM_READ[10], RAM_READ[9], RAM_READ[8], RAM_READ[7], RAM_READ[6],
|
5492 |
|
|
RAM_READ[5], RAM_READ[4], RAM_READ[3], RAM_READ[2], RAM_READ[1],
|
5493 |
|
|
RAM_READ[0]}), .OE(X1N6527), .WR(X1N6510), .WRITE_DATA({MEM_DAT[31],
|
5494 |
|
|
MEM_DAT[30], MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26],
|
5495 |
|
|
MEM_DAT[25], MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21],
|
5496 |
|
|
MEM_DAT[20], MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16],
|
5497 |
|
|
MEM_DAT[15], MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11],
|
5498 |
|
|
MEM_DAT[10], MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5]
|
5499 |
|
|
, MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
5500 |
|
|
AND2B1 X1I6508 (.I0(END_WRITE), .I1(MEM_WRITE), .O(X1N6510));
|
5501 |
|
|
AND3B2 X1I6509 (.I0(ADDRESS[27]), .I1(ADDRESS[28]), .I2(MEMORY), .O
|
5502 |
|
|
(ENABLE_RAM2));
|
5503 |
|
|
AND2B1 X1I6511 (.I0(MEM_WRITE), .I1(ENABLE_RAM2), .O(X1N6519));
|
5504 |
|
|
BUFE32 X1I6514 (.E(X1N6519), .I({RAM_READ[31], RAM_READ[30], RAM_READ[29]
|
5505 |
|
|
, RAM_READ[28], RAM_READ[27], RAM_READ[26], RAM_READ[25], RAM_READ[24],
|
5506 |
|
|
RAM_READ[23], RAM_READ[22], RAM_READ[21], RAM_READ[20], RAM_READ[19],
|
5507 |
|
|
RAM_READ[18], RAM_READ[17], RAM_READ[16], RAM_READ[15], RAM_READ[14],
|
5508 |
|
|
RAM_READ[13], RAM_READ[12], RAM_READ[11], RAM_READ[10], RAM_READ[9],
|
5509 |
|
|
RAM_READ[8], RAM_READ[7], RAM_READ[6], RAM_READ[5], RAM_READ[4],
|
5510 |
|
|
RAM_READ[3], RAM_READ[2], RAM_READ[1], RAM_READ[0]}), .O({MEM_DAT[31],
|
5511 |
|
|
MEM_DAT[30], MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26],
|
5512 |
|
|
MEM_DAT[25], MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21],
|
5513 |
|
|
MEM_DAT[20], MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16],
|
5514 |
|
|
MEM_DAT[15], MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11],
|
5515 |
|
|
MEM_DAT[10], MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5]
|
5516 |
|
|
, MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
5517 |
|
|
INV X1I6526 (.I(MEM_WRITE), .O(X1N6527));
|
5518 |
|
|
AND3 X1I6588 (.I0(ADDRESS[23]), .I1(ADDRESS[24]), .I2(ADDRESS[25]), .O
|
5519 |
|
|
(X1N6590));
|
5520 |
|
|
AND3 X1I6589 (.I0(MEMORY), .I1(X1N6590), .I2(X1N1870), .O(X1N5951));
|
5521 |
|
|
RAM32X32S X1I6599 (.A0(ADDRESS[2]), .A1(ADDRESS[3]), .A2(ADDRESS[4]), .A3
|
5522 |
|
|
(ADDRESS[5]), .A4(ADDRESS[6]), .D({MEM_DAT[31], MEM_DAT[30], MEM_DAT[29]
|
5523 |
|
|
, MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25], MEM_DAT[24],
|
5524 |
|
|
MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20], MEM_DAT[19],
|
5525 |
|
|
MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15], MEM_DAT[14],
|
5526 |
|
|
MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10], MEM_DAT[9],
|
5527 |
|
|
MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4], MEM_DAT[3],
|
5528 |
|
|
MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .O({RAM2_READ[31], RAM2_READ[30],
|
5529 |
|
|
RAM2_READ[29], RAM2_READ[28], RAM2_READ[27], RAM2_READ[26],
|
5530 |
|
|
RAM2_READ[25], RAM2_READ[24], RAM2_READ[23], RAM2_READ[22],
|
5531 |
|
|
RAM2_READ[21], RAM2_READ[20], RAM2_READ[19], RAM2_READ[18],
|
5532 |
|
|
RAM2_READ[17], RAM2_READ[16], RAM2_READ[15], RAM2_READ[14],
|
5533 |
|
|
RAM2_READ[13], RAM2_READ[12], RAM2_READ[11], RAM2_READ[10], RAM2_READ[9]
|
5534 |
|
|
, RAM2_READ[8], RAM2_READ[7], RAM2_READ[6], RAM2_READ[5], RAM2_READ[4],
|
5535 |
|
|
RAM2_READ[3], RAM2_READ[2], RAM2_READ[1], RAM2_READ[0]}), .WCLK(CLK1),
|
5536 |
|
|
.WE(X1N6609));
|
5537 |
|
|
AND2B1 X1I6607 (.I0(MEM_WRITE), .I1(ENABLE_RAM), .O(X1N6613));
|
5538 |
|
|
AND2 X1I6608 (.I0(END_WRITE), .I1(ENABLE_RAM), .O(X1N6609));
|
5539 |
|
|
BUFE32 X1I6611 (.E(X1N6613), .I({RAM2_READ[31], RAM2_READ[30],
|
5540 |
|
|
RAM2_READ[29], RAM2_READ[28], RAM2_READ[27], RAM2_READ[26],
|
5541 |
|
|
RAM2_READ[25], RAM2_READ[24], RAM2_READ[23], RAM2_READ[22],
|
5542 |
|
|
RAM2_READ[21], RAM2_READ[20], RAM2_READ[19], RAM2_READ[18],
|
5543 |
|
|
RAM2_READ[17], RAM2_READ[16], RAM2_READ[15], RAM2_READ[14],
|
5544 |
|
|
RAM2_READ[13], RAM2_READ[12], RAM2_READ[11], RAM2_READ[10], RAM2_READ[9]
|
5545 |
|
|
, RAM2_READ[8], RAM2_READ[7], RAM2_READ[6], RAM2_READ[5], RAM2_READ[4],
|
5546 |
|
|
RAM2_READ[3], RAM2_READ[2], RAM2_READ[1], RAM2_READ[0]}), .O({
|
5547 |
|
|
MEM_DAT[31], MEM_DAT[30], MEM_DAT[29], MEM_DAT[28], MEM_DAT[27],
|
5548 |
|
|
MEM_DAT[26], MEM_DAT[25], MEM_DAT[24], MEM_DAT[23], MEM_DAT[22],
|
5549 |
|
|
MEM_DAT[21], MEM_DAT[20], MEM_DAT[19], MEM_DAT[18], MEM_DAT[17],
|
5550 |
|
|
MEM_DAT[16], MEM_DAT[15], MEM_DAT[14], MEM_DAT[13], MEM_DAT[12],
|
5551 |
|
|
MEM_DAT[11], MEM_DAT[10], MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6]
|
5552 |
|
|
, MEM_DAT[5], MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]
|
5553 |
|
|
}));
|
5554 |
|
|
AND3B1 X1I6620 (.I0(ADDRESS[27]), .I1(ADDRESS[28]), .I2(MEMORY), .O
|
5555 |
|
|
(ENABLE_RAM));
|
5556 |
|
|
AND2B1 X1I6630 (.I0(MEM_WRITE), .I1(DATA_MEM_ACCESS), .O(X1N6631));
|
5557 |
|
|
AND2B1 X1I6633 (.I0(SHIFT_SET), .I1(X1N6634), .O(OVERFLOW));
|
5558 |
|
|
BUFE32 X1I6639 (.E(OUTPUT), .I({REG_B_MEM_SHIFTED_MASKED[31],
|
5559 |
|
|
REG_B_MEM_SHIFTED_MASKED[30], REG_B_MEM_SHIFTED_MASKED[29],
|
5560 |
|
|
REG_B_MEM_SHIFTED_MASKED[28], REG_B_MEM_SHIFTED_MASKED[27],
|
5561 |
|
|
REG_B_MEM_SHIFTED_MASKED[26], REG_B_MEM_SHIFTED_MASKED[25],
|
5562 |
|
|
REG_B_MEM_SHIFTED_MASKED[24], REG_B_MEM_SHIFTED_MASKED[23],
|
5563 |
|
|
REG_B_MEM_SHIFTED_MASKED[22], REG_B_MEM_SHIFTED_MASKED[21],
|
5564 |
|
|
REG_B_MEM_SHIFTED_MASKED[20], REG_B_MEM_SHIFTED_MASKED[19],
|
5565 |
|
|
REG_B_MEM_SHIFTED_MASKED[18], REG_B_MEM_SHIFTED_MASKED[17],
|
5566 |
|
|
REG_B_MEM_SHIFTED_MASKED[16], REG_B_MEM_SHIFTED_MASKED[15],
|
5567 |
|
|
REG_B_MEM_SHIFTED_MASKED[14], REG_B_MEM_SHIFTED_MASKED[13],
|
5568 |
|
|
REG_B_MEM_SHIFTED_MASKED[12], REG_B_MEM_SHIFTED_MASKED[11],
|
5569 |
|
|
REG_B_MEM_SHIFTED_MASKED[10], REG_B_MEM_SHIFTED_MASKED[9],
|
5570 |
|
|
REG_B_MEM_SHIFTED_MASKED[8], REG_B_MEM_SHIFTED_MASKED[7],
|
5571 |
|
|
REG_B_MEM_SHIFTED_MASKED[6], REG_B_MEM_SHIFTED_MASKED[5],
|
5572 |
|
|
REG_B_MEM_SHIFTED_MASKED[4], REG_B_MEM_SHIFTED_MASKED[3],
|
5573 |
|
|
REG_B_MEM_SHIFTED_MASKED[2], REG_B_MEM_SHIFTED_MASKED[1],
|
5574 |
|
|
REG_B_MEM_SHIFTED_MASKED[0]}), .O({CACHE_DAT[31], CACHE_DAT[30],
|
5575 |
|
|
CACHE_DAT[29], CACHE_DAT[28], CACHE_DAT[27], CACHE_DAT[26],
|
5576 |
|
|
CACHE_DAT[25], CACHE_DAT[24], CACHE_DAT[23], CACHE_DAT[22],
|
5577 |
|
|
CACHE_DAT[21], CACHE_DAT[20], CACHE_DAT[19], CACHE_DAT[18],
|
5578 |
|
|
CACHE_DAT[17], CACHE_DAT[16], CACHE_DAT[15], CACHE_DAT[14],
|
5579 |
|
|
CACHE_DAT[13], CACHE_DAT[12], CACHE_DAT[11], CACHE_DAT[10], CACHE_DAT[9]
|
5580 |
|
|
, CACHE_DAT[8], CACHE_DAT[7], CACHE_DAT[6], CACHE_DAT[5], CACHE_DAT[4],
|
5581 |
|
|
CACHE_DAT[3], CACHE_DAT[2], CACHE_DAT[1], CACHE_DAT[0]}));
|
5582 |
|
|
AND2B1 X1I6665 (.I0(RESET), .I1(TLB_REFIL), .O(X1N6667));
|
5583 |
|
|
FDE X1I6675 (.C(CLK1), .CE(GLB_EN), .D(X1N6409), .Q(TLB_REFIL));
|
5584 |
|
|
DCOUNT X1I6694 (.CLK(CLK1), .EN(X1N6709), .IN({MEM_DAT[31], MEM_DAT[30],
|
5585 |
|
|
MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25],
|
5586 |
|
|
MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20],
|
5587 |
|
|
MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15],
|
5588 |
|
|
MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10],
|
5589 |
|
|
MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4],
|
5590 |
|
|
MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .LOAD(X1N6705), .O({
|
5591 |
|
|
COUNTER[31], COUNTER[30], COUNTER[29], COUNTER[28], COUNTER[27],
|
5592 |
|
|
COUNTER[26], COUNTER[25], COUNTER[24], COUNTER[23], COUNTER[22],
|
5593 |
|
|
COUNTER[21], COUNTER[20], COUNTER[19], COUNTER[18], COUNTER[17],
|
5594 |
|
|
COUNTER[16], COUNTER[15], COUNTER[14], COUNTER[13], COUNTER[12],
|
5595 |
|
|
COUNTER[11], COUNTER[10], COUNTER[9], COUNTER[8], COUNTER[7], COUNTER[6]
|
5596 |
|
|
, COUNTER[5], COUNTER[4], COUNTER[3], COUNTER[2], COUNTER[1], COUNTER[0]
|
5597 |
|
|
}), .ZERO(COUNTER_ZERO));
|
5598 |
|
|
BUFE32 X1I6698 (.E(X1N6697), .I({COUNTER[31], COUNTER[30], COUNTER[29],
|
5599 |
|
|
COUNTER[28], COUNTER[27], COUNTER[26], COUNTER[25], COUNTER[24],
|
5600 |
|
|
COUNTER[23], COUNTER[22], COUNTER[21], COUNTER[20], COUNTER[19],
|
5601 |
|
|
COUNTER[18], COUNTER[17], COUNTER[16], COUNTER[15], COUNTER[14],
|
5602 |
|
|
COUNTER[13], COUNTER[12], COUNTER[11], COUNTER[10], COUNTER[9],
|
5603 |
|
|
COUNTER[8], COUNTER[7], COUNTER[6], COUNTER[5], COUNTER[4], COUNTER[3],
|
5604 |
|
|
COUNTER[2], COUNTER[1], COUNTER[0]}), .O({MEM_DAT[31], MEM_DAT[30],
|
5605 |
|
|
MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25],
|
5606 |
|
|
MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20],
|
5607 |
|
|
MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15],
|
5608 |
|
|
MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10],
|
5609 |
|
|
MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4],
|
5610 |
|
|
MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
5611 |
|
|
AND2B1 X1I6699 (.I0(MEM_WRITE), .I1(ENABLE_COUNTER), .O(X1N6697));
|
5612 |
|
|
AND2 X1I6704 (.I0(END_WRITE), .I1(ENABLE_COUNTER), .O(X1N6705));
|
5613 |
|
|
BUFE X1I6720 (.E(X1N2760), .I(SERIAL_ACK), .O(MEM_DAT[9]));
|
5614 |
|
|
REG32 X1I6772 (.CLK(CLK1), .EN(END_READ_B4_WRITE), .I({MEM_DAT[31],
|
5615 |
|
|
MEM_DAT[30], MEM_DAT[29], MEM_DAT[28], MEM_DAT[27], MEM_DAT[26],
|
5616 |
|
|
MEM_DAT[25], MEM_DAT[24], MEM_DAT[23], MEM_DAT[22], MEM_DAT[21],
|
5617 |
|
|
MEM_DAT[20], MEM_DAT[19], MEM_DAT[18], MEM_DAT[17], MEM_DAT[16],
|
5618 |
|
|
MEM_DAT[15], MEM_DAT[14], MEM_DAT[13], MEM_DAT[12], MEM_DAT[11],
|
5619 |
|
|
MEM_DAT[10], MEM_DAT[9], MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5]
|
5620 |
|
|
, MEM_DAT[4], MEM_DAT[3], MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}), .O({
|
5621 |
|
|
MEMORY_BEFRE_WRITE[31], MEMORY_BEFRE_WRITE[30], MEMORY_BEFRE_WRITE[29],
|
5622 |
|
|
MEMORY_BEFRE_WRITE[28], MEMORY_BEFRE_WRITE[27], MEMORY_BEFRE_WRITE[26],
|
5623 |
|
|
MEMORY_BEFRE_WRITE[25], MEMORY_BEFRE_WRITE[24], MEMORY_BEFRE_WRITE[23],
|
5624 |
|
|
MEMORY_BEFRE_WRITE[22], MEMORY_BEFRE_WRITE[21], MEMORY_BEFRE_WRITE[20],
|
5625 |
|
|
MEMORY_BEFRE_WRITE[19], MEMORY_BEFRE_WRITE[18], MEMORY_BEFRE_WRITE[17],
|
5626 |
|
|
MEMORY_BEFRE_WRITE[16], MEMORY_BEFRE_WRITE[15], MEMORY_BEFRE_WRITE[14],
|
5627 |
|
|
MEMORY_BEFRE_WRITE[13], MEMORY_BEFRE_WRITE[12], MEMORY_BEFRE_WRITE[11],
|
5628 |
|
|
MEMORY_BEFRE_WRITE[10], MEMORY_BEFRE_WRITE[9], MEMORY_BEFRE_WRITE[8],
|
5629 |
|
|
MEMORY_BEFRE_WRITE[7], MEMORY_BEFRE_WRITE[6], MEMORY_BEFRE_WRITE[5],
|
5630 |
|
|
MEMORY_BEFRE_WRITE[4], MEMORY_BEFRE_WRITE[3], MEMORY_BEFRE_WRITE[2],
|
5631 |
|
|
MEMORY_BEFRE_WRITE[1], MEMORY_BEFRE_WRITE[0]}));
|
5632 |
|
|
AND3B1 X1I6803 (.I0(COUNTER_ZERO), .I1(STATUS0), .I2(GLB_EN), .O(X1N6709)
|
5633 |
|
|
);
|
5634 |
|
|
FD X1I6825 (.C(X1N6832), .D(X1N6830), .Q(X1N6826));
|
5635 |
|
|
INV X1I6827 (.I(X1N2274), .O(X1N6831));
|
5636 |
|
|
INV X1I6828 (.I(X1N6826), .O(X1N6830));
|
5637 |
|
|
FD X1I6829 (.C(X1N6826), .D(X1N6831), .Q(X1N2274));
|
5638 |
|
|
INV X1I6834 (.I(X1N6832), .O(X1N6833));
|
5639 |
|
|
FD X1I6835 (.C(X1N6836), .D(X1N6833), .Q(X1N6832));
|
5640 |
|
|
INV X1I6838 (.I(X1N6836), .O(X1N6837));
|
5641 |
|
|
FD X1I6839 (.C(CLK), .D(X1N6837), .Q(X1N6836));
|
5642 |
|
|
OR4 X1I6844 (.I0(X1N4910), .I1(X1N4909), .I2(X1N4908), .I3(X1N5414), .O
|
5643 |
|
|
(X1N6846));
|
5644 |
|
|
AND2 X1I6845 (.I0(STATUS0), .I1(X1N6846), .O(EXT_INTERRUPT));
|
5645 |
|
|
BUF X1I6853 (.I(INT_UNALIGNED_ACCESS), .O(V_ADDRESS_ERROR));
|
5646 |
|
|
BUFE32 X1I6887 (.E(X1N6889), .I({GND[31], GND[30], GND[29], GND[28],
|
5647 |
|
|
GND[27], GND[26], GND[25], GND[24], GND[23], GND[22], GND[21], GND[20],
|
5648 |
|
|
GND[19], SW2, SW1, DISPLAY16, DISPLAY[15], DISPLAY[14], DISPLAY[13],
|
5649 |
|
|
DISPLAY[12], DISPLAY[11], DISPLAY[10], DISPLAY[9], DISPLAY[8],
|
5650 |
|
|
DISPLAY[7], DISPLAY[6], DISPLAY[5], DISPLAY[4], DISPLAY[3], DISPLAY[2],
|
5651 |
|
|
DISPLAY[1], DISPLAY[0]}), .O({MEM_DAT[31], MEM_DAT[30], MEM_DAT[29],
|
5652 |
|
|
MEM_DAT[28], MEM_DAT[27], MEM_DAT[26], MEM_DAT[25], MEM_DAT[24],
|
5653 |
|
|
MEM_DAT[23], MEM_DAT[22], MEM_DAT[21], MEM_DAT[20], MEM_DAT[19],
|
5654 |
|
|
MEM_DAT[18], MEM_DAT[17], MEM_DAT[16], MEM_DAT[15], MEM_DAT[14],
|
5655 |
|
|
MEM_DAT[13], MEM_DAT[12], MEM_DAT[11], MEM_DAT[10], MEM_DAT[9],
|
5656 |
|
|
MEM_DAT[8], MEM_DAT[7], MEM_DAT[6], MEM_DAT[5], MEM_DAT[4], MEM_DAT[3],
|
5657 |
|
|
MEM_DAT[2], MEM_DAT[1], MEM_DAT[0]}));
|
5658 |
|
|
AND2B1 X1I6892 (.I0(MEM_WRITE), .I1(ENABLE_DISPLAY), .O(X1N6889));
|
5659 |
|
|
FDE X1I6895 (.C(CLK1), .CE(X1N3422), .D(MEM_DAT[16]), .Q(DISPLAY16));
|
5660 |
|
|
AND2 X1I6929 (.I0(END_WRITE), .I1(ENABLE_ROM), .O(X1N6933));
|
5661 |
|
|
AND2B1 X1I6935 (.I0(LDST_SHIFT0), .I1(LDST_SHIFT1), .O(X1N6938));
|
5662 |
|
|
GND X1I6939 (.G(X1N5651));
|
5663 |
|
|
REG5 X1I694 (.CLK(CLK1), .EN(GLB_EN), .I({REG_DEST_MEM[4], REG_DEST_MEM[3]
|
5664 |
|
|
, REG_DEST_MEM[2], REG_DEST_MEM[1], REG_DEST_MEM[0]}), .O({
|
5665 |
|
|
REG_DEST_WB[4], REG_DEST_WB[3], REG_DEST_WB[2], REG_DEST_WB[1],
|
5666 |
|
|
REG_DEST_WB[0]}), .RES(FLUSH));
|
5667 |
|
|
AND2B1 X1I6941 (.I0(LDST_SHIFT0), .I1(LDST_SHIFT1), .O(X1N6944));
|
5668 |
|
|
GND X1I6946 (.G(X1N5516));
|
5669 |
|
|
CMP_EQ_5 X1I697 (.A({INSTRUCTION[25], INSTRUCTION[24], INSTRUCTION[23],
|
5670 |
|
|
INSTRUCTION[22], INSTRUCTION[21]}), .B({REG_DEST_EXE[4], REG_DEST_EXE[3]
|
5671 |
|
|
, REG_DEST_EXE[2], REG_DEST_EXE[1], REG_DEST_EXE[0]}), .O(X1N6659));
|
5672 |
|
|
CMP_EQ_5 X1I704 (.A({INSTRUCTION[20], INSTRUCTION[19], INSTRUCTION[18],
|
5673 |
|
|
INSTRUCTION[17], INSTRUCTION[16]}), .B({REG_DEST_EXE[4], REG_DEST_EXE[3]
|
5674 |
|
|
, REG_DEST_EXE[2], REG_DEST_EXE[1], REG_DEST_EXE[0]}), .O(X1N6656));
|
5675 |
|
|
FDE X1I710 (.C(CLK1), .CE(GLB_EN), .D(X1N6659), .Q(SEL_PORT_A_ALU));
|
5676 |
|
|
FDE X1I711 (.C(CLK1), .CE(GLB_EN), .D(X1N6656), .Q(SEL_PORT_B_ALU));
|
5677 |
|
|
FDE X1I731 (.C(CLK1), .CE(GLB_EN), .D(X1N739), .Q(SEL_PORT_B_MEM));
|
5678 |
|
|
FDE X1I732 (.C(CLK1), .CE(GLB_EN), .D(X1N740), .Q(SEL_PORT_A_MEM));
|
5679 |
|
|
CMP_EQ_5 X1I734 (.A({INSTRUCTION[25], INSTRUCTION[24], INSTRUCTION[23],
|
5680 |
|
|
INSTRUCTION[22], INSTRUCTION[21]}), .B({REG_DEST_MEM[4], REG_DEST_MEM[3]
|
5681 |
|
|
, REG_DEST_MEM[2], REG_DEST_MEM[1], REG_DEST_MEM[0]}), .O(X1N740));
|
5682 |
|
|
CMP_EQ_5 X1I737 (.A({INSTRUCTION[20], INSTRUCTION[19], INSTRUCTION[18],
|
5683 |
|
|
INSTRUCTION[17], INSTRUCTION[16]}), .B({REG_DEST_MEM[4], REG_DEST_MEM[3]
|
5684 |
|
|
, REG_DEST_MEM[2], REG_DEST_MEM[1], REG_DEST_MEM[0]}), .O(X1N739));
|
5685 |
|
|
ADD32 X1I755 (.A({LAST_PC_NULLED[31], LAST_PC_NULLED[30],
|
5686 |
|
|
LAST_PC_NULLED[29], LAST_PC_NULLED[28], LAST_PC_NULLED[27],
|
5687 |
|
|
LAST_PC_NULLED[26], LAST_PC_NULLED[25], LAST_PC_NULLED[24],
|
5688 |
|
|
LAST_PC_NULLED[23], LAST_PC_NULLED[22], LAST_PC_NULLED[21],
|
5689 |
|
|
LAST_PC_NULLED[20], LAST_PC_NULLED[19], LAST_PC_NULLED[18],
|
5690 |
|
|
LAST_PC_NULLED[17], LAST_PC_NULLED[16], LAST_PC_NULLED[15],
|
5691 |
|
|
LAST_PC_NULLED[14], LAST_PC_NULLED[13], LAST_PC_NULLED[12],
|
5692 |
|
|
LAST_PC_NULLED[11], LAST_PC_NULLED[10], LAST_PC_NULLED[9],
|
5693 |
|
|
LAST_PC_NULLED[8], LAST_PC_NULLED[7], LAST_PC_NULLED[6],
|
5694 |
|
|
LAST_PC_NULLED[5], LAST_PC_NULLED[4], LAST_PC_NULLED[3],
|
5695 |
|
|
LAST_PC_NULLED[2], LAST_PC_NULLED[1], LAST_PC_NULLED[0]}), .B({
|
5696 |
|
|
PC_BR_IMM[31], PC_BR_IMM[30], PC_BR_IMM[29], PC_BR_IMM[28],
|
5697 |
|
|
PC_BR_IMM[27], PC_BR_IMM[26], PC_BR_IMM[25], PC_BR_IMM[24],
|
5698 |
|
|
PC_BR_IMM[23], PC_BR_IMM[22], PC_BR_IMM[21], PC_BR_IMM[20],
|
5699 |
|
|
PC_BR_IMM[19], PC_BR_IMM[18], PC_BR_IMM[17], PC_BR_IMM[16],
|
5700 |
|
|
PC_BR_IMM[15], PC_BR_IMM[14], PC_BR_IMM[13], PC_BR_IMM[12],
|
5701 |
|
|
PC_BR_IMM[11], PC_BR_IMM[10], PC_BR_IMM[9], PC_BR_IMM[8], PC_BR_IMM[7],
|
5702 |
|
|
PC_BR_IMM[6], PC_BR_IMM[5], PC_BR_IMM[4], PC_BR_IMM[3], PC_BR_IMM[2],
|
5703 |
|
|
PC_BR_IMM[1], PC_BR_IMM[0]}), .S({BRANCH[31], BRANCH[30], BRANCH[29],
|
5704 |
|
|
BRANCH[28], BRANCH[27], BRANCH[26], BRANCH[25], BRANCH[24], BRANCH[23],
|
5705 |
|
|
BRANCH[22], BRANCH[21], BRANCH[20], BRANCH[19], BRANCH[18], BRANCH[17],
|
5706 |
|
|
BRANCH[16], BRANCH[15], BRANCH[14], BRANCH[13], BRANCH[12], BRANCH[11],
|
5707 |
|
|
BRANCH[10], BRANCH[9], BRANCH[8], BRANCH[7], BRANCH[6], BRANCH[5],
|
5708 |
|
|
BRANCH[4], BRANCH[3], BRANCH[2], BRANCH[1], BRANCH[0]}));
|
5709 |
|
|
AND4B2 X1I757 (.I0(INSTRUCTION[5]), .I1(INSTRUCTION[4]), .I2
|
5710 |
|
|
(INSTRUCTION[3]), .I3(SPECIAL), .O(JMP2REG));
|
5711 |
|
|
FDE X1I765 (.C(CLK1), .CE(GLB_EN), .D(SPECIAL), .Q(SPECIAL_EXE));
|
5712 |
|
|
NULL25TO0 X1I874 (.I({PC[31], PC[30], PC[29], PC[28], PC[27], PC[26],
|
5713 |
|
|
PC[25], PC[24], PC[23], PC[22], PC[21], PC[20], PC[19], PC[18], PC[17],
|
5714 |
|
|
PC[16], PC[15], PC[14], PC[13], PC[12], PC[11], PC[10], PC[9], PC[8],
|
5715 |
|
|
PC[7], PC[6], PC[5], PC[4], PC[3], PC[2], PC[1], PC[0]}), .NULL
|
5716 |
|
|
(JUMPLONG), .O({LAST_PC_NULLED[31], LAST_PC_NULLED[30],
|
5717 |
|
|
LAST_PC_NULLED[29], LAST_PC_NULLED[28], LAST_PC_NULLED[27],
|
5718 |
|
|
LAST_PC_NULLED[26], LAST_PC_NULLED[25], LAST_PC_NULLED[24],
|
5719 |
|
|
LAST_PC_NULLED[23], LAST_PC_NULLED[22], LAST_PC_NULLED[21],
|
5720 |
|
|
LAST_PC_NULLED[20], LAST_PC_NULLED[19], LAST_PC_NULLED[18],
|
5721 |
|
|
LAST_PC_NULLED[17], LAST_PC_NULLED[16], LAST_PC_NULLED[15],
|
5722 |
|
|
LAST_PC_NULLED[14], LAST_PC_NULLED[13], LAST_PC_NULLED[12],
|
5723 |
|
|
LAST_PC_NULLED[11], LAST_PC_NULLED[10], LAST_PC_NULLED[9],
|
5724 |
|
|
LAST_PC_NULLED[8], LAST_PC_NULLED[7], LAST_PC_NULLED[6],
|
5725 |
|
|
LAST_PC_NULLED[5], LAST_PC_NULLED[4], LAST_PC_NULLED[3],
|
5726 |
|
|
LAST_PC_NULLED[2], LAST_PC_NULLED[1], LAST_PC_NULLED[0]}));
|
5727 |
|
|
MUX3_1X32 X1I882 (.A({ALU_RES[31], ALU_RES[30], ALU_RES[29], ALU_RES[28],
|
5728 |
|
|
ALU_RES[27], ALU_RES[26], ALU_RES[25], ALU_RES[24], ALU_RES[23],
|
5729 |
|
|
ALU_RES[22], ALU_RES[21], ALU_RES[20], ALU_RES[19], ALU_RES[18],
|
5730 |
|
|
ALU_RES[17], ALU_RES[16], ALU_RES[15], ALU_RES[14], ALU_RES[13],
|
5731 |
|
|
ALU_RES[12], ALU_RES[11], ALU_RES[10], ALU_RES[9], ALU_RES[8],
|
5732 |
|
|
ALU_RES[7], ALU_RES[6], ALU_RES[5], ALU_RES[4], ALU_RES[3], ALU_RES[2],
|
5733 |
|
|
ALU_RES[1], ALU_RES[0]}), .B({SHIFT_SET, SHIFT_RES[31], SHIFT_RES[30],
|
5734 |
|
|
SHIFT_RES[29], SHIFT_RES[28], SHIFT_RES[27], SHIFT_RES[26],
|
5735 |
|
|
SHIFT_RES[25], SHIFT_RES[24], SHIFT_RES[23], SHIFT_RES[22],
|
5736 |
|
|
SHIFT_RES[21], SHIFT_RES[20], SHIFT_RES[19], SHIFT_RES[18],
|
5737 |
|
|
SHIFT_RES[17], SHIFT_RES[16], SHIFT_RES[15], SHIFT_RES[14],
|
5738 |
|
|
SHIFT_RES[13], SHIFT_RES[12], SHIFT_RES[11], SHIFT_RES[10], SHIFT_RES[9]
|
5739 |
|
|
, SHIFT_RES[8], SHIFT_RES[7], SHIFT_RES[6], SHIFT_RES[5], SHIFT_RES[4],
|
5740 |
|
|
SHIFT_RES[3], SHIFT_RES[2], SHIFT_RES[1], SHIFT_RES[0]}), .C({
|
5741 |
|
|
SET_R31_EXE, PC_TO_PIPELINE[31], PC_TO_PIPELINE[30], PC_TO_PIPELINE[29]
|
5742 |
|
|
, PC_TO_PIPELINE[28], PC_TO_PIPELINE[27], PC_TO_PIPELINE[26],
|
5743 |
|
|
PC_TO_PIPELINE[25], PC_TO_PIPELINE[24], PC_TO_PIPELINE[23],
|
5744 |
|
|
PC_TO_PIPELINE[22], PC_TO_PIPELINE[21], PC_TO_PIPELINE[20],
|
5745 |
|
|
PC_TO_PIPELINE[19], PC_TO_PIPELINE[18], PC_TO_PIPELINE[17],
|
5746 |
|
|
PC_TO_PIPELINE[16], PC_TO_PIPELINE[15], PC_TO_PIPELINE[14],
|
5747 |
|
|
PC_TO_PIPELINE[13], PC_TO_PIPELINE[12], PC_TO_PIPELINE[11],
|
5748 |
|
|
PC_TO_PIPELINE[10], PC_TO_PIPELINE[9], PC_TO_PIPELINE[8],
|
5749 |
|
|
PC_TO_PIPELINE[7], PC_TO_PIPELINE[6], PC_TO_PIPELINE[5],
|
5750 |
|
|
PC_TO_PIPELINE[4], PC_TO_PIPELINE[3], PC_TO_PIPELINE[2],
|
5751 |
|
|
PC_TO_PIPELINE[1], PC_TO_PIPELINE[0]}), .S({EXE_RES[31], EXE_RES[30],
|
5752 |
|
|
EXE_RES[29], EXE_RES[28], EXE_RES[27], EXE_RES[26], EXE_RES[25],
|
5753 |
|
|
EXE_RES[24], EXE_RES[23], EXE_RES[22], EXE_RES[21], EXE_RES[20],
|
5754 |
|
|
EXE_RES[19], EXE_RES[18], EXE_RES[17], EXE_RES[16], EXE_RES[15],
|
5755 |
|
|
EXE_RES[14], EXE_RES[13], EXE_RES[12], EXE_RES[11], EXE_RES[10],
|
5756 |
|
|
EXE_RES[9], EXE_RES[8], EXE_RES[7], EXE_RES[6], EXE_RES[5], EXE_RES[4],
|
5757 |
|
|
EXE_RES[3], EXE_RES[2], EXE_RES[1], EXE_RES[0]}));
|
5758 |
|
|
SHIFTER X1I888 (.ARITH(OP[0]), .I({B_EXE_INPUT[31], B_EXE_INPUT[30],
|
5759 |
|
|
B_EXE_INPUT[29], B_EXE_INPUT[28], B_EXE_INPUT[27], B_EXE_INPUT[26],
|
5760 |
|
|
B_EXE_INPUT[25], B_EXE_INPUT[24], B_EXE_INPUT[23], B_EXE_INPUT[22],
|
5761 |
|
|
B_EXE_INPUT[21], B_EXE_INPUT[20], B_EXE_INPUT[19], B_EXE_INPUT[18],
|
5762 |
|
|
B_EXE_INPUT[17], B_EXE_INPUT[16], B_EXE_INPUT[15], B_EXE_INPUT[14],
|
5763 |
|
|
B_EXE_INPUT[13], B_EXE_INPUT[12], B_EXE_INPUT[11], B_EXE_INPUT[10],
|
5764 |
|
|
B_EXE_INPUT[9], B_EXE_INPUT[8], B_EXE_INPUT[7], B_EXE_INPUT[6],
|
5765 |
|
|
B_EXE_INPUT[5], B_EXE_INPUT[4], B_EXE_INPUT[3], B_EXE_INPUT[2],
|
5766 |
|
|
B_EXE_INPUT[1], B_EXE_INPUT[0]}), .O({SHIFT_RES[31], SHIFT_RES[30],
|
5767 |
|
|
SHIFT_RES[29], SHIFT_RES[28], SHIFT_RES[27], SHIFT_RES[26],
|
5768 |
|
|
SHIFT_RES[25], SHIFT_RES[24], SHIFT_RES[23], SHIFT_RES[22],
|
5769 |
|
|
SHIFT_RES[21], SHIFT_RES[20], SHIFT_RES[19], SHIFT_RES[18],
|
5770 |
|
|
SHIFT_RES[17], SHIFT_RES[16], SHIFT_RES[15], SHIFT_RES[14],
|
5771 |
|
|
SHIFT_RES[13], SHIFT_RES[12], SHIFT_RES[11], SHIFT_RES[10], SHIFT_RES[9]
|
5772 |
|
|
, SHIFT_RES[8], SHIFT_RES[7], SHIFT_RES[6], SHIFT_RES[5], SHIFT_RES[4],
|
5773 |
|
|
SHIFT_RES[3], SHIFT_RES[2], SHIFT_RES[1], SHIFT_RES[0]}), .RIGHT(OP[1])
|
5774 |
|
|
, .SHIFT({SHIFT[4], SHIFT[3], SHIFT[2], SHIFT[1], SHIFT[0]}));
|
5775 |
|
|
|
5776 |
|
|
// WARNING - Component X1I882 has a vector with the same name as a pin: B
|
5777 |
|
|
// WARNING - Component X1I514 has a vector with the same name as a pin: B
|
5778 |
|
|
// WARNING - Component X1I444 has a vector with the same name as a pin: B
|
5779 |
|
|
// WARNING - Component X1I314 has a vector with the same name as a pin: B
|
5780 |
|
|
// WARNING - Component X1I882 has a vector with the same name as a pin: C
|
5781 |
|
|
// WARNING - Component X1I514 has a vector with the same name as a pin: C
|
5782 |
|
|
// WARNING - Component X1I444 has a vector with the same name as a pin: C
|
5783 |
|
|
// WARNING - Component X1I314 has a vector with the same name as a pin: C
|
5784 |
|
|
// WARNING - Component IGNORE_NO_LOAD3 has unconnected pins: 0 input, 6 output, 0 inout.
|
5785 |
|
|
// WARNING - Component IGNORE_NO_LOAD1 has unconnected pins: 0 input, 11 output, 0 inout.
|
5786 |
|
|
// WARNING - Component X1I5985 has unconnected pins: 0 input, 1 output, 0 inout.
|
5787 |
|
|
// WARNING - Component IGNORE_NO_LOAD2 has unconnected pins: 0 input, 10 output, 0 inout.
|
5788 |
|
|
// WARNING - Global net INSTRUCTION30,INSTRUCTION[27:26],BRANCH,INST_ADDR_ERROR is not defined in the .cfg file or no NETTYPE= attribute associated with it
|
5789 |
|
|
endmodule // X1
|