edacation 0.3.12 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -129,21 +129,25 @@ const util_js_2 = require("./util.js");
129
129
  }
130
130
  if (command === 'yosys') {
131
131
  const workerOptions = (0, index_js_1.getYosysWorkerOptions)(project, target.id);
132
- console.log([workerOptions.tool, ''].concat(workerOptions.commands).join('\n'));
133
- console.log();
134
- if (shouldExecute) {
135
- const designFilePath = path_1.default.join(cwd, 'design.ys');
136
- await (0, promises_1.writeFile)(designFilePath, workerOptions.commands.concat(['']).join('\n'), { encoding: 'utf-8' });
137
- await (0, tool_js_1.executeTool)(workerOptions.tool, ['design.ys'], cwd);
138
- await (0, promises_1.unlink)(designFilePath);
132
+ for (const step of workerOptions.steps) {
133
+ console.log([step.tool, ''].concat(step.commands).join('\n'));
134
+ console.log();
135
+ if (shouldExecute) {
136
+ const designFilePath = path_1.default.join(cwd, 'design.ys');
137
+ await (0, promises_1.writeFile)(designFilePath, step.commands.concat(['']).join('\n'), { encoding: 'utf-8' });
138
+ await (0, tool_js_1.executeTool)(step.tool, ['design.ys'], cwd);
139
+ await (0, promises_1.unlink)(designFilePath);
140
+ }
139
141
  }
140
142
  }
141
143
  else if (command === 'nextpnr') {
142
144
  const workerOptions = (0, index_js_1.getNextpnrWorkerOptions)(project, target.id);
143
- console.log([workerOptions.tool].concat((0, util_js_1.formatArguments)(workerOptions.arguments)).join('\n'));
144
- console.log();
145
- if (shouldExecute) {
146
- await (0, tool_js_1.executeTool)(workerOptions.tool, workerOptions.arguments, cwd);
145
+ for (const step of workerOptions.steps) {
146
+ console.log([step.tool].concat((0, util_js_1.formatArguments)(step.arguments)).join('\n'));
147
+ console.log();
148
+ if (shouldExecute) {
149
+ await (0, tool_js_1.executeTool)(step.tool, step.arguments, cwd);
150
+ }
147
151
  }
148
152
  }
149
153
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -322,6 +322,89 @@ declare const schemaNextpnrTarget: z.ZodObject<{
322
322
  useDefault?: boolean | undefined;
323
323
  } | undefined;
324
324
  }>;
325
+ declare const schemaIVerilogOptions: z.ZodObject<{
326
+ testbenchFile: z.ZodOptional<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ testbenchFile?: string | undefined;
329
+ }, {
330
+ testbenchFile?: string | undefined;
331
+ }>;
332
+ declare const schemaIVerilog: z.ZodObject<{
333
+ arguments: z.ZodOptional<z.ZodObject<{
334
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
335
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
336
+ }, "strip", z.ZodTypeAny, {
337
+ useGenerated: boolean;
338
+ values: string[];
339
+ }, {
340
+ useGenerated?: boolean | undefined;
341
+ values?: string[] | undefined;
342
+ }>>;
343
+ options: z.ZodOptional<z.ZodObject<{
344
+ testbenchFile: z.ZodOptional<z.ZodString>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ testbenchFile?: string | undefined;
347
+ }, {
348
+ testbenchFile?: string | undefined;
349
+ }>>;
350
+ }, "strip", z.ZodTypeAny, {
351
+ options?: {
352
+ testbenchFile?: string | undefined;
353
+ } | undefined;
354
+ arguments?: {
355
+ useGenerated: boolean;
356
+ values: string[];
357
+ } | undefined;
358
+ }, {
359
+ options?: {
360
+ testbenchFile?: string | undefined;
361
+ } | undefined;
362
+ arguments?: {
363
+ useGenerated?: boolean | undefined;
364
+ values?: string[] | undefined;
365
+ } | undefined;
366
+ }>;
367
+ declare const schemaIVerilogTarget: z.ZodObject<{
368
+ arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
369
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
370
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
371
+ }, {
372
+ useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
373
+ }>, "strip", z.ZodTypeAny, {
374
+ useGenerated: boolean;
375
+ values: string[];
376
+ useDefault: boolean;
377
+ }, {
378
+ useGenerated?: boolean | undefined;
379
+ values?: string[] | undefined;
380
+ useDefault?: boolean | undefined;
381
+ }>>;
382
+ options: z.ZodOptional<z.ZodObject<{
383
+ testbenchFile: z.ZodOptional<z.ZodString>;
384
+ }, "strip", z.ZodTypeAny, {
385
+ testbenchFile?: string | undefined;
386
+ }, {
387
+ testbenchFile?: string | undefined;
388
+ }>>;
389
+ }, "strip", z.ZodTypeAny, {
390
+ options?: {
391
+ testbenchFile?: string | undefined;
392
+ } | undefined;
393
+ arguments?: {
394
+ useGenerated: boolean;
395
+ values: string[];
396
+ useDefault: boolean;
397
+ } | undefined;
398
+ }, {
399
+ options?: {
400
+ testbenchFile?: string | undefined;
401
+ } | undefined;
402
+ arguments?: {
403
+ useGenerated?: boolean | undefined;
404
+ values?: string[] | undefined;
405
+ useDefault?: boolean | undefined;
406
+ } | undefined;
407
+ }>;
325
408
  export declare const schemaProjectConfiguration: z.ZodObject<{
326
409
  defaults: z.ZodOptional<z.ZodObject<{
327
410
  yosys: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
@@ -483,6 +566,78 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
483
566
  values?: string[] | undefined;
484
567
  } | undefined;
485
568
  }>>;
