|
87 | 87 | genvar ~GENSYM[i][1]; |
88 | 88 | ~GENERATE |
89 | 89 | for (~SYM[1]=0; ~SYM[1] < ~LENGTH[~TYPO]; ~SYM[1] = ~SYM[1] + 1) begin : ~GENSYM[map][2]~IF~SIZE[~TYP[1]]~THEN |
| 90 | + localparam ~GENSYM[vec_index][5] = ~MAXINDEX[~TYPO] - ~SYM[1]; |
90 | 91 | wire ~TYPEL[~TYP[1]] ~GENSYM[map_in][3]; |
91 | | - assign ~SYM[3] = ~VAR[vec][1][~SYM[1]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI |
| 92 | + assign ~SYM[3] = ~VAR[vec][1][~SYM[5]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI |
92 | 93 | ~OUTPUTUSAGE[0] ~TYPEL[~TYPO] ~GENSYM[map_out][4]; |
93 | 94 | ~INST 0 |
94 | 95 | ~OUTPUT <= ~SYM[4]~ ~TYPEL[~TYPO]~ |
95 | 96 | ~INPUT <= ~SYM[3]~ ~TYPEL[~TYP[1]]~ |
96 | 97 | ~INST |
97 | | - assign ~RESULT[~SYM[1]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[4]; |
| 98 | + assign ~RESULT[~SYM[5]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[4]; |
98 | 99 | end |
99 | 100 | ~ENDGENERATE |
100 | 101 | // map end |
|
108 | 109 | genvar ~GENSYM[i][1]; |
109 | 110 | ~GENERATE |
110 | 111 | for (~SYM[1]=0; ~SYM[1] < ~LENGTH[~TYPO]; ~SYM[1] = ~SYM[1] + 1) begin : ~GENSYM[imap][2] |
| 112 | + localparam ~GENSYM[vec_index][6] = ~MAXINDEX[~TYPO] - ~SYM[1]; |
111 | 113 | wire [~SIZE[~INDEXTYPE[~LIT[0]]]-1:0] ~GENSYM[map_index][3];~IF~SIZE[~TYP[2]]~THEN |
112 | 114 | wire ~TYPEL[~TYP[2]] ~GENSYM[map_in][4]; |
113 | | - assign ~SYM[4] = ~VAR[vec][2][~SYM[1]*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
| 115 | + assign ~SYM[4] = ~VAR[vec][2][~SYM[6]*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
114 | 116 | ~OUTPUTUSAGE[1] ~TYPEL[~TYPO] ~GENSYM[map_out][5]; |
115 | 117 |
|
116 | 118 | assign ~SYM[3] = ~SIZE[~INDEXTYPE[~LIT[0]]]'d~MAXINDEX[~TYPO] - ~SYM[1][0+:~SIZE[~INDEXTYPE[~LIT[0]]]]; |
|
119 | 121 | ~INPUT <= ~SYM[3]~ ~INDEXTYPE[~LIT[0]]~ |
120 | 122 | ~INPUT <= ~SYM[4]~ ~TYPEL[~TYP[2]]~ |
121 | 123 | ~INST |
122 | | - assign ~RESULT[~SYM[1]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
| 124 | + assign ~RESULT[~SYM[6]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
123 | 125 | end |
124 | 126 | ~ENDGENERATE |
125 | 127 | // imap end |
|
133 | 135 | genvar ~GENSYM[i][1]; |
134 | 136 | ~GENERATE |
135 | 137 | for (~SYM[1]=0; ~SYM[1] < ~LENGTH[~TYPO]; ~SYM[1] = ~SYM[1] + 1) begin : ~GENSYM[imap][2] |
| 138 | + localparam ~GENSYM[vec_index][6] = ~MAXINDEX[~TYPO] - ~SYM[1]; |
136 | 139 | wire ~TYP[2] ~GENSYM[map_index][3];~IF~SIZE[~TYP[1]]~THEN |
137 | 140 | wire ~TYPEL[~TYP[1]] ~GENSYM[map_in][4]; |
138 | | - assign ~SYM[4] = ~VAR[vec][1][~SYM[1]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI |
| 141 | + assign ~SYM[4] = ~VAR[vec][1][~SYM[6]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI |
139 | 142 | ~OUTPUTUSAGE[0] ~TYPEL[~TYPO] ~GENSYM[map_out][5]; |
140 | 143 |
|
141 | 144 | assign ~SYM[3] = ~SIZE[~TYP[2]]'d~MAXINDEX[~TYPO] - ~SYM[1][0+:~SIZE[~TYP[2]]] + ~ARG[2]; |
|
144 | 147 | ~INPUT <= ~SYM[3]~ ~TYP[2]~ |
145 | 148 | ~INPUT <= ~SYM[4]~ ~TYPEL[~TYP[1]]~ |
146 | 149 | ~INST |
147 | | - assign ~RESULT[~SYM[1]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
| 150 | + assign ~RESULT[~SYM[6]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
148 | 151 | end |
149 | 152 | ~ENDGENERATE |
150 | 153 | // imap end |
|
158 | 161 | genvar ~GENSYM[i][2]; |
159 | 162 | ~GENERATE |
160 | 163 | for (~SYM[2] = 0; ~SYM[2] < ~LENGTH[~TYPO]; ~SYM[2] = ~SYM[2] + 1) begin : ~GENSYM[zipWith][6]~IF~SIZE[~TYP[1]]~THEN |
| 164 | + localparam ~GENSYM[vec_index][7] = ~MAXINDEX[~TYPO] - ~SYM[2]; |
161 | 165 | wire ~TYPEL[~TYP[1]] ~GENSYM[zipWith_in1][3]; |
162 | | - assign ~SYM[3] = ~VAR[vec1][1][~SYM[2]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI~IF~SIZE[~TYP[2]]~THEN |
| 166 | + assign ~SYM[3] = ~VAR[vec1][1][~SYM[7]*~SIZE[~TYPEL[~TYP[1]]]+:~SIZE[~TYPEL[~TYP[1]]]];~ELSE ~FI~IF~SIZE[~TYP[2]]~THEN |
163 | 167 | wire ~TYPEL[~TYP[2]] ~GENSYM[zipWith_in2][4]; |
164 | | - assign ~SYM[4] = ~VAR[vec2][2][~SYM[2]*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
165 | | - ~OUTPUTUSAGE[0] ~TYPEL[~TYPO] ~SYM[5]; |
| 168 | + assign ~SYM[4] = ~VAR[vec2][2][~SYM[7]*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
| 169 | + ~OUTPUTUSAGE[0] ~TYPEL[~TYPO] ~GENSYM[zip_out][5]; |
166 | 170 | ~INST 0 |
167 | 171 | ~OUTPUT <= ~SYM[5]~ ~TYPEL[~TYPO]~ |
168 | 172 | ~INPUT <= ~SYM[3]~ ~TYPEL[~TYP[1]]~ |
169 | 173 | ~INPUT <= ~SYM[4]~ ~TYPEL[~TYP[2]]~ |
170 | 174 | ~INST |
171 | | - assign ~RESULT[~SYM[2]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
| 175 | + assign ~RESULT[~SYM[7]*~SIZE[~TYPEL[~TYPO]]+:~SIZE[~TYPEL[~TYPO]]] = ~SYM[5]; |
172 | 176 | end |
173 | 177 | ~ENDGENERATE |
174 | 178 | // zipWith end |
|
185 | 189 | genvar ~GENSYM[i][3]; |
186 | 190 | ~GENERATE |
187 | 191 | for (~SYM[3]=0; ~SYM[3] < ~LENGTH[~TYP[2]]; ~SYM[3]=~SYM[3]+1) begin : ~GENSYM[foldr][4]~IF~SIZE[~TYP[2]]~THEN |
| 192 | + localparam ~GENSYM[vec_index][8] = ~MAXINDEX[~TYPO] - ~SYM[3]; |
188 | 193 | wire ~TYPEL[~TYP[2]] ~GENSYM[foldr_in1][5]; |
189 | | - assign ~SYM[5] = ~VAR[xs][2][(~LENGTH[~TYP[2]]-1-~SYM[3])*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
| 194 | + assign ~SYM[5] = ~VAR[xs][2][(~SYM[8])*~SIZE[~TYPEL[~TYP[2]]]+:~SIZE[~TYPEL[~TYP[2]]]];~ELSE ~FI |
190 | 195 | wire ~TYPO ~GENSYM[foldr_in2][6]; |
191 | 196 | ~OUTPUTUSAGE[0] ~TYPO ~GENSYM[foldr_out][7]; |
192 | 197 |
|
|
0 commit comments