edacation 0.3.11 → 0.4.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 +15 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/project/configuration.d.ts +405 -3
- package/dist/project/configuration.js +17 -2
- package/dist/project/configuration.js.map +1 -1
- package/dist/project/index.d.ts +2 -1
- package/dist/project/index.js +2 -1
- package/dist/project/index.js.map +1 -1
- package/dist/project/iverilog.d.ts +9 -0
- package/dist/project/iverilog.js +73 -0
- package/dist/project/iverilog.js.map +1 -0
- package/dist/project/nextpnr.d.ts +3 -5
- package/dist/project/nextpnr.js +14 -8
- package/dist/project/nextpnr.js.map +1 -1
- package/dist/project/project.d.ts +65 -10
- package/dist/project/project.js +44 -10
- package/dist/project/project.js.map +1 -1
- package/dist/project/yosys.d.ts +5 -5
- package/dist/project/yosys.js +20 -19
- package/dist/project/yosys.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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 {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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
|
|
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":";;;AAAA,6BAAsB;AAIT,QAAA,qBAAqB,GAAyB;IACvD,OAAO,EAAE;QACL;YACI,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,4BAA4B;YAElC,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;SACtB;KACJ;CACJ,CAAC;AAEF,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,YAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClD,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1B,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC5D,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC9E,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAChE,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/project/configuration.ts"],"names":[],"mappings":"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"}
|
package/dist/project/index.d.ts
CHANGED
package/dist/project/index.js
CHANGED
|
@@ -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
|
|
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;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getIVerilogWorkerOptions = exports.parseIVerilogArguments = exports.generateIVerilogWorkerOptions = exports.getIVerilogOptions = exports.getIVerilogDefaultOptions = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const string_args_parser_1 = require("string-args-parser");
|
|
9
|
+
const util_js_1 = require("../util.js");
|
|
10
|
+
const target_js_1 = require("./target.js");
|
|
11
|
+
const DEFAULT_OPTIONS = {
|
|
12
|
+
testbenchFile: undefined
|
|
13
|
+
};
|
|
14
|
+
const getIVerilogDefaultOptions = (configuration) => (0, target_js_1.getDefaultOptions)(configuration, 'iverilog', DEFAULT_OPTIONS);
|
|
15
|
+
exports.getIVerilogDefaultOptions = getIVerilogDefaultOptions;
|
|
16
|
+
const getIVerilogOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'iverilog', DEFAULT_OPTIONS);
|
|
17
|
+
exports.getIVerilogOptions = getIVerilogOptions;
|
|
18
|
+
const generateIVerilogWorkerOptions = (configuration, projectInputFiles, targetId) => {
|
|
19
|
+
const target = (0, target_js_1.getTarget)(configuration, targetId);
|
|
20
|
+
const options = (0, exports.getIVerilogOptions)(configuration, targetId);
|
|
21
|
+
const files = projectInputFiles.filter((inputFile) => inputFile.type === 'design' && util_js_1.FILE_EXTENSIONS_VERILOG.includes(path_1.default.extname(inputFile.path).substring(1)));
|
|
22
|
+
const designFiles = files.map((file) => file.path);
|
|
23
|
+
let testbenchFile = options.testbenchFile;
|
|
24
|
+
if (!testbenchFile) {
|
|
25
|
+
// Auto-select from testbench input files
|
|
26
|
+
const allTestbenches = projectInputFiles.filter((file) => file.type === 'testbench');
|
|
27
|
+
if (allTestbenches.length === 0)
|
|
28
|
+
throw new Error('Could not auto-select testbench file: no input files marked as such');
|
|
29
|
+
testbenchFile = allTestbenches[0].path;
|
|
30
|
+
}
|
|
31
|
+
const inputFiles = designFiles.concat([testbenchFile]);
|
|
32
|
+
const compiledFile = (0, target_js_1.getTargetFile)(target, 'simulator.vvp');
|
|
33
|
+
const outputFiles = [compiledFile, `${path_1.default.parse(testbenchFile).name}.vcd`];
|
|
34
|
+
const compileArgs = [];
|
|
35
|
+
compileArgs.push('-o', compiledFile);
|
|
36
|
+
compileArgs.push(...designFiles);
|
|
37
|
+
compileArgs.push(testbenchFile);
|
|
38
|
+
const steps = [
|
|
39
|
+
{ tool: 'iverilog', arguments: compileArgs },
|
|
40
|
+
{ tool: 'vvp', arguments: [compiledFile] }
|
|
41
|
+
];
|
|
42
|
+
return {
|
|
43
|
+
inputFiles,
|
|
44
|
+
outputFiles,
|
|
45
|
+
target,
|
|
46
|
+
options,
|
|
47
|
+
steps
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.generateIVerilogWorkerOptions = generateIVerilogWorkerOptions;
|
|
51
|
+
const parseIVerilogArguments = (args) => args.flatMap((arg) => (0, string_args_parser_1.parseArgs)(arg));
|
|
52
|
+
exports.parseIVerilogArguments = parseIVerilogArguments;
|
|
53
|
+
const getIVerilogWorkerOptions = (project, targetId) => {
|
|
54
|
+
const generated = (0, exports.generateIVerilogWorkerOptions)(project.getConfiguration(), project.getInputFiles(), targetId);
|
|
55
|
+
const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'iverilog', 'inputFiles', generated.inputFiles).filter((f) => !!f);
|
|
56
|
+
const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'iverilog', 'outputFiles', generated.outputFiles).filter((f) => !!f);
|
|
57
|
+
const target = generated.target;
|
|
58
|
+
const options = generated.options;
|
|
59
|
+
const steps = generated.steps.map((step) => {
|
|
60
|
+
const tool = step.tool;
|
|
61
|
+
const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'iverilog', 'commands', step.arguments);
|
|
62
|
+
return { tool, arguments: args };
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
inputFiles,
|
|
66
|
+
outputFiles,
|
|
67
|
+
target,
|
|
68
|
+
options,
|
|
69
|
+
steps
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
exports.getIVerilogWorkerOptions = getIVerilogWorkerOptions;
|
|
73
|
+
//# sourceMappingURL=iverilog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iverilog.js","sourceRoot":"","sources":["../../src/project/iverilog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type { NextpnrOptions, ProjectConfiguration, WorkerOptions } from './configuration.js';
|
|
1
|
+
import type { NextpnrOptions, ProjectConfiguration, WorkerOptions, WorkerStep } from './configuration.js';
|
|
2
2
|
import type { Project } from './project.js';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
options: NextpnrOptions;
|
|
6
|
-
}
|
|
3
|
+
export type NextpnrStep = WorkerStep;
|
|
4
|
+
export type NextpnrWorkerOptions = WorkerOptions<NextpnrStep, NextpnrOptions>;
|
|
7
5
|
export declare const getNextpnrDefaultOptions: (configuration: ProjectConfiguration) => NextpnrOptions;
|
|
8
6
|
export declare const getNextpnrOptions: (configuration: ProjectConfiguration, targetId: string) => NextpnrOptions;
|
|
9
7
|
export declare const generateNextpnrWorkerOptions: (configuration: ProjectConfiguration, targetId: string) => NextpnrWorkerOptions;
|
package/dist/project/nextpnr.js
CHANGED
|
@@ -84,10 +84,14 @@ const generateNextpnrWorkerOptions = (configuration, targetId) => {
|
|
|
84
84
|
return {
|
|
85
85
|
inputFiles,
|
|
86
86
|
outputFiles,
|
|
87
|
-
tool,
|
|
88
87
|
target,
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
options,
|
|
89
|
+
steps: [
|
|
90
|
+
{
|
|
91
|
+
tool,
|
|
92
|
+
arguments: args
|
|
93
|
+
}
|
|
94
|
+
]
|
|
91
95
|
};
|
|
92
96
|
};
|
|
93
97
|
exports.generateNextpnrWorkerOptions = generateNextpnrWorkerOptions;
|
|
@@ -97,17 +101,19 @@ const getNextpnrWorkerOptions = (project, targetId) => {
|
|
|
97
101
|
const generated = (0, exports.generateNextpnrWorkerOptions)(project.getConfiguration(), targetId);
|
|
98
102
|
const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'inputFiles', generated.inputFiles).filter((f) => !!f);
|
|
99
103
|
const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'outputFiles', generated.outputFiles).filter((f) => !!f);
|
|
100
|
-
const tool = generated.tool;
|
|
101
104
|
const target = generated.target;
|
|
102
|
-
const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'arguments', generated.arguments, exports.parseNextpnrArguments);
|
|
103
105
|
const options = generated.options;
|
|
106
|
+
const steps = generated.steps.map((step) => {
|
|
107
|
+
const tool = step.tool;
|
|
108
|
+
const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'arguments', step.arguments, exports.parseNextpnrArguments);
|
|
109
|
+
return { tool, arguments: args };
|
|
110
|
+
});
|
|
104
111
|
return {
|
|
105
112
|
inputFiles,
|
|
106
113
|
outputFiles,
|
|
107
|
-
tool,
|
|
108
114
|
target,
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
options,
|
|
116
|
+
steps
|
|
111
117
|
};
|
|
112
118
|
};
|
|
113
119
|
exports.getNextpnrWorkerOptions = getNextpnrWorkerOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { type ProjectConfiguration } from './configuration.js';
|
|
2
2
|
type ProjectTarget = ProjectConfiguration['targets'][number];
|
|
3
|
+
export interface ProjectInputFileState {
|
|
4
|
+
path: string;
|
|
5
|
+
type: 'design' | 'testbench';
|
|
6
|
+
}
|
|
7
|
+
export declare class ProjectInputFile {
|
|
8
|
+
private _path;
|
|
9
|
+
private _type;
|
|
10
|
+
constructor(_path: ProjectInputFileState['path'], _type: ProjectInputFileState['type']);
|
|
11
|
+
get path(): ProjectInputFileState['path'];
|
|
12
|
+
get type(): ProjectInputFileState['type'];
|
|
13
|
+
set type(type: ProjectInputFileState['type']);
|
|
14
|
+
static serialize(file: ProjectInputFile): ProjectInputFileState;
|
|
15
|
+
static deserialize(data: ProjectInputFileState | string, ..._args: unknown[]): ProjectInputFile;
|
|
16
|
+
}
|
|
3
17
|
export interface ProjectOutputFileState {
|
|
4
18
|
path: string;
|
|
5
19
|
targetId: string | null;
|
|
@@ -10,19 +24,19 @@ export declare class ProjectOutputFile {
|
|
|
10
24
|
private _path;
|
|
11
25
|
private _targetId;
|
|
12
26
|
private _stale;
|
|
13
|
-
constructor(_project: Project, _path:
|
|
14
|
-
get path():
|
|
15
|
-
get targetId():
|
|
16
|
-
set targetId(id:
|
|
27
|
+
constructor(_project: Project, _path: ProjectOutputFileState['path'], _targetId?: ProjectOutputFileState['targetId'], _stale?: ProjectOutputFileState['stale']);
|
|
28
|
+
get path(): ProjectOutputFileState['path'];
|
|
29
|
+
get targetId(): ProjectOutputFileState['targetId'];
|
|
30
|
+
set targetId(id: ProjectOutputFileState['targetId']);
|
|
17
31
|
get target(): ProjectTarget | null;
|
|
18
|
-
get stale():
|
|
19
|
-
set stale(isStale:
|
|
32
|
+
get stale(): ProjectOutputFileState['stale'];
|
|
33
|
+
set stale(isStale: ProjectOutputFileState['stale']);
|
|
20
34
|
static serialize(file: ProjectOutputFile): ProjectOutputFileState;
|
|
21
35
|
static deserialize(project: Project, data: ProjectOutputFileState | string, ..._args: unknown[]): ProjectOutputFile;
|
|
22
36
|
}
|
|
23
37
|
export interface ProjectState {
|
|
24
38
|
name: string;
|
|
25
|
-
inputFiles: string[];
|
|
39
|
+
inputFiles: ProjectInputFileState[] | string[];
|
|
26
40
|
outputFiles: ProjectOutputFileState[] | string[];
|
|
27
41
|
configuration: ProjectConfiguration;
|
|
28
42
|
}
|
|
@@ -31,11 +45,15 @@ export declare class Project {
|
|
|
31
45
|
private inputFiles;
|
|
32
46
|
private outputFiles;
|
|
33
47
|
private configuration;
|
|
34
|
-
constructor(name: string, inputFiles?: string[], outputFiles?: ProjectOutputFileState[] | string[], configuration?: ProjectConfiguration);
|
|
48
|
+
constructor(name: string, inputFiles?: ProjectInputFileState[] | string[], outputFiles?: ProjectOutputFileState[] | string[], configuration?: ProjectConfiguration);
|
|
35
49
|
getName(): string;
|
|
36
|
-
getInputFiles():
|
|
50
|
+
getInputFiles(): ProjectInputFile[];
|
|
37
51
|
hasInputFile(filePath: string): boolean;
|
|
38
|
-
|
|
52
|
+
getInputFile(filePath: string): ProjectInputFile | null;
|
|
53
|
+
addInputFiles(files: {
|
|
54
|
+
path: string;
|
|
55
|
+
type?: ProjectInputFileState['type'];
|
|
56
|
+
}[]): void;
|
|
39
57
|
removeInputFiles(filePaths: string[]): void;
|
|
40
58
|
getOutputFiles(): ProjectOutputFile[];
|
|
41
59
|
hasOutputFile(filePath: string): boolean;
|
|
@@ -97,6 +115,26 @@ export declare class Project {
|
|
|
97
115
|
useDefault: boolean;
|
|
98
116
|
} | undefined;
|
|
99
117
|
} | undefined;
|
|
118
|
+
iverilog?: {
|
|
119
|
+
options?: {
|
|
120
|
+
testbenchFile?: string | undefined;
|
|
121
|
+
} | undefined;
|
|
122
|
+
inputFiles?: {
|
|
123
|
+
useGenerated: boolean;
|
|
124
|
+
values: string[];
|
|
125
|
+
useDefault: boolean;
|
|
126
|
+
} | undefined;
|
|
127
|
+
outputFiles?: {
|
|
128
|
+
useGenerated: boolean;
|
|
129
|
+
values: string[];
|
|
130
|
+
useDefault: boolean;
|
|
131
|
+
} | undefined;
|
|
132
|
+
arguments?: {
|
|
133
|
+
useGenerated: boolean;
|
|
134
|
+
values: string[];
|
|
135
|
+
useDefault: boolean;
|
|
136
|
+
} | undefined;
|
|
137
|
+
} | undefined;
|
|
100
138
|
directory?: string | undefined;
|
|
101
139
|
}[];
|
|
102
140
|
defaults?: {
|
|
@@ -137,6 +175,23 @@ export declare class Project {
|
|
|
137
175
|
values: string[];
|
|
138
176
|
} | undefined;
|
|
139
177
|
} | undefined;
|
|
178
|
+
iverilog?: {
|
|
179
|
+
options?: {
|
|
180
|
+
testbenchFile?: string | undefined;
|
|
181
|
+
} | undefined;
|
|
182
|
+
inputFiles?: {
|
|
183
|
+
useGenerated: boolean;
|
|
184
|
+
values: string[];
|
|
185
|
+
} | undefined;
|
|
186
|
+
outputFiles?: {
|
|
187
|
+
useGenerated: boolean;
|
|
188
|
+
values: string[];
|
|
189
|
+
} | undefined;
|
|
190
|
+
arguments?: {
|
|
191
|
+
useGenerated: boolean;
|
|
192
|
+
values: string[];
|
|
193
|
+
} | undefined;
|
|
194
|
+
} | undefined;
|
|
140
195
|
} | undefined;
|
|
141
196
|
};
|
|
142
197
|
updateConfiguration(configuration: Partial<ProjectConfiguration>): void;
|
package/dist/project/project.js
CHANGED
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Project = exports.ProjectOutputFile = void 0;
|
|
3
|
+
exports.Project = exports.ProjectOutputFile = exports.ProjectInputFile = void 0;
|
|
4
4
|
const util_js_1 = require("../util.js");
|
|
5
5
|
const configuration_js_1 = require("./configuration.js");
|
|
6
|
+
class ProjectInputFile {
|
|
7
|
+
constructor(_path, _type) {
|
|
8
|
+
this._path = _path;
|
|
9
|
+
this._type = _type;
|
|
10
|
+
}
|
|
11
|
+
get path() {
|
|
12
|
+
return this._path;
|
|
13
|
+
}
|
|
14
|
+
get type() {
|
|
15
|
+
return this._type;
|
|
16
|
+
}
|
|
17
|
+
set type(type) {
|
|
18
|
+
this._type = type;
|
|
19
|
+
}
|
|
20
|
+
static serialize(file) {
|
|
21
|
+
return {
|
|
22
|
+
path: file.path,
|
|
23
|
+
type: file.type
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static deserialize(data, ..._args) {
|
|
27
|
+
// Older versions of this module (<= 0.3.9) stored input files as an array of paths instead,
|
|
28
|
+
// so we need to migrate if data is a string (single output file).
|
|
29
|
+
if (typeof data === 'string') {
|
|
30
|
+
data = { path: data, type: 'design' };
|
|
31
|
+
}
|
|
32
|
+
return new ProjectInputFile(data.path, data.type);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ProjectInputFile = ProjectInputFile;
|
|
6
36
|
class ProjectOutputFile {
|
|
7
37
|
constructor(_project, _path, _targetId = null, _stale = false) {
|
|
8
38
|
this._project = _project;
|
|
@@ -41,7 +71,7 @@ class ProjectOutputFile {
|
|
|
41
71
|
};
|
|
42
72
|
}
|
|
43
73
|
static deserialize(project, data, ..._args) {
|
|
44
|
-
// Older versions of this module (<= 0.3.
|
|
74
|
+
// Older versions of this module (<= 0.3.12) stored output files as an array of paths instead,
|
|
45
75
|
// so we need to migrate if data is a string (single output file).
|
|
46
76
|
if (typeof data === 'string') {
|
|
47
77
|
data = { path: data, targetId: null, stale: false };
|
|
@@ -53,7 +83,7 @@ exports.ProjectOutputFile = ProjectOutputFile;
|
|
|
53
83
|
class Project {
|
|
54
84
|
constructor(name, inputFiles = [], outputFiles = [], configuration = configuration_js_1.DEFAULT_CONFIGURATION) {
|
|
55
85
|
this.name = name;
|
|
56
|
-
this.inputFiles = inputFiles;
|
|
86
|
+
this.inputFiles = inputFiles.map((file) => ProjectInputFile.deserialize(file));
|
|
57
87
|
this.outputFiles = outputFiles.map((file) => ProjectOutputFile.deserialize(this, file));
|
|
58
88
|
const config = configuration_js_1.schemaProjectConfiguration.safeParse(configuration);
|
|
59
89
|
if (config.success) {
|
|
@@ -72,12 +102,16 @@ class Project {
|
|
|
72
102
|
return this.inputFiles;
|
|
73
103
|
}
|
|
74
104
|
hasInputFile(filePath) {
|
|
75
|
-
return this.
|
|
105
|
+
return this.getInputFile(filePath) !== null;
|
|
76
106
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
107
|
+
getInputFile(filePath) {
|
|
108
|
+
return this.inputFiles.find((file) => file.path === filePath) ?? null;
|
|
109
|
+
}
|
|
110
|
+
addInputFiles(files) {
|
|
111
|
+
for (const file of files) {
|
|
112
|
+
if (!this.hasInputFile(file.path)) {
|
|
113
|
+
const inputFile = new ProjectInputFile(file.path, file.type ?? 'design');
|
|
114
|
+
this.inputFiles.push(inputFile);
|
|
81
115
|
}
|
|
82
116
|
}
|
|
83
117
|
this.inputFiles.sort((a, b) => {
|
|
@@ -85,7 +119,7 @@ class Project {
|
|
|
85
119
|
});
|
|
86
120
|
}
|
|
87
121
|
removeInputFiles(filePaths) {
|
|
88
|
-
this.inputFiles = this.inputFiles.filter((file) => !filePaths.includes(file));
|
|
122
|
+
this.inputFiles = this.inputFiles.filter((file) => !filePaths.includes(file.path));
|
|
89
123
|
}
|
|
90
124
|
getOutputFiles() {
|
|
91
125
|
return this.outputFiles;
|
|
@@ -144,7 +178,7 @@ class Project {
|
|
|
144
178
|
static serialize(project) {
|
|
145
179
|
return {
|
|
146
180
|
name: project.name,
|
|
147
|
-
inputFiles: project.inputFiles,
|
|
181
|
+
inputFiles: project.inputFiles.map((file) => ProjectInputFile.serialize(file)),
|
|
148
182
|
outputFiles: project.outputFiles.map((file) => ProjectOutputFile.serialize(file)),
|
|
149
183
|
configuration: project.configuration
|
|
150
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":";;;AAAA,wCAAkD;AAElD,yDAAgH;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
|
package/dist/project/yosys.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { ProjectConfiguration, WorkerOptions, YosysOptions } from './configuration.js';
|
|
2
|
-
import type { Project } from './project.js';
|
|
3
|
-
export interface
|
|
1
|
+
import type { ProjectConfiguration, WorkerOptions, WorkerStep, YosysOptions } from './configuration.js';
|
|
2
|
+
import type { Project, ProjectInputFile } from './project.js';
|
|
3
|
+
export interface YosysStep extends WorkerStep {
|
|
4
4
|
commands: string[];
|
|
5
|
-
options: YosysOptions;
|
|
6
5
|
}
|
|
6
|
+
export type YosysWorkerOptions = WorkerOptions<YosysStep, YosysOptions>;
|
|
7
7
|
export declare const getYosysDefaultOptions: (configuration: ProjectConfiguration) => YosysOptions;
|
|
8
8
|
export declare const getYosysOptions: (configuration: ProjectConfiguration, targetId: string) => YosysOptions;
|
|
9
|
-
export declare const generateYosysWorkerOptions: (configuration: ProjectConfiguration, projectInputFiles:
|
|
9
|
+
export declare const generateYosysWorkerOptions: (configuration: ProjectConfiguration, projectInputFiles: ProjectInputFile[], targetId: string) => YosysWorkerOptions;
|
|
10
10
|
export declare const getYosysWorkerOptions: (project: Project, targetId: string) => YosysWorkerOptions;
|
|
11
11
|
export declare const generateYosysRTLCommands: (workerOptions: YosysWorkerOptions) => string[];
|
|
12
12
|
export declare const generateYosysSynthPrepareCommands: (workerOptions: YosysWorkerOptions) => string[];
|
package/dist/project/yosys.js
CHANGED
|
@@ -55,11 +55,10 @@ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId)
|
|
|
55
55
|
const options = (0, exports.getYosysOptions)(configuration, targetId);
|
|
56
56
|
const vendor = devices_js_1.VENDORS[target.vendor];
|
|
57
57
|
const family = vendor.families[target.family];
|
|
58
|
-
const inputFiles = projectInputFiles
|
|
59
|
-
|
|
60
|
-
(
|
|
61
|
-
|
|
62
|
-
];
|
|
58
|
+
const inputFiles = projectInputFiles
|
|
59
|
+
.filter((inputFile) => inputFile.type === 'design' && util_js_1.FILE_EXTENSIONS_HDL.includes(path_1.default.extname(inputFile.path).substring(1)))
|
|
60
|
+
.map((file) => file.path);
|
|
61
|
+
const outputFiles = [(0, target_js_1.getTargetFile)(target, `${family.architecture}.json`)];
|
|
63
62
|
const tool = 'yosys';
|
|
64
63
|
const commands = [...getFileIngestCommands(inputFiles, options), 'proc;'];
|
|
65
64
|
if (options.optimize) {
|
|
@@ -69,10 +68,15 @@ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId)
|
|
|
69
68
|
return {
|
|
70
69
|
inputFiles,
|
|
71
70
|
outputFiles,
|
|
72
|
-
tool,
|
|
73
71
|
target,
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
options,
|
|
73
|
+
steps: [
|
|
74
|
+
{
|
|
75
|
+
tool,
|
|
76
|
+
arguments: [],
|
|
77
|
+
commands
|
|
78
|
+
}
|
|
79
|
+
]
|
|
76
80
|
};
|
|
77
81
|
};
|
|
78
82
|
exports.generateYosysWorkerOptions = generateYosysWorkerOptions;
|
|
@@ -80,17 +84,20 @@ const getYosysWorkerOptions = (project, targetId) => {
|
|
|
80
84
|
const generated = (0, exports.generateYosysWorkerOptions)(project.getConfiguration(), project.getInputFiles(), targetId);
|
|
81
85
|
const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generated.inputFiles).filter((f) => !!f);
|
|
82
86
|
const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generated.outputFiles).filter((f) => !!f);
|
|
83
|
-
const tool = generated.tool;
|
|
84
87
|
const target = generated.target;
|
|
85
|
-
const commands = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'commands', generated.commands);
|
|
86
88
|
const options = generated.options;
|
|
89
|
+
const steps = generated.steps.map((step) => {
|
|
90
|
+
const tool = step.tool;
|
|
91
|
+
const args = step.arguments;
|
|
92
|
+
const commands = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'commands', step.commands);
|
|
93
|
+
return { tool, arguments: args, commands };
|
|
94
|
+
});
|
|
87
95
|
return {
|
|
88
96
|
inputFiles,
|
|
89
97
|
outputFiles,
|
|
90
|
-
tool,
|
|
91
98
|
target,
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
options,
|
|
100
|
+
steps
|
|
94
101
|
};
|
|
95
102
|
};
|
|
96
103
|
exports.getYosysWorkerOptions = getYosysWorkerOptions;
|
|
@@ -126,12 +133,6 @@ const generateYosysSynthCommands = (workerOptions) => {
|
|
|
126
133
|
return [
|
|
127
134
|
`read_json "${(0, target_js_1.getTargetFile)(workerOptions.target, 'presynth.yosys.json')}"`,
|
|
128
135
|
...getSynthCommands(family.architecture, workerOptions.outputFiles[0]),
|
|
129
|
-
'',
|
|
130
|
-
'design -reset',
|
|
131
|
-
'',
|
|
132
|
-
`read_json "${(0, target_js_1.getTargetFile)(workerOptions.target, 'presynth.yosys.json')}";`,
|
|
133
|
-
'synth -lut 4;',
|
|
134
|
-
`write_json "${workerOptions.outputFiles[1]}";`,
|
|
135
136
|
''
|
|
136
137
|
];
|
|
137
138
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,wCAA8F;AAG9F,6CAAwD;AAExD,2CAAiG;
|
|
1
|
+
{"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,wCAA8F;AAG9F,6CAAwD;AAExD,2CAAiG;AAQjG,MAAM,eAAe,GAAiB;IAClC,QAAQ,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,UAAoB,EAAE,OAAqB,EAAY,EAAE;IACpF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,kBAAkB;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAAoB,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAuB,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAkB,EAAE,OAAe,EAAY,EAAE;IACvE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,WAAW,OAAO,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CAAC,aAAmC,EAAgB,EAAE,CACxF,IAAA,6BAAiB,EAAC,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AADlD,QAAA,sBAAsB,0BAC4B;AAExD,MAAM,eAAe,GAAG,CAAC,aAAmC,EAAE,QAAgB,EAAgB,EAAE,CACnG,IAAA,sBAAU,EAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AADrD,QAAA,eAAe,mBACsC;AAE3D,MAAM,0BAA0B,GAAG,CACtC,aAAmC,EACnC,iBAAqC,EACrC,QAAgB,EACE,EAAE;IACpB,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,oBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,iBAAiB;SAC/B,MAAM,CACH,CAAC,SAAS,EAAE,EAAE,CACV,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,6BAAmB,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC7G;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAC,IAAA,yBAAa,EAAC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC;IAE3E,MAAM,IAAI,GAAG,OAAO,CAAC;IACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAE1E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,OAAO;QACH,UAAU;QACV,WAAW;QACX,MAAM;QACN,OAAO;QACP,KAAK,EAAE;YACH;gBACI,IAAI;gBACJ,SAAS,EAAE,EAAE;gBACb,QAAQ;aACX;SACJ;KACJ,CAAC;AACN,CAAC,CAAC;AAzCW,QAAA,0BAA0B,8BAyCrC;AAEK,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,QAAgB,EAAsB,EAAE;IAC5F,MAAM,SAAS,GAAG,IAAA,kCAA0B,EAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5G,MAAM,UAAU,GAAG,IAAA,uBAAW,EAC1B,OAAO,CAAC,gBAAgB,EAAE,EAC1B,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,CAAC,UAAU,CACvB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,WAAW,GAAG,IAAA,uBAAW,EAC3B,OAAO,CAAC,gBAAgB,EAAE,EAC1B,QAAQ,EACR,OAAO,EACP,aAAa,EACb,SAAS,CAAC,WAAW,CACxB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvG,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,UAAU;QACV,WAAW;QACX,MAAM;QACN,OAAO;QACP,KAAK;KACR,CAAC;AACN,CAAC,CAAC;AAlCW,QAAA,qBAAqB,yBAkChC;AAEK,MAAM,wBAAwB,GAAG,CAAC,aAAiC,EAAY,EAAE;IACpF,yHAAyH;IAEzH,OAAO;QACH,GAAG,qBAAqB,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;QACzE,OAAO;QACP,MAAM;QACN,gBAAgB;QAChB,gBAAgB;QAChB,YAAY;QACZ,aAAa,IAAA,yBAAa,EAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,uBAAuB;QAC3F,eAAe,IAAA,yBAAa,EAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;QACxE,EAAE;KACL,CAAC;AACN,CAAC,CAAC;AAdW,QAAA,wBAAwB,4BAcnC;AAEK,MAAM,iCAAiC,GAAG,CAAC,aAAiC,EAAY,EAAE;IAC7F,OAAO;QACH,GAAG,qBAAqB,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;QACzE,OAAO;QACP,MAAM;QACN,eAAe,IAAA,yBAAa,EAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI;QAC7E,EAAE;KACL,CAAC;AACN,CAAC,CAAC;AARW,QAAA,iCAAiC,qCAQ5C;AAEK,MAAM,0BAA0B,GAAG,CAAC,aAAiC,EAAY,EAAE;IACtF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,MAAM,MAAM,GAAG,oBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO;QACH,cAAc,IAAA,yBAAa,EAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG;QAC3E,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtE,EAAE;KACL,CAAC;AACN,CAAC,CAAC;AAVW,QAAA,0BAA0B,8BAUrC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "edacation",
|
|
3
3
|
"description": "Library and CLI for interacting with Yosys and nextpnr.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.4.0",
|
|
6
6
|
"contributors": [
|
|
7
7
|
"Danielle Huisman <danielle@huisman.me> (https://github.com/DanielleHuisman)",
|
|
8
8
|
"Mike Almeloo <git@mikealmel.ooo> (https://github.com/DismissedGuy)"
|