569
+ iverilog: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
570
+ inputFiles: z.ZodOptional<z.ZodObject<{
571
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
572
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
573
+ }, "strip", z.ZodTypeAny, {
574
+ useGenerated: boolean;
575
+ values: string[];
576
+ }, {
577
+ useGenerated?: boolean | undefined;
578
+ values?: string[] | undefined;
579
+ }>>;
580
+ outputFiles: z.ZodOptional<z.ZodObject<{
581
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
582
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
583
+ }, "strip", z.ZodTypeAny, {
584
+ useGenerated: boolean;
585
+ values: string[];
586
+ }, {
587
+ useGenerated?: boolean | undefined;
588
+ values?: string[] | undefined;
589
+ }>>;
590
+ }, {
591
+ arguments: z.ZodOptional<z.ZodObject<{
592
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
593
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
594
+ }, "strip", z.ZodTypeAny, {
595
+ useGenerated: boolean;
596
+ values: string[];
597
+ }, {
598
+ useGenerated?: boolean | undefined;
599
+ values?: string[] | undefined;
600
+ }>>;
601
+ options: z.ZodOptional<z.ZodObject<{
602
+ testbenchFile: z.ZodOptional<z.ZodString>;
603
+ }, "strip", z.ZodTypeAny, {
604
+ testbenchFile?: string | undefined;
605
+ }, {
606
+ testbenchFile?: string | undefined;
607
+ }>>;
608
+ }>, "strip", z.ZodTypeAny, {
609
+ options?: {
610
+ testbenchFile?: string | undefined;
611
+ } | undefined;
612
+ inputFiles?: {
613
+ useGenerated: boolean;
614
+ values: string[];
615
+ } | undefined;
616
+ outputFiles?: {
617
+ useGenerated: boolean;
618
+ values: string[];
619
+ } | undefined;
620
+ arguments?: {
621
+ useGenerated: boolean;
622
+ values: string[];
623
+ } | undefined;
624
+ }, {
625
+ options?: {
626
+ testbenchFile?: string | undefined;
627
+ } | undefined;
628
+ inputFiles?: {
629
+ useGenerated?: boolean | undefined;
630
+ values?: string[] | undefined;
631
+ } | undefined;
632
+ outputFiles?: {
633
+ useGenerated?: boolean | undefined;
634
+ values?: string[] | undefined;
635
+ } | undefined;
636
+ arguments?: {
637
+ useGenerated?: boolean | undefined;
638
+ values?: string[] | undefined;
639
+ } | undefined;
640
+ }>>;
486
641
  }, "strip", z.ZodTypeAny, {
487
642
  yosys?: {
488
643
  options?: {
@@ -521,6 +676,23 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
521
676
  values: string[];
522
677
  } | undefined;
523
678
  } | undefined;
679
+ iverilog?: {
680
+ options?: {
681
+ testbenchFile?: string | undefined;
682
+ } | undefined;
683
+ inputFiles?: {
684
+ useGenerated: boolean;
685
+ values: string[];
686
+ } | undefined;
687
+ outputFiles?: {
688
+ useGenerated: boolean;
689
+ values: string[];
690
+ } | undefined;
691
+ arguments?: {
692
+ useGenerated: boolean;
693
+ values: string[];
694
+ } | undefined;
695
+ } | undefined;
524
696
  }, {
525
697
  yosys?: {
526
698
  options?: {
@@ -559,6 +731,23 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
559
731
  values?: string[] | undefined;
560
732
  } | undefined;
561
733
  } | undefined;
734
+ iverilog?: {
735
+ options?: {
736
+ testbenchFile?: string | undefined;
737
+ } | undefined;
738
+ inputFiles?: {
739
+ useGenerated?: boolean | undefined;
740
+ values?: string[] | undefined;
741
+ } | undefined;
742
+ outputFiles?: {
743
+ useGenerated?: boolean | undefined;
744
+ values?: string[] | undefined;
745
+ } | undefined;
746
+ arguments?: {
747
+ useGenerated?: boolean | undefined;
748
+ values?: string[] | undefined;
749
+ } | undefined;
750
+ } | undefined;
562
751
  }>>;
