@@ -106,6 +106,215 @@ xls_benchmark_ir(
106
106
},
107
107
)
108
108
109
+ xls_dslx_library (
110
+ name = "rle_enc_adv_reduce_stage_dslx" ,
111
+ srcs = [
112
+ "rle_enc_adv_reduce_stage.x" ,
113
+ ],
114
+ deps = [
115
+ ":rle_common_dslx"
116
+ ],
117
+ )
118
+
119
+ xls_dslx_test (
120
+ name = "rle_enc_adv_reduce_stage_dslx_test" ,
121
+ dslx_test_args = {
122
+ "compare" : "none" ,
123
+ },
124
+ library = "rle_enc_adv_reduce_stage_dslx" ,
125
+ )
126
+
127
+ xls_dslx_test (
128
+ name = "rle_enc_adv_reduce_stage_dslx_ir_test" ,
129
+ dslx_test_args = {
130
+ "compare" : "interpreter" ,
131
+ },
132
+ library = "rle_enc_adv_reduce_stage_dslx" ,
133
+ )
134
+
135
+ xls_dslx_test (
136
+ name = "rle_enc_adv_reduce_stage_dslx_jit_test" ,
137
+ dslx_test_args = {
138
+ "compare" : "jit" ,
139
+ },
140
+ library = "rle_enc_adv_reduce_stage_dslx" ,
141
+ )
142
+
143
+ xls_dslx_library (
144
+ name = "rle_enc_adv_realign_stage_dslx" ,
145
+ srcs = [
146
+ "rle_enc_adv_realign_stage.x" ,
147
+ ],
148
+ deps = [
149
+ ":rle_common_dslx"
150
+ ],
151
+ )
152
+
153
+ xls_dslx_test (
154
+ name = "rle_enc_adv_realign_stage_dslx_test" ,
155
+ dslx_test_args = {
156
+ "compare" : "none" ,
157
+ },
158
+ library = "rle_enc_adv_realign_stage_dslx" ,
159
+ )
160
+
161
+ xls_dslx_test (
162
+ name = "rle_enc_adv_realign_stage_dslx_ir_test" ,
163
+ dslx_test_args = {
164
+ "compare" : "interpreter" ,
165
+ },
166
+ library = "rle_enc_adv_realign_stage_dslx" ,
167
+ )
168
+
169
+ xls_dslx_test (
170
+ name = "rle_enc_adv_realign_stage_dslx_jit_test" ,
171
+ dslx_test_args = {
172
+ "compare" : "jit" ,
173
+ },
174
+ library = "rle_enc_adv_realign_stage_dslx" ,
175
+ )
176
+
177
+ xls_dslx_library (
178
+ name = "rle_enc_adv_core_dslx" ,
179
+ srcs = [
180
+ "rle_enc_adv_core.x" ,
181
+ ],
182
+ deps = [
183
+ ":rle_common_dslx"
184
+ ],
185
+ )
186
+
187
+ xls_dslx_test (
188
+ name = "rle_enc_adv_core_dslx_test" ,
189
+ dslx_test_args = {
190
+ "compare" : "none" ,
191
+ },
192
+ library = "rle_enc_adv_core_dslx" ,
193
+ )
194
+
195
+ xls_dslx_test (
196
+ name = "rle_enc_adv_core_dslx_ir_test" ,
197
+ dslx_test_args = {
198
+ "compare" : "interpreter" ,
199
+ },
200
+ library = "rle_enc_adv_core_dslx" ,
201
+ )
202
+
203
+ xls_dslx_test (
204
+ name = "rle_enc_adv_core_dslx_jit_test" ,
205
+ dslx_test_args = {
206
+ "compare" : "jit" ,
207
+ },
208
+ library = "rle_enc_adv_core_dslx" ,
209
+ )
210
+
211
+ xls_dslx_library (
212
+ name = "rle_enc_adv_adjust_width_stage_dslx" ,
213
+ srcs = [
214
+ "rle_enc_adv_adjust_width_stage.x" ,
215
+ ],
216
+ deps = [
217
+ ":rle_common_dslx"
218
+ ],
219
+ )
220
+
221
+ xls_dslx_test (
222
+ name = "rle_enc_adv_adjust_width_stage_dslx_test" ,
223
+ dslx_test_args = {
224
+ "compare" : "none" ,
225
+ },
226
+ library = "rle_enc_adv_adjust_width_stage_dslx" ,
227
+ )
228
+
229
+ xls_dslx_test (
230
+ name = "rle_enc_adv_adjust_width_stage_dslx_ir_test" ,
231
+ dslx_test_args = {
232
+ "compare" : "interpreter" ,
233
+ },
234
+ library = "rle_enc_adv_adjust_width_stage_dslx" ,
235
+ )
236
+
237
+ xls_dslx_test (
238
+ name = "rle_enc_adv_adjust_width_stage_dslx_jit_test" ,
239
+ dslx_test_args = {
240
+ "compare" : "jit" ,
241
+ },
242
+ library = "rle_enc_adv_adjust_width_stage_dslx" ,
243
+ )
244
+
245
+ xls_dslx_library (
246
+ name = "rle_enc_adv_dslx" ,
247
+ srcs = [
248
+ "rle_enc_adv.x" ,
249
+ ],
250
+ deps = [
251
+ ":rle_common_dslx" ,
252
+ ":rle_enc_adv_reduce_stage_dslx" ,
253
+ ":rle_enc_adv_realign_stage_dslx" ,
254
+ ":rle_enc_adv_core_dslx" ,
255
+ ":rle_enc_adv_adjust_width_stage_dslx" ,
256
+ ],
257
+ )
258
+
259
+ xls_dslx_test (
260
+ name = "rle_enc_adv_dslx_test" ,
261
+ dslx_test_args = {
262
+ "compare" : "none" ,
263
+ },
264
+ library = "rle_enc_adv_dslx" ,
265
+ )
266
+
267
+ xls_dslx_test (
268
+ name = "rle_enc_adv_dslx_ir_test" ,
269
+ dslx_test_args = {
270
+ "compare" : "interpreter" ,
271
+ },
272
+ library = "rle_enc_adv_dslx" ,
273
+ )
274
+
275
+ xls_dslx_test (
276
+ name = "rle_enc_adv_dslx_jit_test" ,
277
+ dslx_test_args = {
278
+ "compare" : "jit" ,
279
+ },
280
+ library = "rle_enc_adv_dslx" ,
281
+ )
282
+
283
+ xls_dslx_ir (
284
+ name = "rle_enc_adv_ir" ,
285
+ dslx_top = "RunLengthEncoder8_8_4_2" ,
286
+ library = "rle_enc_adv_dslx" ,
287
+ ir_file = "rle_enc_adv.ir" ,
288
+ )
289
+
290
+ xls_ir_opt_ir (
291
+ name = "rle_enc_adv_opt_ir" ,
292
+ src = "rle_enc_adv.ir" ,
293
+ top = "__xls_modules_rle_rle_enc_adv_core__RunLengthEncoder8_8_4_2__RunLengthEncoderAdvanced__RunLengthEncoderAdvancedCoreStage_0__8_4_8_next" ,
294
+ )
295
+
296
+ xls_ir_verilog (
297
+ name = "rle_enc_adv_verilog" ,
298
+ src = ":rle_enc_adv_opt_ir.opt.ir" ,
299
+ verilog_file = "rle_enc_adv.v" ,
300
+ codegen_args = {
301
+ "module_name" : "rle_enc_adv" ,
302
+ "delay_model" : "unit" ,
303
+ "pipeline_stages" : "2" ,
304
+ "reset" : "rst" ,
305
+ "use_system_verilog" : "false" ,
306
+ },
307
+ )
308
+
309
+ xls_benchmark_ir (
310
+ name = "rle_enc_adv_ir_benchmark" ,
311
+ src = ":rle_enc_adv_opt_ir.opt.ir" ,
312
+ benchmark_ir_args = {
313
+ "pipeline_stages" : "2" ,
314
+ "delay_model" : "unit" ,
315
+ }
316
+ )
317
+
109
318
xls_dslx_library (
110
319
name = "rle_dec_dslx" ,
111
320
srcs = [
0 commit comments