Belle II Software  release-08-01-10
Cluster.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #ifdef __clang__
9 // This file takes forever when compiled with clang (~25min just for this one
10 // file) so let's selectively disable optimization. As this is a simple enough
11 // tool this should not make any problems
12 #pragma clang optimize off
13 #endif
14 
15 #include <fstream>
16 #include <iomanip>
17 
18 using namespace std;
19 
20 
21 int main()
22 {
23 
24  ofstream outputp("UT3_0_Cluster_M.vhd");
25  ofstream outputpp("UT3_0_Cluster_P.vhd");
26 
28  outputp << "library IEEE;" << endl;
29  outputp << "use IEEE.STD_LOGIC_1164.ALL;" << endl;
30  outputpp << "library IEEE;" << endl;
31  outputpp << "use IEEE.STD_LOGIC_1164.ALL;" << endl;
32  outputpp << " " << endl;
33  outputp << " " << endl;
34 
36  outputp << "entity UT3_0_Cluster_M is" << endl;
37  outputpp << "entity UT3_0_Cluster_P is" << endl;
38  outputp << "Port (";
39  outputpp << "Port (";
40 
41  for (unsigned a = 1; a <= 16; a++) {
42  outputp << " Minus_row" << a << " : out STD_LOGIC_VECTOR (79 downto 40);" << endl;
43  outputpp << " Plus_row" << a << " : out STD_LOGIC_VECTOR (39 downto 0);" << endl;
44  }
45 
46  outputp << " SL0_TS : IN std_logic_vector(80 downto 0);" << endl;
47  outputp << " SL2_TS : IN std_logic_vector(96 downto 0);" << endl;
48  outputp << " SL4_TS : IN std_logic_vector(128 downto 0);" << endl;
49  outputp << " SL6_TS : IN std_logic_vector(160 downto 0);" << endl;
50  outputp << " SL8_TS : IN std_logic_vector(192 downto 0);" << endl;
51  outputp << " Top_clkData_s: IN std_logic" << endl;
52  outputp << " );" << endl;
53  outputpp << " SL0_TS : IN std_logic_vector(80 downto 0);" << endl;
54  outputpp << " SL2_TS : IN std_logic_vector(96 downto 0);" << endl;
55  outputpp << " SL4_TS : IN std_logic_vector(128 downto 0);" << endl;
56  outputpp << " SL6_TS : IN std_logic_vector(160 downto 0);" << endl;
57  outputpp << " SL8_TS : IN std_logic_vector(192 downto 0);" << endl;
58  outputpp << " Top_clkData_s: IN std_logic" << endl;
59  outputpp << " );" << endl;
60  outputpp << " " << endl;
61  outputp << " " << endl;
62  outputp << "end UT3_0_Cluster_M;" << endl;
63  outputpp << "end UT3_0_Cluster_P;" << endl;
64  outputpp << " " << endl;
65  outputp << " " << endl;
67  outputp << "architecture Behavioral of UT3_0_Cluster_M is" << endl;
68  outputpp << "architecture Behavioral of UT3_0_Cluster_P is" << endl;
69  outputpp << " " << endl;
70  outputp << " " << endl;
72  for (unsigned a = 1; a <= 16; a++) {
73  outputp << "signal row" << a << " : STD_LOGIC_VECTOR (79 downto 40);" << endl;
74  outputpp << "signal row" << a << " : STD_LOGIC_VECTOR (0 to 39);" << endl;
75  outputpp << "signal row" << a << "_s : STD_LOGIC_VECTOR (39 downto 0);" << endl;
76  }
77  outputpp << " " << endl;
78  outputp << " " << endl;
79  for (unsigned js = 1; js < 16; js += 2) {
80  for (unsigned ts = 0; ts < 80; ts += 2) {
81  if (ts < 40) {
82  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_A : STD_LOGIC_VECTOR (3 downto 0);" << endl;
83  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_B : STD_LOGIC_VECTOR (3 downto 0);" << endl;
84  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_D : STD_LOGIC_VECTOR (3 downto 0);" << endl;
85  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_E : STD_LOGIC_VECTOR (3 downto 0);" << endl;
86  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_G : STD_LOGIC_VECTOR (3 downto 0);" << endl;
87  outputpp << "signal patternI_" << ts % 160 + 1 << "_" << js << "_H : STD_LOGIC_VECTOR (3 downto 0);" << endl;
88  }
89  if (ts >= 40 && ts < 80) {
90  outputp << "signal patternI_" << ts % 160 << "_" << js << "_A : STD_LOGIC_VECTOR (3 downto 0);" << endl;
91  outputp << "signal patternI_" << ts % 160 << "_" << js << "_B : STD_LOGIC_VECTOR (3 downto 0);" << endl;
92  outputp << "signal patternI_" << ts % 160 << "_" << js << "_D : STD_LOGIC_VECTOR (3 downto 0);" << endl;
93  outputp << "signal patternI_" << ts % 160 << "_" << js << "_E : STD_LOGIC_VECTOR (3 downto 0);" << endl;
94  outputp << "signal patternI_" << ts % 160 << "_" << js << "_G : STD_LOGIC_VECTOR (3 downto 0);" << endl;
95  outputp << "signal patternI_" << ts % 160 << "_" << js << "_H : STD_LOGIC_VECTOR (3 downto 0);" << endl;
96  }
97  }
98  }
99  outputpp << " " << endl;
100  outputp << " " << endl;
103  outputp << " COMPONENT UT3_0_HoughVoting_M" << endl;
104  outputp << " Port ( ";
105  outputpp << " COMPONENT UT3_0_HoughVoting_P" << endl;
106  outputpp << " Port ( ";
107  for (unsigned a = 1; a <= 16; a++) {
108  outputp << " row" << a << " : out STD_LOGIC_VECTOR (79 downto 40);" << endl;
109  outputpp << " row" << a << " : out STD_LOGIC_VECTOR (39 downto 0);" << endl;
110  }
111  outputp << " SL0_TS : IN std_logic_vector(80 downto 0);" << endl;
112  outputp << " SL2_TS : IN std_logic_vector(96 downto 0);" << endl;
113  outputp << " SL4_TS : IN std_logic_vector(128 downto 0);" << endl;
114  outputp << " SL6_TS : IN std_logic_vector(160 downto 0);" << endl;
115  outputp << " SL8_TS : IN std_logic_vector(192 downto 0);" << endl;
116  outputp << " Top_clkData_s: IN std_logic" << endl;
117  outputp << " );" << endl;
118  outputpp << " SL0_TS : IN std_logic_vector(80 downto 0);" << endl;
119  outputpp << " SL2_TS : IN std_logic_vector(96 downto 0);" << endl;
120  outputpp << " SL4_TS : IN std_logic_vector(128 downto 0);" << endl;
121  outputpp << " SL6_TS : IN std_logic_vector(160 downto 0);" << endl;
122  outputpp << " SL8_TS : IN std_logic_vector(192 downto 0);" << endl;
123  outputpp << " Top_clkData_s: IN std_logic" << endl;
124  outputpp << " );" << endl;
125  outputp << " end COMPONENT;" << endl;
126  outputpp << " end COMPONENT;" << endl;
127  outputpp << " " << endl;
128  outputp << " " << endl;
129 
131  outputp << " COMPONENT cluster_center is" << endl;
132  outputp << " port( new_cluster_A : out std_logic_vector(3 downto 0);" << endl;
133  outputp << " new_cluster_B : out std_logic_vector(3 downto 0);" << endl;
134  outputp << " new_cluster_D : out std_logic_vector(3 downto 0);" << endl;
135  outputp << " new_cluster_E : out std_logic_vector(3 downto 0);" << endl;
136  outputp << " new_cluster_G : out std_logic_vector(3 downto 0);" << endl;
137  outputp << " new_cluster_H : out std_logic_vector(3 downto 0); " << endl;
138  outputp << " X : IN std_logic_vector(3 downto 0);" << endl;
139  outputp << " Y : IN std_logic_vector(3 downto 0);" << endl;
140  outputp << " Z : IN std_logic_vector(3 downto 0);" << endl;
141  outputp << " A : IN std_logic_vector(3 downto 0);" << endl;
142  outputp << " B : IN std_logic_vector(3 downto 0);" << endl;
143  outputp << " D : IN std_logic_vector(3 downto 0);" << endl;
144  outputp << " E : IN std_logic_vector(3 downto 0);" << endl;
145  outputp << " G : IN std_logic_vector(3 downto 0);" << endl;
146  outputp << " H : IN std_logic_vector(3 downto 0);" << endl;
147  outputp << " top_clkdata_s:IN std_logic" << endl;
148  outputp << " );" << endl;
149  outputp << " end COMPONENT;" << endl;
150  outputpp << " COMPONENT cluster_center is" << endl;
151  outputpp << " port( new_cluster_A : out std_logic_vector(3 downto 0);" << endl;
152  outputpp << " new_cluster_B : out std_logic_vector(3 downto 0);" << endl;
153  outputpp << " new_cluster_D : out std_logic_vector(3 downto 0);" << endl;
154  outputpp << " new_cluster_E : out std_logic_vector(3 downto 0);" << endl;
155  outputpp << " new_cluster_G : out std_logic_vector(3 downto 0);" << endl;
156  outputpp << " new_cluster_H : out std_logic_vector(3 downto 0); " << endl;
157  outputpp << " X : IN std_logic_vector(3 downto 0);" << endl;
158  outputpp << " Y : IN std_logic_vector(3 downto 0);" << endl;
159  outputpp << " Z : IN std_logic_vector(3 downto 0);" << endl;
160  outputpp << " A : IN std_logic_vector(3 downto 0);" << endl;
161  outputpp << " B : IN std_logic_vector(3 downto 0);" << endl;
162  outputpp << " D : IN std_logic_vector(3 downto 0);" << endl;
163  outputpp << " E : IN std_logic_vector(3 downto 0);" << endl;
164  outputpp << " G : IN std_logic_vector(3 downto 0);" << endl;
165  outputpp << " H : IN std_logic_vector(3 downto 0);" << endl;
166  outputpp << " top_clkdata_s:IN std_logic" << endl;
167  outputpp << " );" << endl;
168  outputpp << " end COMPONENT;" << endl;
169  outputpp << " " << endl;
170  outputp << " " << endl;
171  outputp << "begin" << endl;
172  outputpp << "begin" << endl;
173  outputpp << " " << endl;
174  outputp << " " << endl;
175 
177  outputp << "Center_1: UT3_0_HoughVoting_M " << endl;
178  outputp << " Port map(" << endl;
179  outputpp << "Center_1: UT3_0_HoughVoting_P" << endl;
180  outputpp << " Port map(" << endl;
181  for (unsigned a = 1; a <= 16; a++) {
182  outputp << " row" << a << "(79 downto 40) =>row" << a << "(79 downto 40)," << endl;
183  outputpp << " row" << a << "(39 downto 0) =>row" << a << "_s(39 downto 0)," << endl;
184  }
185  outputp << " SL0_TS(80 downto 0)=>SL0_TS(80 downto 0)," << endl;
186  outputp << " SL2_TS(96 downto 0)=>SL2_TS(96 downto 0)," << endl;
187  outputp << " SL4_TS(128 downto 0)=>SL4_TS(128 downto 0)," << endl;
188  outputp << " SL6_TS(160 downto 0)=>SL6_TS(160 downto 0)," << endl;
189  outputp << " SL8_TS(192 downto 0)=>SL8_TS(192 downto 0)," << endl;
190  outputp << " Top_clkData_s =>Top_clkData_s " << endl;
191  outputp << " );" << endl;
192  outputpp << " SL0_TS(80 downto 0)=>SL0_TS(80 downto 0)," << endl;
193  outputpp << " SL2_TS(96 downto 0)=>SL2_TS(96 downto 0)," << endl;
194  outputpp << " SL4_TS(128 downto 0)=>SL4_TS(128 downto 0)," << endl;
195 
196 
197  outputpp << " SL6_TS(160 downto 0)=>SL6_TS(160 downto 0)," << endl;
198  outputpp << " SL8_TS(192 downto 0)=>SL8_TS(192 downto 0)," << endl;
199  outputpp << " Top_clkData_s =>Top_clkData_s " << endl;
200  outputpp << " );" << endl;
201  outputpp << " " << endl;
202  outputp << " " << endl;
203 
204  outputpp << "ss : for i in 0 to 39 generate" << endl;
205  for (unsigned a = 1; a <= 16; a++) {
206  outputpp << "row" << a << "(i)<=row" << a << "_s(i);" << endl;
207  }
208  outputpp << "end generate;" << endl;
209  outputpp << " " << endl;
210 
212 
213  int i = 1, c = 1, z = 0;
214  for (unsigned j = 1; j < 16; j += 2) {
215  for (unsigned t = z % 160; t < 80; t += 2) {
216 
217  if (t >= 40 && t < 80) {
218  ++i;
219  outputp << "Center_" << i << " :cluster_center" << endl;
220  outputp << "port map (" << endl;
221  }
222 
223  if (t < 40) {
224  ++c;
225  outputpp << "Center_" << c << " :cluster_center" << endl;
226  outputpp << "port map (" << endl;
227  }
229  if (t >= 40 && t <= 78) {
230  if (t == 40) {
231  if (j == 1) {
232  outputp << setw(21) << "X =>\"0000\"," << endl;
233  outputp << setw(21) << "Y =>\"0000\"," << endl;
234  outputp << setw(21) << "Z =>\"0000\"," << endl;
235  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
236  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
237  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
238  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
239  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
240  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
241  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
242  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
243  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
244  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
245  outputp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
246  outputp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
247  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
248  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
249  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
250  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
251  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
252  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
253  }
254  if (j > 1 and j <= 11) {
255  outputp << setw(21) << "X =>\"0000\"," << endl;
256  outputp << setw(21) << "Y =>\"0000\"," << endl;
257  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
258  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
259  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
260  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
261  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
262  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
263  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
264  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
265  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
266  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
267  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
268  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
269  outputp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
270  outputp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
271 
272  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
273  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
274  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
275  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
276  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
277  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
278 
279  }
280 
281  if (j == 13) {
282 
283  outputp << setw(21) << "X =>\"0000\"," << endl;
284  outputp << setw(21) << "Y =>\"0000\"," << endl;
285  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
286  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
287  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
288  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
289  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
290  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
291  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
292  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
293  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
294  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
295  outputp << setw(21) << "G =>\"0000\"," << endl;
296  outputp << setw(21) << "H =>\"0000\"," << endl;
297 
298  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
299  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
300  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
301  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
302  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
303  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
304 
305  }
306 
307  if (j == 15) {
308  outputp << setw(21) << "X =>\"0000\"," << endl;
309  outputp << setw(21) << "Y =>\"0000\"," << endl;
310  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
311  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
312  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
313  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
314  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
315  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
316  outputp << setw(21) << "D =>\"0000\"," << endl;
317  outputp << setw(21) << "E =>\"0000\"," << endl;
318  outputp << setw(21) << "G =>\"0000\"," << endl;
319  outputp << setw(21) << "H =>\"0000\"," << endl;
320 
321  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
322  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
323  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
324  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
325  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
326  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
327 
328  }
329  }
330  if (t == 78) {
331  if (j == 1) {
332  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
333  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
334  outputp << setw(21) << "Y =>\"0000\"," << endl;
335  outputp << setw(21) << "Z =>\"0000\"," << endl;
336  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
337  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
338  outputp << setw(21) << "B =>\"0000\"," << endl;
339  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
340  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
341  outputp << setw(21) << "E =>\"0000\"," << endl;
342  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
343  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
344  outputp << setw(21) << "H =>\"0000\"," << endl;
345 
346  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
347  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
348  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
349  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
350  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
351  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
352  }
353 
354  if (j > 1 and j <= 11) {
355  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
356  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
357  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
358  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
359  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
360  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
361  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
362  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
363  outputp << setw(21) << "B =>\"0000\"," << endl;
364  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
365  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
366  outputp << setw(21) << "E =>\"0000\"," << endl;
367  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
368  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
369  outputp << setw(21) << "H =>\"0000\"," << endl;
370 
371  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
372  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
373  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
374  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
375  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
376  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
377 
378  }
379 
380  if (j == 13) {
381  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
382  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
383  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
384  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
385  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
386  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
387  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
388  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
389  outputp << setw(21) << "B =>\"0000\"," << endl;
390  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
391  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
392  outputp << setw(21) << "E =>\"0000\"," << endl;
393  outputp << setw(21) << "G =>\"0000\"," << endl;
394  outputp << setw(21) << "H =>\"0000\"," << endl;
395 
396  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
397  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
398  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
399  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
400  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
401  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
402 
403  }
404 
405  if (j == 15) {
406  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
407  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
408  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
409  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
410  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
411  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
412  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
413  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
414  outputp << setw(21) << "B =>\"0000\"," << endl;
415  outputp << setw(21) << "D =>\"0000\"," << endl;
416  outputp << setw(21) << "E =>\"0000\"," << endl;
417  outputp << setw(21) << "G =>\"0000\"," << endl;
418  outputp << setw(21) << "H =>\"0000\"," << endl;
419 
420  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
421  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
422  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
423  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
424  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
425  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
426 
427  }
428  }
429  if (t > 40 and t < 78) {
430  if (j == 1) {
431  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
432  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
433  outputp << setw(21) << "Y =>\"0000\"," << endl;
434  outputp << setw(21) << "Z =>\"0000\"," << endl;
435  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
436  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
437  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
438  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
439  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
440  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
441  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
442  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
443  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
444  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
445  outputp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
446  outputp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
447 
448  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
449  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
450  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
451  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
452  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
453  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
454  }
455  if (j > 1 and j <= 11) {
456 
457  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
458  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
459  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
460  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
461  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
462  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
463  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
464  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
465  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
466  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
467  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
468  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
469  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
470  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
471  outputp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << t + 1 << " downto " << t << ")," << endl;
472  outputp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << t + 1 << " downto " << t << ")," << endl;
473  outputp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
474  outputp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
475 
476  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
477  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
478  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
479  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
480  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
481  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
482 
483  }
484 
485  if (j == 13) {
486  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
487  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
488  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
489  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
490  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
491  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
492  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
493  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
494  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
495  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
496  outputp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << t + 1 << " downto " << t << ")," << endl;
497  outputp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << t + 1 << " downto " << t << ")," << endl;
498  outputp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
499  outputp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
500  outputp << setw(21) << "G =>\"0000\"," << endl;
501  outputp << setw(21) << "H =>\"0000\"," << endl;
502 
503  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
504  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
505  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
506  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
507  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
508  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
509 
510  }
511 
512  if (j == 15) {
513  outputp << setw(26) << "X(1 downto 0)=>row" << j << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
514  outputp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
515  outputp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
516  outputp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << t - 1 << " downto " << t - 2 << ")," << endl;
517  outputp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << t + 1 << " downto " << t << ")," << endl;
518  outputp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << t + 1 << " downto " << t << ")," << endl;
519  outputp << setw(26) << "A(1 downto 0)=>row" << j << "(" << t + 1 << " downto " << t << ")," << endl;
520  outputp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << t + 1 << " downto " << t << ")," << endl;
521  outputp << setw(26) << "B(1 downto 0)=>row" << j << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
522  outputp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << t + 3 << " downto " << t + 2 << ")," << endl;
523  outputp << setw(21) << "D =>\"0000\"," << endl;
524  outputp << setw(21) << "E =>\"0000\"," << endl;
525  outputp << setw(21) << "G =>\"0000\"," << endl;
526  outputp << setw(21) << "H =>\"0000\"," << endl;
527 
528  outputp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << t << "_" << j << "_A(3 downto 0)," << endl;
529  outputp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << t << "_" << j << "_B(3 downto 0)," << endl;
530  outputp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << t << "_" << j << "_D(3 downto 0)," << endl;
531  outputp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << t << "_" << j << "_E(3 downto 0)," << endl;
532  outputp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << t << "_" << j << "_G(3 downto 0)," << endl;
533  outputp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << t << "_" << j << "_H(3 downto 0)," << endl;
534 
535  }
536  }
537  }
539  if (t <= 38) {
540  if (t == 0) {
541  if (j == 1) {
542  outputpp << setw(21) << "X =>\"0000\"," << endl;
543  outputpp << setw(21) << "Y =>\"0000\"," << endl;
544  outputpp << setw(21) << "Z =>\"0000\"," << endl;
545  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
546  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
547  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
548  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
549  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
550  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
551  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
552  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
553  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
554  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
555  outputpp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
556  outputpp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
557  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
558  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
559  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
560  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
561  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
562  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
563  }
564  if (j > 1 and j <= 11) {
565  outputpp << setw(21) << "X =>\"0000\"," << endl;
566  outputpp << setw(21) << "Y =>\"0000\"," << endl;
567  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
568  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
569  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
570  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
571  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
572  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
573  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
574  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
575  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
576  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
577  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
578  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
579  outputpp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
580  outputpp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
581  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
582  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
583  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
584  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
585  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
586  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
587  }
588  if (j == 13) {
589  outputpp << setw(21) << "X =>\"0000\"," << endl;
590  outputpp << setw(21) << "Y =>\"0000\"," << endl;
591  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
592  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
593  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
594  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
595  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
596  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
597  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
598  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
599  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
600  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
601  outputpp << setw(21) << "G =>\"0000\"," << endl;
602  outputpp << setw(21) << "H =>\"0000\"," << endl;
603  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
604  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
605  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
606  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
607  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
608  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
609  }
610  if (j == 15) {
611  outputpp << setw(21) << "X =>\"0000\"," << endl;
612  outputpp << setw(21) << "Y =>\"0000\"," << endl;
613  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
614  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
615  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
616  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
617  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
618  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
619  outputpp << setw(21) << "D =>\"0000\"," << endl;
620  outputpp << setw(21) << "E =>\"0000\"," << endl;
621  outputpp << setw(21) << "G =>\"0000\"," << endl;
622  outputpp << setw(21) << "H =>\"0000\"," << endl;
623  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
624  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
625  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
626  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
627  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
628  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
629  }
630  }
631  if (t == 38) {
632  if (j == 1) {
633  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
634  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
635  outputpp << setw(21) << "Y =>\"0000\"," << endl;
636  outputpp << setw(21) << "Z =>\"0000\"," << endl;
637  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
638  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
639  outputpp << setw(21) << "B =>\"0000\"," << endl;
640  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
641  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
642  outputpp << setw(21) << "E =>\"0000\"," << endl;
643  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
644  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
645  outputpp << setw(21) << "H =>\"0000\"," << endl;
646  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
647  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
648  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
649  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
650  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
651  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
652  }
653  if (j > 1 and j <= 11) {
654  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
655  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
656  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
657  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
658  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
659  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
660  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
661  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
662  outputpp << setw(21) << "B =>\"0000\"," << endl;
663  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
664  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
665  outputpp << setw(21) << "E =>\"0000\"," << endl;
666  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
667  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
668  outputpp << setw(21) << "H =>\"0000\"," << endl;
669  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
670  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
671  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
672  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
673  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
674  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
675  }
676  if (j == 13) {
677  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
678  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
679  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
680  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
681  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
682  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
683  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
684  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
685  outputpp << setw(21) << "B =>\"0000\"," << endl;
686  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
687  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
688  outputpp << setw(21) << "E =>\"0000\"," << endl;
689  outputpp << setw(21) << "G =>\"0000\"," << endl;
690  outputpp << setw(21) << "H =>\"0000\"," << endl;
691  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
692  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
693  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
694  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
695  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
696  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
697  }
698  if (j == 15) {
699  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
700  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
701  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
702  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
703  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
704  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
705  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
706  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
707  outputpp << setw(21) << "B =>\"0000\"," << endl;
708  outputpp << setw(21) << "D =>\"0000\"," << endl;
709  outputpp << setw(21) << "E =>\"0000\"," << endl;
710  outputpp << setw(21) << "G =>\"0000\"," << endl;
711  outputpp << setw(21) << "H =>\"0000\"," << endl;
712  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
713  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
714  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
715  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
716  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
717  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
718  }
719  }
720  if (t > 0 and t < 38) {
721  if (j == 1) {
722  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
723  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
724  outputpp << setw(21) << "Y =>\"0000\"," << endl;
725  outputpp << setw(21) << "Z =>\"0000\"," << endl;
726  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
727  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
728  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
729  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
730  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
731  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
732  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
733  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
734  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
735  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
736  outputpp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
737  outputpp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
738  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
739  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
740  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
741  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
742  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
743  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
744  }
745  if (j > 1 and j <= 11) {
746  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
747  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
748  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
749  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
750  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
751  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
752  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
753  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
754  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
755  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
756  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
757  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
758  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
759  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
760  outputpp << setw(26) << "G(1 downto 0)=>row" << j + 4 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
761  outputpp << setw(26) << "G(3 downto 2)=>row" << j + 5 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
762  outputpp << setw(26) << "H(1 downto 0)=>row" << j + 4 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
763  outputpp << setw(26) << "H(3 downto 2)=>row" << j + 5 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
764  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
765  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
766  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
767  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
768  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
769  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
770  }
771  if (j == 13) {
772  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
773  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
774  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
775  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
776  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
777  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
778  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
779  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
780  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
781  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
782  outputpp << setw(26) << "D(1 downto 0)=>row" << j + 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
783  outputpp << setw(26) << "D(3 downto 2)=>row" << j + 3 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
784  outputpp << setw(26) << "E(1 downto 0)=>row" << j + 2 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
785  outputpp << setw(26) << "E(3 downto 2)=>row" << j + 3 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
786  outputpp << setw(21) << "G =>\"0000\"," << endl;
787  outputpp << setw(21) << "H =>\"0000\"," << endl;
788  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
789  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
790  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
791  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
792  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
793  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
794  }
795  if (j == 15) {
796  outputpp << setw(26) << "X(1 downto 0)=>row" << j << "(" << 40 - t << " to " << 41 - t << ")," << endl;
797  outputpp << setw(26) << "X(3 downto 2)=>row" << j + 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
798  outputpp << setw(26) << "Y(1 downto 0)=>row" << j - 2 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
799  outputpp << setw(26) << "Y(3 downto 2)=>row" << j - 1 << "(" << 40 - t << " to " << 41 - t << ")," << endl;
800  outputpp << setw(26) << "Z(1 downto 0)=>row" << j - 2 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
801  outputpp << setw(26) << "Z(3 downto 2)=>row" << j - 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
802  outputpp << setw(26) << "A(1 downto 0)=>row" << j << "(" << 38 - t << " to " << 39 - t << ")," << endl;
803  outputpp << setw(26) << "A(3 downto 2)=>row" << j + 1 << "(" << 38 - t << " to " << 39 - t << ")," << endl;
804  outputpp << setw(26) << "B(1 downto 0)=>row" << j << "(" << 36 - t << " to " << 37 - t << ")," << endl;
805  outputpp << setw(26) << "B(3 downto 2)=>row" << j + 1 << "(" << 36 - t << " to " << 37 - t << ")," << endl;
806  outputpp << setw(21) << "D =>\"0000\"," << endl;
807  outputpp << setw(21) << "E =>\"0000\"," << endl;
808  outputpp << setw(21) << "G =>\"0000\"," << endl;
809  outputpp << setw(21) << "H =>\"0000\"," << endl;
810  outputpp << setw(43) << "new_cluster_A(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_A(3 downto 0)," << endl;
811  outputpp << setw(43) << "new_cluster_B(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_B(3 downto 0)," << endl;
812  outputpp << setw(43) << "new_cluster_D(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_D(3 downto 0)," << endl;
813  outputpp << setw(43) << "new_cluster_E(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_E(3 downto 0)," << endl;
814  outputpp << setw(43) << "new_cluster_G(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_G(3 downto 0)," << endl;
815  outputpp << setw(43) << "new_cluster_H(3 downto 0) =>patternI_" << 39 - t << "_" << j << "_H(3 downto 0)," << endl;
816  }
817  }
818  }
819 
820 
821  if (t >= 40 && t < 80) {
822  outputp << setw(40) << "top_clkData_s =>top_clkData_s );" << endl;
823  outputp << " " << endl;
824  }
825  if (t < 40) {
826  outputpp << setw(40) << "top_clkData_s =>top_clkData_s );" << endl;
827  outputpp << " " << endl;
828  }
829  }
830  }
831 
834  for (int jj = 1; jj <= 15; jj += 2) {
835  for (int tt = 0; tt < 80; tt += 2) {
836  if (tt >= 40 && tt < 80) {
837  if (jj == 1 or jj == 15) {
838  if (tt == 40) {
839  outputp << "Minus_row" << jj << "(" << tt + 1 << " downto " << tt << ")<=patternI_" << tt << "_" << jj << "_A(1 downto 0);" << endl;
840  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << " downto " << tt << ")<=patternI_" << tt << "_" << jj << "_A(3 downto 2);" <<
841  endl;
842  outputp << " " << endl;
843  }
844  if (tt != 40 && jj == 1) {
845  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt - 2 << "_" << jj <<
846  "_B(0);" << endl;
847  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt - 2 << "_" << jj <<
848  "_B(1);" << endl;
849  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt - 2 << "_" << jj <<
850  "_B(2);" << endl;
851  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt - 2 << "_" <<
852  jj << "_B(3);" << endl;
853  outputp << " " << endl;
854  }
855  if (tt != 40 && jj == 15) {
856  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt - 2 << "_" << jj <<
857  "_B(0) or patternI_";
858  outputp << tt << "_" << jj - 2 << "_D(0) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(0) or patternI_" << tt << "_" << jj - 4 <<
859  "_G(0) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(0);" << endl;
860  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt - 2 << "_" << jj <<
861  "_B(1) or patternI_";
862  outputp << tt << "_" << jj - 2 << "_D(1) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(1) or patternI_" << tt << "_" << jj - 4 <<
863  "_G(1) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(1);" << endl;
864  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt - 2 << "_" << jj <<
865  "_B(2) or patternI_";
866  outputp << tt << "_" << jj - 2 << "_D(2) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(2) or patternI_" << tt << "_" << jj - 4 <<
867  "_G(2) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(2);" << endl;
868  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt - 2 << "_" <<
869  jj << "_B(3) or patternI_";
870  outputp << tt << "_" << jj - 2 << "_D(3) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(3) or patternI_" << tt << "_" << jj - 4 <<
871  "_G(3) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(3);" << endl;
872  outputp << " " << endl;
873  }
874  }
875  if (jj >= 3 && jj < 15) {
876  if (jj == 3 && tt == 40) {
877  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt << "_" << jj - 2 <<
878  "_D(0);" << endl;
879  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt << "_" << jj - 2 <<
880  "_D(1);" << endl;
881  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt << "_" << jj - 2 <<
882  "_D(2);" << endl;
883  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt << "_" << jj -
884  2 << "_D(3);" << endl;
885  }
886  if (jj == 3 && tt != 40) {
887  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt - 2 << "_" << jj <<
888  "_B(0) or patternI_" << tt << "_" << jj - 2 << "_D(0) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(0);" << endl;
889  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt - 2 << "_" << jj <<
890  "_B(1) or patternI_" << tt << "_" << jj - 2 << "_D(1) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(1);" << endl;
891  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt - 2 << "_" << jj <<
892  "_B(2) or patternI_" << tt << "_" << jj - 2 << "_D(2) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(2);" << endl;
893  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt - 2 << "_" <<
894  jj << "_B(3) or patternI_" << tt << "_" << jj - 2 << "_D(3) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(3);" << endl;
895  outputp << " " << endl;
896  }
897  if (jj != 3 && tt == 40) {
898  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt << "_" << jj - 2 <<
899  "_D(0) or patternI_" << tt << "_" << jj - 4 << "_G(0);" << endl;
900  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt << "_" << jj - 2 <<
901  "_D(1) or patternI_" << tt << "_" << jj - 4 << "_G(1);" << endl;
902  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt << "_" << jj - 2 <<
903  "_D(2) or patternI_" << tt << "_" << jj - 4 << "_G(2);" << endl;
904  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt << "_" << jj -
905  2 << "_D(3) or patternI_" << tt << "_" << jj - 4 << "_G(3);" << endl;
906  outputp << " " << endl;
907  }
908  if (jj != 3 && tt != 40) {
909  outputp << "Minus_row" << jj << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(0) or patternI_" << tt - 2 << "_" << jj <<
910  "_B(0) or patternI_" << tt << "_" << jj - 2 << "_D(0) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(0) or patternI_" << tt << "_"
911  << jj - 4 << "_G(0) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(0);" << endl;
912  outputp << "Minus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(1) or patternI_" << tt - 2 << "_" << jj <<
913  "_B(1) or patternI_" << tt << "_" << jj - 2 << "_D(1) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(1) or patternI_" << tt << "_"
914  << jj - 4 << "_G(1) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(1);" << endl;
915  outputp << "Minus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt << "_" << jj << "_A(2) or patternI_" << tt - 2 << "_" << jj <<
916  "_B(2) or patternI_" << tt << "_" << jj - 2 << "_D(2) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(2) or patternI_" << tt << "_"
917  << jj - 4 << "_G(2) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(2);" << endl;
918  outputp << "Minus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt << "_" << jj << "_A(3) or patternI_" << tt - 2 << "_" <<
919  jj << "_B(3) or patternI_" << tt << "_" << jj - 2 << "_D(3) or patternI_" << tt - 2 << "_" << jj - 2 << "_E(3) or patternI_" << tt
920  << "_" << jj - 4 << "_G(3) or patternI_" << tt - 2 << "_" << jj - 4 << "_H(3);" << endl;
921  outputp << " " << endl;
922  }
923  }
924  }
926  if (tt >= 0 && tt < 40) {
927  if (jj == 1 or jj == 15) {
928  if (tt == 38) {
929  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0);" << endl;
930  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1);" << endl;
931  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2);" << endl;
932  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3);" << endl;
933  outputpp << " " << endl;
934  }
935  if (tt != 38 && jj == 1) {
936  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 3 << "_" <<
937  jj << "_B(0);" << endl;
938  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 3 << "_" << jj <<
939  "_B(1);" << endl;
940  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 3 << "_"
941  << jj << "_B(2);" << endl;
942  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 3 << "_" <<
943  jj << "_B(3);" << endl;
944  outputpp << " " << endl;
945  }
946  if (tt != 38 && jj == 15) {
947  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 3 << "_" <<
948  jj << "_B(0) or patternI_";
949  outputpp << tt + 1 << "_" << jj - 2 << "_D(0) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(0) or patternI_" << tt + 1 << "_" <<
950  jj - 4 << "_G(0) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(0);" << endl;
951  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 3 << "_" << jj <<
952  "_B(1) or patternI_";
953  outputpp << tt + 1 << "_" << jj - 2 << "_D(1) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(1) or patternI_" << tt + 1 << "_" <<
954  jj - 4 << "_G(1) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(1);" << endl;
955  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 3 << "_"
956  << jj << "_B(2) or patternI_";
957  outputpp << tt + 1 << "_" << jj - 2 << "_D(2) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(2) or patternI_" << tt + 1 << "_" <<
958  jj - 4 << "_G(2) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(2);" << endl;
959  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 3 << "_" <<
960  jj << "_B(3) or patternI_";
961  outputpp << tt + 1 << "_" << jj - 2 << "_D(3) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(3) or patternI_" << tt + 1 << "_" <<
962  jj - 4 << "_G(3) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(3);" << endl;
963  outputpp << " " << endl;
964  }
965  }
966  if (jj >= 3 && jj < 15) {
967  if (jj == 3 && tt == 38) {
968  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 1 << "_" <<
969  jj - 2 << "_D(0);" << endl;
970  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 1 << "_" << jj -
971  2 << "_D(1);" << endl;
972  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 1 << "_"
973  << jj - 2 << "_D(2);" << endl;
974  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 1 << "_" <<
975  jj - 2 << "_D(3);" << endl;
976  }
977  if (jj == 3 && tt != 38) {
978  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 3 << "_" <<
979  jj << "_B(0) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(0) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(0);" << endl;
980  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 3 << "_" << jj <<
981  "_B(1) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(1) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(1);" << endl;
982  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 3 << "_"
983  << jj << "_B(2) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(2) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(2);" << endl;
984  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 3 << "_" <<
985  jj << "_B(3) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(3) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(3);" << endl;
986  outputpp << " " << endl;
987  }
988  if (jj != 3 && tt == 38) {
989  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 1 << "_" <<
990  jj - 2 << "_D(0) or patternI_" << tt + 1 << "_" << jj - 4 << "_G(0);" << endl;
991  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 1 << "_" << jj -
992  2 << "_D(1) or patternI_" << tt + 1 << "_" << jj - 4 << "_G(1);" << endl;
993  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 1 << "_"
994  << jj - 2 << "_D(2) or patternI_" << tt + 1 << "_" << jj - 4 << "_G(2);" << endl;
995  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 1 << "_" <<
996  jj - 2 << "_D(3) or patternI_" << tt + 1 << "_" << jj - 4 << "_G(3);" << endl;
997  outputpp << " " << endl;
998  }
999  if (jj != 3 && tt != 38) {
1000  outputpp << "Plus_row" << jj << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(0) or patternI_" << tt + 3 << "_" <<
1001  jj << "_B(0) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(0) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(0) or patternI_" <<
1002  tt + 1 << "_" << jj - 4 << "_G(0) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(0);" << endl;
1003  outputpp << "Plus_row" << jj << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(1) or patternI_" << tt + 3 << "_" << jj <<
1004  "_B(1) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(1) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(1) or patternI_" << tt + 1
1005  << "_" << jj - 4 << "_G(1) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(1);" << endl;
1006  outputpp << "Plus_row" << jj + 1 << "(" << tt + 1 << ")<=patternI_" << tt + 1 << "_" << jj << "_A(2) or patternI_" << tt + 3 << "_"
1007  << jj << "_B(2) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(2) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(2) or patternI_"
1008  << tt + 1 << "_" << jj - 4 << "_G(2) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(2);" << endl;
1009  outputpp << "Plus_row" << jj + 1 << "(" << tt << ")<=patternI_" << tt + 1 << "_" << jj << "_A(3) or patternI_" << tt + 3 << "_" <<
1010  jj << "_B(3) or patternI_" << tt + 1 << "_" << jj - 2 << "_D(3) or patternI_" << tt + 3 << "_" << jj - 2 << "_E(3) or patternI_" <<
1011  tt + 1 << "_" << jj - 4 << "_G(3) or patternI_" << tt + 3 << "_" << jj - 4 << "_H(3);" << endl;
1012  outputpp << " " << endl;
1013  }
1014  }
1015  }
1016  }
1017  }
1018 
1019 
1020  outputp << "end Behavioral;" << endl;
1021  outputpp << "end Behavioral;" << endl;
1022  outputp << " " << endl;
1023  outputpp << " " << endl;
1024  return 0;
1025 }
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:91