563
752
  targets: z.ZodArray<z.ZodObject<{
564
753
  id: z.ZodString;
@@ -763,6 +952,96 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
763
952
  useDefault?: boolean | undefined;
764
953
  } | undefined;
765
954
  }>>;
955
+ iverilog: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
956
+ inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
957
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
958
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
959
+ }, {
960
+ useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
961
+ }>, "strip", z.ZodTypeAny, {
962
+ useGenerated: boolean;
963
+ values: string[];
964
+ useDefault: boolean;
965
+ }, {
966
+ useGenerated?: boolean | undefined;
967
+ values?: string[] | undefined;
968
+ useDefault?: boolean | undefined;
969
+ }>>;
970
+ outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
971
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
972
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
973
+ }, {
974
+ useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
975
+ }>, "strip", z.ZodTypeAny, {
976
+ useGenerated: boolean;
977
+ values: string[];
978
+ useDefault: boolean;
979
+ }, {
980
+ useGenerated?: boolean | undefined;
981
+ values?: string[] | undefined;
982
+ useDefault?: boolean | undefined;
983
+ }>>;
984
+ }, {
985
+ arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
986
+ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
987
+ values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
988
+ }, {
989
+ useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
990
+ }>, "strip", z.ZodTypeAny, {
991
+ useGenerated: boolean;
992
+ values: string[];
993
+ useDefault: boolean;
994
+ }, {
995
+ useGenerated?: boolean | undefined;
996
+ values?: string[] | undefined;
997
+ useDefault?: boolean | undefined;
998
+ }>>;
999
+ options: z.ZodOptional<z.ZodObject<{
1000
+ testbenchFile: z.ZodOptional<z.ZodString>;
1001
+ }, "strip", z.ZodTypeAny, {
1002
+ testbenchFile?: string | undefined;
1003
+ }, {
1004
+ testbenchFile?: string | undefined;
1005
+ }>>;
1006
+ }>, "strip", z.ZodTypeAny, {
1007
+ options?: {
1008
+ testbenchFile?: string | undefined;
1009
+ } | undefined;
1010
+ inputFiles?: {
1011
+ useGenerated: boolean;
1012
+ values: string[];
1013
+ useDefault: boolean;
1014
+ } | undefined;
1015
+ outputFiles?: {
1016
+ useGenerated: boolean;
1017
+ values: string[];
1018
+ useDefault: boolean;
1019
+ } | undefined;
1020
+ arguments?: {
1021
+ useGenerated: boolean;
1022
+ values: string[];
1023
+ useDefault: boolean;
1024
+ } | undefined;
1025
+ }, {
1026
+ options?: {
1027
+ testbenchFile?: string | undefined;
1028
+ } | undefined;
1029
+ inputFiles?: {
1030
+ useGenerated?: boolean | undefined;
1031
+ values?: string[] | undefined;
1032
+ useDefault?: boolean | undefined;
1033
+ } | undefined;
1034
+ outputFiles?: {
1035
+ useGenerated?: boolean | undefined;
1036
+ values?: string[] | undefined;
1037
+ useDefault?: boolean | undefined;
1038
+ } | undefined;
1039
+ arguments?: {
1040
+ useGenerated?: boolean | undefined;
1041
+ values?: string[] | undefined;
1042
+ useDefault?: boolean | undefined;
1043
+ } | undefined;
1044
+ }>>;
766
1045
  }, "strip", z.ZodTypeAny, {
767
1046
  id: string;
768
1047
  name: string;
@@ -813,6 +1092,26 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
813
1092
  useDefault: boolean;
814
1093
  } | undefined;
