edacation 0.3.7 → 0.3.9
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/devices.js +2 -8
- package/dist/project/devices.js.map +1 -1
- package/dist/project/nextpnr.d.ts +4 -1
- package/dist/project/nextpnr.js +16 -8
- package/dist/project/nextpnr.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 +3 -3
package/dist/cli/util.d.ts
CHANGED
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)',
|
|
@@ -124,7 +119,6 @@ exports.VENDORS = {
|
|
|
124
119
|
sg48: '48-pin SG48 (7 x 7 mm)',
|
|
125
120
|
swg16tr: '16-ball WLCSP (1.40 x 1.48 mm)',
|
|
126
121
|
tq144: '144-pin TQFP (20 x 20 mm)',
|
|
127
|
-
'tq144:4k': '144-pin TQFP (20 x 20 mm)',
|
|
128
122
|
TQFP100: '100-pin TQFP (14 x 14 mm)',
|
|
129
123
|
TQFP144: '144-pin TQFP (20 x 20 mm)',
|
|
130
124
|
vq100: '100-pin VQFP (14 x 14 mm)'
|
|
@@ -255,7 +249,7 @@ exports.VENDORS = {
|
|
|
255
249
|
lp4k: {
|
|
256
250
|
name: 'LP4K',
|
|
257
251
|
device: 'lp4k',
|
|
258
|
-
packages: ['cm81
|
|
252
|
+
packages: ['cm81', 'cm121', 'cm225']
|
|
259
253
|
},
|
|
260
254
|
lp8k: {
|
|
261
255
|
name: 'LP8K',
|
|
@@ -270,7 +264,7 @@ exports.VENDORS = {
|
|
|
270
264
|
hx4k: {
|
|
271
265
|
name: 'HX4K',
|
|
272
266
|
device: 'hx4k',
|
|
273
|
-
packages: ['cb132
|
|
267
|
+
packages: ['cb132', 'tq144', 'bg121']
|
|
274
268
|
},
|
|
275
269
|
hx8k: {
|
|
276
270
|
name: 'HX8K',
|
|
@@ -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,17 +1,21 @@
|
|
|
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");
|
|
7
7
|
const DEFAULT_OPTIONS = {
|
|
8
|
-
placedSvg:
|
|
9
|
-
routedSvg:
|
|
8
|
+
placedSvg: false,
|
|
9
|
+
routedSvg: false,
|
|
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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"}
|
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[];
|
package/dist/project/yosys.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.generateYosysSynthCommands = exports.generateYosysSynthPrepareCommands = exports.generateYosysRTLCommands = exports.getYosysWorkerOptions = exports.generateYosysWorkerOptions = void 0;
|
|
6
|
+
exports.generateYosysSynthCommands = exports.generateYosysSynthPrepareCommands = exports.generateYosysRTLCommands = exports.getYosysWorkerOptions = exports.generateYosysWorkerOptions = exports.getYosysOptions = exports.getYosysDefaultOptions = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const util_js_1 = require("../util.js");
|
|
9
9
|
const devices_js_1 = require("./devices.js");
|
|
@@ -11,9 +11,24 @@ const target_js_1 = require("./target.js");
|
|
|
11
11
|
const DEFAULT_OPTIONS = {
|
|
12
12
|
optimize: true
|
|
13
13
|
};
|
|
14
|
+
const getSynthCommands = (arch, outFile) => {
|
|
15
|
+
const commands = [];
|
|
16
|
+
if (arch === 'generic') {
|
|
17
|
+
commands.push('synth;');
|
|
18
|
+
commands.push(`write_json ${outFile};`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
commands.push(`synth_${arch} -json ${outFile};`);
|
|
22
|
+
}
|
|
23
|
+
return commands;
|
|
24
|
+
};
|
|
25
|
+
const getYosysDefaultOptions = (configuration) => (0, target_js_1.getDefaultOptions)(configuration, 'yosys', DEFAULT_OPTIONS);
|
|
26
|
+
exports.getYosysDefaultOptions = getYosysDefaultOptions;
|
|
27
|
+
const getYosysOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'yosys', DEFAULT_OPTIONS);
|
|
28
|
+
exports.getYosysOptions = getYosysOptions;
|
|
14
29
|
const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId) => {
|
|
15
30
|
const target = (0, target_js_1.getTarget)(configuration, targetId);
|
|
16
|
-
const options = (0,
|
|
31
|
+
const options = (0, exports.getYosysOptions)(configuration, targetId);
|
|
17
32
|
const vendor = devices_js_1.VENDORS[target.vendor];
|
|
18
33
|
const family = vendor.families[target.family];
|
|
19
34
|
const inputFiles = projectInputFiles.filter((inputFile) => util_js_1.FILE_EXTENSIONS_HDL.includes(path_1.default.extname(inputFile).substring(1)));
|
|
@@ -26,19 +41,14 @@ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId)
|
|
|
26
41
|
if (options.optimize) {
|
|
27
42
|
commands.push('opt;');
|
|
28
43
|
}
|
|
29
|
-
|
|
30
|
-
commands.push('synth;');
|
|
31
|
-
commands.push(`write_json ${outputFiles[0]};`);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
commands.push(`synth_${family.architecture} -json ${outputFiles[0]};`);
|
|
35
|
-
}
|
|
44
|
+
commands.push(...getSynthCommands(family.architecture, outputFiles[0]));
|
|
36
45
|
return {
|
|
37
46
|
inputFiles,
|
|
38
47
|
outputFiles,
|
|
39
48
|
tool,
|
|
40
49
|
target,
|
|
41
|
-
commands
|
|
50
|
+
commands,
|
|
51
|
+
options
|
|
42
52
|
};
|
|
43
53
|
};
|
|
44
54
|
exports.generateYosysWorkerOptions = generateYosysWorkerOptions;
|
|
@@ -49,12 +59,14 @@ const getYosysWorkerOptions = (project, targetId) => {
|
|
|
49
59
|
const tool = generated.tool;
|
|
50
60
|
const target = generated.target;
|
|
51
61
|
const commands = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'commands', generated.commands);
|
|
62
|
+
const options = generated.options;
|
|
52
63
|
return {
|
|
53
64
|
inputFiles,
|
|
54
65
|
outputFiles,
|
|
55
66
|
tool,
|
|
56
67
|
target,
|
|
57
|
-
commands
|
|
68
|
+
commands,
|
|
69
|
+
options
|
|
58
70
|
};
|
|
59
71
|
};
|
|
60
72
|
exports.getYosysWorkerOptions = getYosysWorkerOptions;
|
|
@@ -92,7 +104,7 @@ const generateYosysSynthCommands = (workerOptions) => {
|
|
|
92
104
|
const family = vendor.families[target.family];
|
|
93
105
|
return [
|
|
94
106
|
`read_json ${(0, target_js_1.getTargetFile)(workerOptions.target, 'presynth.yosys.json')}`,
|
|
95
|
-
|
|
107
|
+
...getSynthCommands(family.architecture, workerOptions.outputFiles[0]),
|
|
96
108
|
'',
|
|
97
109
|
'design -reset',
|
|
98
110
|
'',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,wCAAwE;AAGxE,
|
|
1
|
+
{"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
/// <reference types="node" />
|
|
6
1
|
export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
7
2
|
export declare const encodeText: (input: string) => Uint8Array;
|
|
8
3
|
export declare const encodeJSON: (input: unknown, pretty?: boolean) => Uint8Array;
|
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.3.
|
|
5
|
+
"version": "0.3.9",
|
|
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)"
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
|
41
41
|
"@types/node": "^20.14.8",
|
|
42
42
|
"@types/yargs": "^17.0.32",
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
44
|
-
"@typescript-eslint/parser": "^
|
|
43
|
+
"@typescript-eslint/eslint-plugin": "^8.4.0",
|
|
44
|
+
"@typescript-eslint/parser": "^8.4.0",
|
|
45
45
|
"eslint": "^8.57.0",
|
|
46
46
|
"eslint-config-google": "^0.14.0",
|
|
47
47
|
"eslint-plugin-import": "^2.29.1",
|