edacation 0.3.6 → 0.3.8
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/util.d.ts +0 -1
- package/dist/project/configuration.d.ts +153 -138
- package/dist/project/devices.js +31 -10
- package/dist/project/devices.js.map +1 -1
- package/dist/project/nextpnr.d.ts +4 -1
- package/dist/project/nextpnr.js +14 -6
- package/dist/project/nextpnr.js.map +1 -1
- package/dist/project/project.d.ts +49 -21
- package/dist/project/project.js +85 -10
- package/dist/project/project.js.map +1 -1
- package/dist/project/target.d.ts +1 -0
- package/dist/project/target.js +12 -5
- package/dist/project/target.js.map +1 -1
- package/dist/project/yosys.d.ts +4 -1
- package/dist/project/yosys.js +24 -12
- package/dist/project/yosys.js.map +1 -1
- package/dist/util.d.ts +0 -5
- package/package.json +9 -9
package/dist/project/devices.js
CHANGED
|
@@ -91,7 +91,6 @@ exports.VENDORS = {
|
|
|
91
91
|
BBG484: 'BBG484 (19 x 19 mm)',
|
|
92
92
|
BFG484: 'BFG484 (23 x 23 mm)',
|
|
93
93
|
bg121: '121-ball caBGA (9 x 9 mm)',
|
|
94
|
-
'bg121:4k': '121-ball caBGA (9 x 9 mm)',
|
|
95
94
|
caBGA256: '256-ball caBGA (14 x 14 mm)',
|
|
96
95
|
caBGA381: '381-ball caBGA (17 x 17 mm)',
|
|
97
96
|
caBGA400: '400-ball caBGA (17 x 17 mm)',
|
|
@@ -100,16 +99,12 @@ exports.VENDORS = {
|
|
|
100
99
|
cb81: '81-ball csBGA2 (5 x 5 mm)',
|
|
101
100
|
cb121: '121-ball csBGA (6 x 6 mm)',
|
|
102
101
|
cb132: '132-ball csBGA (8 x 8 mm)',
|
|
103
|
-
'cb132:4k': '132-ball csBGA (8 x 8 mm)',
|
|
104
102
|
CBG256: 'CBG256 (14 x 14 mm)',
|
|
105
103
|
cm36: '36-ball ucBGA (2.5 x 2.5 mm)',
|
|
106
104
|
cm49: '49-ball ucBGA (3 x 3 mm)',
|
|
107
105
|
cm81: '81-ball ucBGA (4 x 4 mm)',
|
|
108
|
-
'cm81:4k': '81-ball ucBGA (4 x 4 mm)',
|
|
109
106
|
cm121: '121-ball ucBGA (5 x 5 mm)',
|
|
110
|
-
'cm121:4k': '121-ball ucBGA (5 x 5 mm)',
|
|
111
107
|
cm225: '225-ball ucBGA (7 x 7 mm)',
|
|
112
|
-
'cm225:4k': '225-ball ucBGA (7 x 7 mm)',
|
|
113
108
|
ct121: '121-ball caBGA (9 x 9 mm)',
|
|
114
109
|
ct256: '256-ball caBGA (14 x 14 mm)',
|
|
115
110
|
csfBGA121: '121 csfBGA (6 x 6 mm)',
|
|
@@ -121,9 +116,9 @@ exports.VENDORS = {
|
|
|
121
116
|
QFN72: '72-pin QFN (10 x 10 mm)',
|
|
122
117
|
qn32: '32-pin QFN (5 x 5 mm)',
|
|
123
118
|
qn84: '84-pin QFNS (7 x 7 mm)',
|
|
119
|
+
sg48: '48-pin SG48 (7 x 7 mm)',
|
|
124
120
|
swg16tr: '16-ball WLCSP (1.40 x 1.48 mm)',
|
|
125
121
|
tq144: '144-pin TQFP (20 x 20 mm)',
|
|
126
|
-
'tq144:4k': '144-pin TQFP (20 x 20 mm)',
|
|
127
122
|
TQFP100: '100-pin TQFP (14 x 14 mm)',
|
|
128
123
|
TQFP144: '144-pin TQFP (20 x 20 mm)',
|
|
129
124
|
vq100: '100-pin VQFP (14 x 14 mm)'
|
|
@@ -253,8 +248,8 @@ exports.VENDORS = {
|
|
|
253
248
|
},
|
|
254
249
|
lp4k: {
|
|
255
250
|
name: 'LP4K',
|
|
256
|
-
device: '
|
|
257
|
-
packages: ['cm81
|
|
251
|
+
device: 'lp4k',
|
|
252
|
+
packages: ['cm81', 'cm121', 'cm225']
|
|
258
253
|
},
|
|
259
254
|
lp8k: {
|
|
260
255
|
name: 'LP8K',
|
|
@@ -268,13 +263,39 @@ exports.VENDORS = {
|
|
|
268
263
|
},
|
|
269
264
|
hx4k: {
|
|
270
265
|
name: 'HX4K',
|
|
271
|
-
device: '
|
|
272
|
-
packages: ['cb132
|
|
266
|
+
device: 'hx4k',
|
|
267
|
+
packages: ['cb132', 'tq144', 'bg121']
|
|
273
268
|
},
|
|
274
269
|
hx8k: {
|
|
275
270
|
name: 'HX8K',
|
|
276
271
|
device: 'hx8k',
|
|
277
272
|
packages: ['cm225', 'cb132', 'bg121', 'ct256']
|
|
273
|
+
},
|
|
274
|
+
// https://github.com/YosysHQ/nextpnr/blob/b7f91e57a0caf40dd23e3bada52c8595d53eb625/ice40/arch.h#L360
|
|
275
|
+
up3k: {
|
|
276
|
+
name: 'UP3K',
|
|
277
|
+
device: 'up3k',
|
|
278
|
+
packages: ['sg48']
|
|
279
|
+
},
|
|
280
|
+
up5k: {
|
|
281
|
+
name: 'UP5K',
|
|
282
|
+
device: 'up5k',
|
|
283
|
+
packages: ['sg48']
|
|
284
|
+
},
|
|
285
|
+
u1k: {
|
|
286
|
+
name: 'U1K',
|
|
287
|
+
device: 'iCE5LP1K',
|
|
288
|
+
packages: ['sg48']
|
|
289
|
+
},
|
|
290
|
+
u2k: {
|
|
291
|
+
name: 'iCE5LP2K',
|
|
292
|
+
device: 'u2k',
|
|
293
|
+
packages: ['sg48']
|
|
294
|
+
},
|
|
295
|
+
u4k: {
|
|
296
|
+
name: 'iCE5LP4K',
|
|
297
|
+
device: 'u4k',
|
|
298
|
+
packages: ['sg48']
|
|
278
299
|
}
|
|
279
300
|
}
|
|
280
301
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/project/devices.ts"],"names":[],"mappings":";;;AAyBa,QAAA,OAAO,GAA2B;IAC3C,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,gEAAgE;QACrE,QAAQ,EAAE;YACN,OAAO,EAAE,SAAS;SACrB;QACD,QAAQ,EAAE;YACN,OAAO,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;gBACvB,OAAO,EAAE;oBACL,OAAO,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,SAAS;wBACjB,QAAQ,EAAE,CAAC,SAAS,CAAC;qBACxB;iBACJ;aACJ;SACJ;KACJ;IACD,KAAK,EAAE;QACH,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE;YACN,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,sBAAsB;SAC/B;QACD,QAAQ,EAAE;YACN,SAAS,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,OAAO;gBACrB,GAAG,EAAE,gDAAgD;gBACrD,OAAO,EAAE;oBACL,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,QAAQ;wBAChB,uHAAuH;wBACvH,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACrB;oBACD,uHAAuH;oBACvH,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,QAAQ;wBAChB,uHAAuH;wBACvH,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACtB;oBACD,iGAAiG;oBACjG,0HAA0H;oBAC1H,SAAS,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,SAAS;wBACjB,uHAAuH;wBACvH,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACrB;oBACD,wGAAwG;oBACxG,UAAU,EAAE;wBACR,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE,UAAU;wBAClB,uHAAuH;wBACvH,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACrB;oBACD,wHAAwH;oBACxH,SAAS,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,SAAS;wBACjB,qHAAqH;wBACrH,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACtB;oBACD,WAAW,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,WAAW;wBACnB,uHAAuH;wBACvH,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACtB;iBACJ;aACJ;SACJ;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,6BAA6B;QAClC,QAAQ,EAAE;YACN,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,2BAA2B;YAClC,
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/project/devices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type { ProjectConfiguration, WorkerOptions } from './configuration.js';
|
|
1
|
+
import type { NextpnrOptions, ProjectConfiguration, WorkerOptions } from './configuration.js';
|
|
2
2
|
import type { Project } from './project.js';
|
|
3
3
|
export interface NextpnrWorkerOptions extends WorkerOptions {
|
|
4
4
|
arguments: string[];
|
|
5
|
+
options: NextpnrOptions;
|
|
5
6
|
}
|
|
7
|
+
export declare const getNextpnrDefaultOptions: (configuration: ProjectConfiguration) => NextpnrOptions;
|
|
8
|
+
export declare const getNextpnrOptions: (configuration: ProjectConfiguration, targetId: string) => NextpnrOptions;
|
|
6
9
|
export declare const generateNextpnrWorkerOptions: (configuration: ProjectConfiguration, targetId: string) => NextpnrWorkerOptions;
|
|
7
10
|
export declare const parseNextpnrArguments: (args: string[]) => string[];
|
|
8
11
|
export declare const getNextpnrWorkerOptions: (project: Project, targetId: string) => NextpnrWorkerOptions;
|
package/dist/project/nextpnr.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNextpnrWorkerOptions = exports.parseNextpnrArguments = exports.generateNextpnrWorkerOptions = void 0;
|
|
3
|
+
exports.getNextpnrWorkerOptions = exports.parseNextpnrArguments = exports.generateNextpnrWorkerOptions = exports.getNextpnrOptions = exports.getNextpnrDefaultOptions = void 0;
|
|
4
4
|
const string_args_parser_1 = require("string-args-parser");
|
|
5
5
|
const devices_js_1 = require("./devices.js");
|
|
6
6
|
const target_js_1 = require("./target.js");
|
|
@@ -9,9 +9,13 @@ const DEFAULT_OPTIONS = {
|
|
|
9
9
|
routedSvg: true,
|
|
10
10
|
routedJson: true
|
|
11
11
|
};
|
|
12
|
+
const getNextpnrDefaultOptions = (configuration) => (0, target_js_1.getDefaultOptions)(configuration, 'nextpnr', DEFAULT_OPTIONS);
|
|
13
|
+
exports.getNextpnrDefaultOptions = getNextpnrDefaultOptions;
|
|
14
|
+
const getNextpnrOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'nextpnr', DEFAULT_OPTIONS);
|
|
15
|
+
exports.getNextpnrOptions = getNextpnrOptions;
|
|
12
16
|
const generateNextpnrWorkerOptions = (configuration, targetId) => {
|
|
13
17
|
const target = (0, target_js_1.getTarget)(configuration, targetId);
|
|
14
|
-
const options = (0,
|
|
18
|
+
const options = (0, exports.getNextpnrOptions)(configuration, targetId);
|
|
15
19
|
const vendor = devices_js_1.VENDORS[target.vendor];
|
|
16
20
|
const family = vendor.families[target.family];
|
|
17
21
|
const device = family.devices[target.device];
|
|
@@ -50,10 +54,11 @@ const generateNextpnrWorkerOptions = (configuration, targetId) => {
|
|
|
50
54
|
csfBGA289: 'MG289',
|
|
51
55
|
caBGA400: 'BG400'
|
|
52
56
|
};
|
|
53
|
-
|
|
57
|
+
const devPackage = packageLookup[target.package];
|
|
58
|
+
if (!devPackage) {
|
|
54
59
|
throw new Error(`Package "${target.package}" is currenty not supported.`);
|
|
55
60
|
}
|
|
56
|
-
args.push('--device', `${device.device}-7${
|
|
61
|
+
args.push('--device', `${device.device}-7${devPackage}C`);
|
|
57
62
|
break;
|
|
58
63
|
}
|
|
59
64
|
default: {
|
|
@@ -81,7 +86,8 @@ const generateNextpnrWorkerOptions = (configuration, targetId) => {
|
|
|
81
86
|
outputFiles,
|
|
82
87
|
tool,
|
|
83
88
|
target,
|
|
84
|
-
arguments: args
|
|
89
|
+
arguments: args,
|
|
90
|
+
options
|
|
85
91
|
};
|
|
86
92
|
};
|
|
87
93
|
exports.generateNextpnrWorkerOptions = generateNextpnrWorkerOptions;
|
|
@@ -94,12 +100,14 @@ const getNextpnrWorkerOptions = (project, targetId) => {
|
|
|
94
100
|
const tool = generated.tool;
|
|
95
101
|
const target = generated.target;
|
|
96
102
|
const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'arguments', generated.arguments, exports.parseNextpnrArguments);
|
|
103
|
+
const options = generated.options;
|
|
97
104
|
return {
|
|
98
105
|
inputFiles,
|
|
99
106
|
outputFiles,
|
|
100
107
|
tool,
|
|
101
108
|
target,
|
|
102
|
-
arguments: args
|
|
109
|
+
arguments: args,
|
|
110
|
+
options
|
|
103
111
|
};
|
|
104
112
|
};
|
|
105
113
|
exports.getNextpnrWorkerOptions = getNextpnrWorkerOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":";;;AAAA,2DAA6C;AAG7C,6CAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"nextpnr.js","sourceRoot":"","sources":["../../src/project/nextpnr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
import { type ProjectConfiguration } from './configuration.js';
|
|
2
|
+
type ProjectTarget = ProjectConfiguration['targets'][number];
|
|
3
|
+
export interface ProjectOutputFileState {
|
|
4
|
+
path: string;
|
|
5
|
+
targetId: string | null;
|
|
6
|
+
stale: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class ProjectOutputFile {
|
|
9
|
+
private _project;
|
|
10
|
+
private _path;
|
|
11
|
+
private _targetId;
|
|
12
|
+
private _stale;
|
|
13
|
+
constructor(_project: Project, _path: string, _targetId?: string | null, _stale?: boolean);
|
|
14
|
+
get path(): string;
|
|
15
|
+
get targetId(): string | null;
|
|
16
|
+
set targetId(id: string | null);
|
|
17
|
+
get target(): ProjectTarget | null;
|
|
18
|
+
get stale(): boolean;
|
|
19
|
+
set stale(isStale: boolean);
|
|
20
|
+
static serialize(file: ProjectOutputFile): ProjectOutputFileState;
|
|
21
|
+
static deserialize(project: Project, data: ProjectOutputFileState | string, ..._args: unknown[]): ProjectOutputFile;
|
|
22
|
+
}
|
|
2
23
|
export interface ProjectState {
|
|
3
24
|
name: string;
|
|
4
25
|
inputFiles: string[];
|
|
5
|
-
outputFiles: string[];
|
|
26
|
+
outputFiles: ProjectOutputFileState[] | string[];
|
|
6
27
|
configuration: ProjectConfiguration;
|
|
7
28
|
}
|
|
8
29
|
export declare class Project {
|
|
@@ -10,16 +31,21 @@ export declare class Project {
|
|
|
10
31
|
private inputFiles;
|
|
11
32
|
private outputFiles;
|
|
12
33
|
private configuration;
|
|
13
|
-
constructor(name: string, inputFiles?: string[], outputFiles?: string[], configuration?: ProjectConfiguration);
|
|
34
|
+
constructor(name: string, inputFiles?: string[], outputFiles?: ProjectOutputFileState[] | string[], configuration?: ProjectConfiguration);
|
|
14
35
|
getName(): string;
|
|
15
36
|
getInputFiles(): string[];
|
|
16
37
|
hasInputFile(filePath: string): boolean;
|
|
17
38
|
addInputFiles(filePaths: string[]): void;
|
|
18
39
|
removeInputFiles(filePaths: string[]): void;
|
|
19
|
-
getOutputFiles():
|
|
40
|
+
getOutputFiles(): ProjectOutputFile[];
|
|
20
41
|
hasOutputFile(filePath: string): boolean;
|
|
21
|
-
|
|
42
|
+
getOutputFile(filePath: string): ProjectOutputFile | null;
|
|
43
|
+
addOutputFiles(files: {
|
|
44
|
+
path: string;
|
|
45
|
+
targetId: string;
|
|
46
|
+
}[]): void;
|
|
22
47
|
removeOutputFiles(filePaths: string[]): void;
|
|
48
|
+
expireOutputFiles(): void;
|
|
23
49
|
getConfiguration(): {
|
|
24
50
|
targets: {
|
|
25
51
|
id: string;
|
|
@@ -28,8 +54,10 @@ export declare class Project {
|
|
|
28
54
|
family: string;
|
|
29
55
|
device: string;
|
|
30
56
|
package: string;
|
|
31
|
-
directory?: string | undefined;
|
|
32
57
|
yosys?: {
|
|
58
|
+
options?: {
|
|
59
|
+
optimize?: boolean | undefined;
|
|
60
|
+
} | undefined;
|
|
33
61
|
inputFiles?: {
|
|
34
62
|
useGenerated: boolean;
|
|
35
63
|
values: string[];
|
|
@@ -45,11 +73,13 @@ export declare class Project {
|
|
|
45
73
|
values: string[];
|
|
46
74
|
useDefault: boolean;
|
|
47
75
|
} | undefined;
|
|
48
|
-
options?: {
|
|
49
|
-
optimize?: boolean | undefined;
|
|
50
|
-
} | undefined;
|
|
51
76
|
} | undefined;
|
|
52
77
|
nextpnr?: {
|
|
78
|
+
options?: {
|
|
79
|
+
placedSvg?: boolean | undefined;
|
|
80
|
+
routedSvg?: boolean | undefined;
|
|
81
|
+
routedJson?: boolean | undefined;
|
|
82
|
+
} | undefined;
|
|
53
83
|
inputFiles?: {
|
|
54
84
|
useGenerated: boolean;
|
|
55
85
|
values: string[];
|
|
@@ -65,15 +95,14 @@ export declare class Project {
|
|
|
65
95
|
values: string[];
|
|
66
96
|
useDefault: boolean;
|
|
67
97
|
} | undefined;
|
|
68
|
-
options?: {
|
|
69
|
-
placedSvg?: boolean | undefined;
|
|
70
|
-
routedSvg?: boolean | undefined;
|
|
71
|
-
routedJson?: boolean | undefined;
|
|
72
|
-
} | undefined;
|
|
73
98
|
} | undefined;
|
|
99
|
+
directory?: string | undefined;
|
|
74
100
|
}[];
|
|
75
101
|
defaults?: {
|
|
76
102
|
yosys?: {
|
|
103
|
+
options?: {
|
|
104
|
+
optimize?: boolean | undefined;
|
|
105
|
+
} | undefined;
|
|
77
106
|
inputFiles?: {
|
|
78
107
|
useGenerated: boolean;
|
|
79
108
|
values: string[];
|
|
@@ -86,11 +115,13 @@ export declare class Project {
|
|
|
86
115
|
useGenerated: boolean;
|
|
87
116
|
values: string[];
|
|
88
117
|
} | undefined;
|
|
89
|
-
options?: {
|
|
90
|
-
optimize?: boolean | undefined;
|
|
91
|
-
} | undefined;
|
|
92
118
|
} | undefined;
|
|
93
119
|
nextpnr?: {
|
|
120
|
+
options?: {
|
|
121
|
+
placedSvg?: boolean | undefined;
|
|
122
|
+
routedSvg?: boolean | undefined;
|
|
123
|
+
routedJson?: boolean | undefined;
|
|
124
|
+
} | undefined;
|
|
94
125
|
inputFiles?: {
|
|
95
126
|
useGenerated: boolean;
|
|
96
127
|
values: string[];
|
|
@@ -103,17 +134,14 @@ export declare class Project {
|
|
|
103
134
|
useGenerated: boolean;
|
|
104
135
|
values: string[];
|
|
105
136
|
} | undefined;
|
|
106
|
-
options?: {
|
|
107
|
-
placedSvg?: boolean | undefined;
|
|
108
|
-
routedSvg?: boolean | undefined;
|
|
109
|
-
routedJson?: boolean | undefined;
|
|
110
|
-
} | undefined;
|
|
111
137
|
} | undefined;
|
|
112
138
|
} | undefined;
|
|
113
139
|
};
|
|
114
140
|
updateConfiguration(configuration: Partial<ProjectConfiguration>): void;
|
|
141
|
+
getTarget(id: string): ProjectTarget | null;
|
|
115
142
|
static serialize(project: Project): ProjectState;
|
|
116
143
|
static deserialize(data: ProjectState, ..._args: unknown[]): Project;
|
|
117
144
|
static loadFromData(rawData: Uint8Array): Project;
|
|
118
145
|
static storeToData(project: Project): Uint8Array;
|
|
119
146
|
}
|
|
147
|
+
export {};
|
package/dist/project/project.js
CHANGED
|
@@ -1,13 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Project = void 0;
|
|
3
|
+
exports.Project = exports.ProjectOutputFile = void 0;
|
|
4
4
|
const util_js_1 = require("../util.js");
|
|
5
5
|
const configuration_js_1 = require("./configuration.js");
|
|
6
|
+
class ProjectOutputFile {
|
|
7
|
+
constructor(_project, _path, _targetId = null, _stale = false) {
|
|
8
|
+
this._project = _project;
|
|
9
|
+
this._path = _path;
|
|
10
|
+
this._targetId = _targetId;
|
|
11
|
+
this._stale = _stale;
|
|
12
|
+
}
|
|
13
|
+
get path() {
|
|
14
|
+
return this._path;
|
|
15
|
+
}
|
|
16
|
+
get targetId() {
|
|
17
|
+
return this._targetId;
|
|
18
|
+
}
|
|
19
|
+
set targetId(id) {
|
|
20
|
+
if (id !== null && this._project.getTarget(id) === null) {
|
|
21
|
+
throw new Error(`Invalid target id: ${id}`);
|
|
22
|
+
}
|
|
23
|
+
this._targetId = id;
|
|
24
|
+
}
|
|
25
|
+
get target() {
|
|
26
|
+
if (!this._targetId)
|
|
27
|
+
return null;
|
|
28
|
+
return this._project.getTarget(this._targetId);
|
|
29
|
+
}
|
|
30
|
+
get stale() {
|
|
31
|
+
return this._stale;
|
|
32
|
+
}
|
|
33
|
+
set stale(isStale) {
|
|
34
|
+
this._stale = isStale;
|
|
35
|
+
}
|
|
36
|
+
static serialize(file) {
|
|
37
|
+
return {
|
|
38
|
+
path: file.path,
|
|
39
|
+
targetId: file.targetId,
|
|
40
|
+
stale: file.stale
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
static deserialize(project, data, ..._args) {
|
|
44
|
+
// Older versions of this module (<= 0.3.6) stored output files as an array of paths instead,
|
|
45
|
+
// so we need to migrate if data is a string (single output file).
|
|
46
|
+
if (typeof data === 'string') {
|
|
47
|
+
data = { path: data, targetId: null, stale: false };
|
|
48
|
+
}
|
|
49
|
+
return new ProjectOutputFile(project, data.path, data.targetId, data.stale);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ProjectOutputFile = ProjectOutputFile;
|
|
6
53
|
class Project {
|
|
7
54
|
constructor(name, inputFiles = [], outputFiles = [], configuration = configuration_js_1.DEFAULT_CONFIGURATION) {
|
|
8
55
|
this.name = name;
|
|
9
56
|
this.inputFiles = inputFiles;
|
|
10
|
-
this.outputFiles = outputFiles;
|
|
57
|
+
this.outputFiles = outputFiles.map((file) => ProjectOutputFile.deserialize(this, file));
|
|
11
58
|
const config = configuration_js_1.schemaProjectConfiguration.safeParse(configuration);
|
|
12
59
|
if (config.success) {
|
|
13
60
|
this.configuration = config.data;
|
|
@@ -15,6 +62,8 @@ class Project {
|
|
|
15
62
|
else {
|
|
16
63
|
throw new Error(`Failed to parse project configuration: ${config.error.toString()}`);
|
|
17
64
|
}
|
|
65
|
+
// Trigger a config 'update' to deploy any modifications it might want to make
|
|
66
|
+
this.updateConfiguration({});
|
|
18
67
|
}
|
|
19
68
|
getName() {
|
|
20
69
|
return this.name;
|
|
@@ -42,20 +91,37 @@ class Project {
|
|
|
42
91
|
return this.outputFiles;
|
|
43
92
|
}
|
|
44
93
|
hasOutputFile(filePath) {
|
|
45
|
-
return this.
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
94
|
+
return this.getOutputFile(filePath) !== null;
|
|
95
|
+
}
|
|
96
|
+
getOutputFile(filePath) {
|
|
97
|
+
return this.outputFiles.find((file) => file.path === filePath) ?? null;
|
|
98
|
+
}
|
|
99
|
+
addOutputFiles(files) {
|
|
100
|
+
for (const file of files) {
|
|
101
|
+
const existingOutFile = this.getOutputFile(file.path);
|
|
102
|
+
if (existingOutFile) {
|
|
103
|
+
// File already exists, so we don't want to add it again.
|
|
104
|
+
// But, we should make sure the target ID gets updated and set `stale` to false.
|
|
105
|
+
existingOutFile.targetId = file.targetId;
|
|
106
|
+
existingOutFile.stale = false;
|
|
107
|
+
continue;
|
|
51
108
|
}
|
|
109
|
+
const outputFile = new ProjectOutputFile(this, file.path, file.targetId);
|
|
110
|
+
if (outputFile.target === null)
|
|
111
|
+
throw new Error(`Invalid target ID: ${file.targetId}`);
|
|
112
|
+
this.outputFiles.push(outputFile);
|
|
52
113
|
}
|
|
53
114
|
this.outputFiles.sort((a, b) => {
|
|
54
115
|
return a < b ? -1 : 1;
|
|
55
116
|
});
|
|
56
117
|
}
|
|
57
118
|
removeOutputFiles(filePaths) {
|
|
58
|
-
this.outputFiles = this.outputFiles.filter((file) => !filePaths.includes(file));
|
|
119
|
+
this.outputFiles = this.outputFiles.filter((file) => !filePaths.includes(file.path));
|
|
120
|
+
}
|
|
121
|
+
expireOutputFiles() {
|
|
122
|
+
for (const file of this.outputFiles) {
|
|
123
|
+
file.stale = true;
|
|
124
|
+
}
|
|
59
125
|
}
|
|
60
126
|
getConfiguration() {
|
|
61
127
|
return this.configuration;
|
|
@@ -65,12 +131,21 @@ class Project {
|
|
|
65
131
|
...this.configuration,
|
|
66
132
|
...configuration
|
|
67
133
|
};
|
|
134
|
+
// Unset 'lingering' output file target IDs
|
|
135
|
+
for (const outFile of this.outputFiles) {
|
|
136
|
+
if (!outFile.target)
|
|
137
|
+
outFile.targetId = null;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
getTarget(id) {
|
|
141
|
+
const targets = this.configuration.targets;
|
|
142
|
+
return targets.find((target) => target.id === id) ?? null;
|
|
68
143
|
}
|
|
69
144
|
static serialize(project) {
|
|
70
145
|
return {
|
|
71
146
|
name: project.name,
|
|
72
147
|
inputFiles: project.inputFiles,
|
|
73
|
-
outputFiles: project.outputFiles,
|
|
148
|
+
outputFiles: project.outputFiles.map((file) => ProjectOutputFile.serialize(file)),
|
|
74
149
|
configuration: project.configuration
|
|
75
150
|
};
|
|
76
151
|
}
|
|
@@ -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/target.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ import type { ProjectConfiguration, TargetConfiguration, TargetDefaultsConfigura
|
|
|
2
2
|
export declare const getTargetDefaults: (configuration: ProjectConfiguration) => TargetDefaultsConfiguration;
|
|
3
3
|
export declare const getTarget: (configuration: ProjectConfiguration, targetId: string) => TargetConfiguration;
|
|
4
4
|
export declare const getTargetFile: (target: TargetConfiguration, file: string) => string;
|
|
5
|
+
export declare const getDefaultOptions: <W extends WorkerId>(configuration: ProjectConfiguration, workerId: W, defaultValues: TargetOptionTypes[W]) => TargetOptionTypes[W];
|
|
5
6
|
export declare const getOptions: <W extends WorkerId>(configuration: ProjectConfiguration, targetId: string, workerId: W, defaultValues: TargetOptionTypes[W]) => TargetOptionTypes[W];
|
|
6
7
|
export declare const getCombined: (configuration: ProjectConfiguration, targetId: string, workerId: WorkerId, configId: string, generated: string[], parse?: (values: string[]) => string[]) => string[];
|
package/dist/project/target.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getCombined = exports.getOptions = exports.getTargetFile = exports.getTarget = exports.getTargetDefaults = void 0;
|
|
6
|
+
exports.getCombined = exports.getOptions = exports.getDefaultOptions = exports.getTargetFile = exports.getTarget = exports.getTargetDefaults = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const getTargetDefaults = (configuration) => {
|
|
9
9
|
return configuration.defaults ?? {};
|
|
@@ -19,14 +19,21 @@ const getTarget = (configuration, targetId) => {
|
|
|
19
19
|
exports.getTarget = getTarget;
|
|
20
20
|
const getTargetFile = (target, file) => path_1.default.join(target.directory ?? '.', file);
|
|
21
21
|
exports.getTargetFile = getTargetFile;
|
|
22
|
-
const
|
|
22
|
+
const getDefaultOptions = (configuration, workerId, defaultValues) => {
|
|
23
23
|
const targetDefaults = (0, exports.getTargetDefaults)(configuration)[workerId];
|
|
24
|
-
const target = (0, exports.getTarget)(configuration, targetId)[workerId];
|
|
25
24
|
const defaultConfig = targetDefaults ? targetDefaults.options : undefined;
|
|
26
|
-
const config = target ? target.options : undefined;
|
|
27
25
|
return {
|
|
28
26
|
...defaultValues,
|
|
29
|
-
...defaultConfig
|
|
27
|
+
...defaultConfig
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.getDefaultOptions = getDefaultOptions;
|
|
31
|
+
const getOptions = (configuration, targetId, workerId, defaultValues) => {
|
|
32
|
+
const defaultOptions = (0, exports.getDefaultOptions)(configuration, workerId, defaultValues);
|
|
33
|
+
const target = (0, exports.getTarget)(configuration, targetId)[workerId];
|
|
34
|
+
const config = target ? target.options : undefined;
|
|
35
|
+
return {
|
|
36
|
+
...defaultOptions,
|
|
30
37
|
...config
|
|
31
38
|
};
|
|
32
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/project/target.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAYjB,MAAM,iBAAiB,GAAG,CAAC,aAAmC,EAA+B,EAAE;IAClG,OAAO,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,SAAS,GAAG,CAAC,aAAmC,EAAE,QAAgB,EAAuB,EAAE;IACpG,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,uBAAuB,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB;AAEK,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAE,IAAY,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;AAAxG,QAAA,aAAa,iBAA2F;AAE9G,MAAM,
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/project/target.ts"],"names":[],"mappings":"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"}
|
package/dist/project/yosys.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type { ProjectConfiguration, WorkerOptions } from './configuration.js';
|
|
1
|
+
import type { ProjectConfiguration, WorkerOptions, YosysOptions } from './configuration.js';
|
|
2
2
|
import type { Project } from './project.js';
|
|
3
3
|
export interface YosysWorkerOptions extends WorkerOptions {
|
|
4
4
|
commands: string[];
|
|
5
|
+
options: YosysOptions;
|
|
5
6
|
}
|
|
7
|
+
export declare const getYosysDefaultOptions: (configuration: ProjectConfiguration) => YosysOptions;
|
|
8
|
+
export declare const getYosysOptions: (configuration: ProjectConfiguration, targetId: string) => YosysOptions;
|
|
6
9
|
export declare const generateYosysWorkerOptions: (configuration: ProjectConfiguration, projectInputFiles: string[], targetId: string) => YosysWorkerOptions;
|
|
7
10
|
export declare const getYosysWorkerOptions: (project: Project, targetId: string) => YosysWorkerOptions;
|
|
8
11
|
export declare const generateYosysRTLCommands: (workerOptions: YosysWorkerOptions) => string[];
|