815
1094
  } | undefined;
1095
+ iverilog?: {
1096
+ options?: {
1097
+ testbenchFile?: string | undefined;
1098
+ } | undefined;
1099
+ inputFiles?: {
1100
+ useGenerated: boolean;
1101
+ values: string[];
1102
+ useDefault: boolean;
1103
+ } | undefined;
1104
+ outputFiles?: {
1105
+ useGenerated: boolean;
1106
+ values: string[];
1107
+ useDefault: boolean;
1108
+ } | undefined;
1109
+ arguments?: {
1110
+ useGenerated: boolean;
1111
+ values: string[];
1112
+ useDefault: boolean;
1113
+ } | undefined;
1114
+ } | undefined;
816
1115
  directory?: string | undefined;
817
1116
  }, {
818
1117
  id: string;
@@ -864,6 +1163,26 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
864
1163
  useDefault?: boolean | undefined;
865
1164
  } | undefined;
866
1165
  } | undefined;
1166
+ iverilog?: {
1167
+ options?: {
1168
+ testbenchFile?: string | undefined;
1169
+ } | undefined;
1170
+ inputFiles?: {
1171
+ useGenerated?: boolean | undefined;
1172
+ values?: string[] | undefined;
1173
+ useDefault?: boolean | undefined;
1174
+ } | undefined;
1175
+ outputFiles?: {
1176
+ useGenerated?: boolean | undefined;
1177
+ values?: string[] | undefined;
1178
+ useDefault?: boolean | undefined;
1179
+ } | undefined;
1180
+ arguments?: {
1181
+ useGenerated?: boolean | undefined;
1182
+ values?: string[] | undefined;
1183
+ useDefault?: boolean | undefined;
1184
+ } | undefined;
1185
+ } | undefined;
867
1186
  directory?: string | undefined;
868
1187
  }>, "many">;
869
1188
  }, "strip", z.ZodTypeAny, {
@@ -917,6 +1236,26 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
917
1236
  useDefault: boolean;
918
1237
  } | undefined;
919
1238
  } | undefined;
1239
+ iverilog?: {
1240
+ options?: {
1241
+ testbenchFile?: string | undefined;
1242
+ } | undefined;
1243
+ inputFiles?: {
1244
+ useGenerated: boolean;
1245
+ values: string[];
1246
+ useDefault: boolean;
1247
+ } | undefined;
1248
+ outputFiles?: {
1249
+ useGenerated: boolean;
1250
+ values: string[];
1251
+ useDefault: boolean;
1252
+ } | undefined;
1253
+ arguments?: {
1254
+ useGenerated: boolean;
1255
+ values: string[];
1256
+ useDefault: boolean;
1257
+ } | undefined;
1258
+ } | undefined;
920
1259
  directory?: string | undefined;
921
1260
  }[];
922
1261
  defaults?: {
@@ -957,6 +1296,23 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
957
1296
  values: string[];
958
1297
  } | undefined;
959
1298
  } | undefined;
1299
+ iverilog?: {
1300
+ options?: {
1301
+ testbenchFile?: string | undefined;
1302
+ } | undefined;
1303
+ inputFiles?: {
1304
+ useGenerated: boolean;
1305
+ values: string[];
1306
+ } | undefined;
1307
+ outputFiles?: {
1308
+ useGenerated: boolean;
1309
+ values: string[];
1310
+ } | undefined;
1311
+ arguments?: {
1312
+ useGenerated: boolean;
1313
+ values: string[];
1314
+ } | undefined;
1315
+ } | undefined;
960
1316
  } | undefined;
961
1317
  }, {
962
1318
  targets: {
@@ -1009,6 +1365,26 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
1009
1365
  useDefault?: boolean | undefined;
1010
1366
  } | undefined;
1011
1367
  } | undefined;
1368
+ iverilog?: {
1369
+ options?: {
1370
+ testbenchFile?: string | undefined;
1371
+ } | undefined;
1372
+ inputFiles?: {
1373
+ useGenerated?: boolean | undefined;
1374
+ values?: string[] | undefined;
1375
+ useDefault?: boolean | undefined;
1376
+ } | undefined;
1377
+ outputFiles?: {
1378
+ useGenerated?: boolean | undefined;
1379
+ values?: string[] | undefined;
1380
+ useDefault?: boolean | undefined;
1381
+ } | undefined;
1382
+ arguments?: {
1383
+ useGenerated?: boolean | undefined;
1384
+ values?: string[] | undefined;
1385
+ useDefault?: boolean | undefined;
1386
+ } | undefined;
1387
+ } | undefined;
1012
1388
  directory?: string | undefined;
1013
1389
  }[];
1014
1390
  defaults?: {
@@ -1049,6 +1425,23 @@ export declare const schemaProjectConfiguration: z.ZodObject<{
1049
1425
  values?: string[] | undefined;
1050
1426
  } | undefined;
1051
1427
  } | undefined;
1428
+ iverilog?: {
1429
+ options?: {
1430
+ testbenchFile?: string | undefined;
1431
+ } | undefined;
1432
+ inputFiles?: {
1433
+ useGenerated?: boolean | undefined;
1434
+ values?: string[] | undefined;
1435
+ } | undefined;
1436
+ outputFiles?: {
1437
+ useGenerated?: boolean | undefined;
1438
+ values?: string[] | undefined;
1439
+ } | undefined;
1440
+ arguments?: {
1441
+ useGenerated?: boolean | undefined;
1442
+ values?: string[] | undefined;
1443
+ } | undefined;
1444
+ } | undefined;
1052
1445
  } | undefined;
1053
1446
  }>;
1054
1447
  export type ProjectConfiguration = z.infer<typeof schemaProjectConfiguration>;
@@ -1056,7 +1449,7 @@ export type TargetDefaultsConfiguration = NonNullable<ProjectConfiguration['defa
1056
1449
  export type TargetConfiguration = ArrayElement<ProjectConfiguration['targets']>;
1057
1450
  export type ValueListConfiguration = z.infer<typeof schemaValueList>;
1058
1451
  export type ValueListConfigurationTarget = z.infer<typeof schemaValueListTarget>;
1059
- export type WorkerId = 'yosys' | 'nextpnr';
1452
+ export type WorkerId = 'yosys' | 'nextpnr' | 'iverilog';
1060
1453
  export type WorkerConfiguration = z.infer<typeof schemaWorker>;
1061
1454
  export type WorkerTargetConfiguration = z.infer<typeof schemaWorkerTarget>;
1062
1455
  export type YosysOptions = z.infer<typeof schemaYosysOptions>;
@@ -1065,14 +1458,23 @@ export type YosysTargetConfiguration = z.infer<typeof schemaYosysTarget>;
1065
1458
  export type NextpnrOptions = z.infer<typeof schemaNextpnrOptions>;
1066
1459
  export type NextpnrConfiguration = z.infer<typeof schemaNextpnr>;
1067
1460
  export type NextpnrTargetConfiguration = z.infer<typeof schemaNextpnrTarget>;
1461
+ export type IVerilogOptions = z.infer<typeof schemaIVerilogOptions>;
1462
+ export type IVerilogConfiguration = z.infer<typeof schemaIVerilog>;
1463
+ export type IVerilogTargetConfiguration = z.infer<typeof schemaIVerilogTarget>;
1068
1464
  export type TargetOptionTypes = {
1069
1465
  yosys: YosysOptions;
1070
1466
  nextpnr: NextpnrOptions;
1467
+ iverilog: IVerilogOptions;
1071
1468
  };
1072
- export interface WorkerOptions {
1469
+ export interface WorkerStep {
1470
+ tool: string;
1471
+ arguments: string[];
1472
+ }
1473
+ export interface WorkerOptions<Step extends WorkerStep, Options> {
1073
1474
  inputFiles: string[];
1074
1475
  outputFiles: string[];
1075
- tool: string;
1076
1476
  target: TargetConfiguration;
1477
+ options: Options;
1478
+ steps: Step[];
1077
1479
  }
1078
1480
  export {};
@@ -54,13 +54,27 @@ const schemaNextpnrTarget = zod_1.z.object({
54
54
  arguments: schemaValueListTarget.optional(),
55
55
  options: schemaNextpnrOptions.optional()
56
56
  });
57
+ const schemaIVerilogOptions = zod_1.z.object({
58
+ testbenchFile: zod_1.z.string().optional()
59
+ });
60
+ const schemaIVerilog = zod_1.z.object({
61
+ arguments: schemaValueList.optional(),
62
+ options: schemaIVerilogOptions.optional()
63
+ });
64
+ const schemaIVerilogTarget = zod_1.z.object({
65
+ arguments: schemaValueListTarget.optional(),
66
+ options: schemaIVerilogOptions.optional()
67
+ });
57
68
  const schemaCombinedYosys = schemaWorker.merge(schemaYosys);
58
69
  const schemaCombinedYosysTarget = schemaWorkerTarget.merge(schemaYosysTarget);
59
70
  const schemaCombinedNextpnr = schemaWorker.merge(schemaNextpnr);
60
71
  const schemaCombinedNextpnrTarget = schemaWorkerTarget.merge(schemaNextpnrTarget);
72
+ const schemaCombinedIVerilog = schemaWorker.merge(schemaIVerilog);
73
+ const schemaCombinedIVerilogTarget = schemaWorkerTarget.merge(schemaIVerilogTarget);
61
74
  const schemaTargetDefaults = zod_1.z.object({
62
75
  yosys: schemaCombinedYosys.optional(),
63
- nextpnr: schemaCombinedNextpnr.optional()
76
+ nextpnr: schemaCombinedNextpnr.optional(),
77
+ iverilog: schemaCombinedIVerilog.optional()
64
78
  });
65
79
  const schemaTarget = zod_1.z.object({
66
80
  id: zod_1.z.string(),
@@ -71,7 +85,8 @@ const schemaTarget = zod_1.z.object({
71
85
  package: zod_1.z.string(),
72
86
  directory: zod_1.z.string().optional(),
73
87
  yosys: schemaCombinedYosysTarget.optional(),
74
- nextpnr: schemaCombinedNextpnrTarget.optional()
88
+ nextpnr: schemaCombinedNextpnrTarget.optional(),
89
+ iverilog: schemaCombinedIVerilogTarget.optional()
75
90
  });
76
91
  exports.schemaProjectConfiguration = zod_1.z.object({
77
92
  defaults: schemaTargetDefaults.optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/project/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/project/configuration.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './configuration.js';
2
2
  export * from './devices.js';
3
+ export * from './groups.js';
4
+ export * from './iverilog.js';
3
5
  export * from './nextpnr.js';
4
6
  export * from './project.js';
5
7
  export * from './yosys.js';
6
- export * from './groups.js';
@@ -16,8 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./configuration.js"), exports);
18
18
  __exportStar(require("./devices.js"), exports);
19
+ __exportStar(require("./groups.js"), exports);
20
+ __exportStar(require("./iverilog.js"), exports);
19
21
  __exportStar(require("./nextpnr.js"), exports);
20
22
  __exportStar(require("./project.js"), exports);
21
23
  __exportStar(require("./yosys.js"), exports);
22
- __exportStar(require("./groups.js"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B"}
@@ -0,0 +1,9 @@
1
+ import type { IVerilogOptions, ProjectConfiguration, WorkerOptions, WorkerStep } from './configuration.js';
2
+ import type { Project, ProjectInputFile } from './project.js';
3
+ export type IVerilogStep = WorkerStep;
4
+ export type IVerilogWorkerOptions = WorkerOptions<IVerilogStep, IVerilogOptions>;
5
+ export declare const getIVerilogDefaultOptions: (configuration: ProjectConfiguration) => IVerilogOptions;
6
+ export declare const getIVerilogOptions: (configuration: ProjectConfiguration, targetId: string) => IVerilogOptions;
7
+ export declare const generateIVerilogWorkerOptions: (configuration: ProjectConfiguration, projectInputFiles: ProjectInputFile[], targetId: string) => IVerilogWorkerOptions;
8
+ export declare const parseIVerilogArguments: (args: string[]) => string[];
9
+ export declare const getIVerilogWorkerOptions: (project: Project, targetId: string) => IVerilogWorkerOptions;