edacation 0.3.12 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +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 +81 -12
- package/dist/project/project.js +222 -20
- package/dist/project/project.js.map +1 -1
- package/dist/project/yosys.d.ts +5 -5
- package/dist/project/yosys.js +19 -9
- package/dist/project/yosys.js.map +1 -1
- package/package.json +1 -1
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,7 +55,9 @@ 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
|
|
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);
|
|
59
61
|
const outputFiles = [(0, target_js_1.getTargetFile)(target, `${family.architecture}.json`)];
|
|
60
62
|
const tool = 'yosys';
|
|
61
63
|
const commands = [...getFileIngestCommands(inputFiles, options), 'proc;'];
|
|
@@ -66,10 +68,15 @@ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId)
|
|
|
66
68
|
return {
|
|
67
69
|
inputFiles,
|
|
68
70
|
outputFiles,
|
|
69
|
-
tool,
|
|
70
71
|
target,
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
options,
|
|
73
|
+
steps: [
|
|
74
|
+
{
|
|
75
|
+
tool,
|
|
76
|
+
arguments: [],
|
|
77
|
+
commands
|
|
78
|
+
}
|
|
79
|
+
]
|
|
73
80
|
};
|
|
74
81
|
};
|
|
75
82
|
exports.generateYosysWorkerOptions = generateYosysWorkerOptions;
|
|
@@ -77,17 +84,20 @@ const getYosysWorkerOptions = (project, targetId) => {
|
|
|
77
84
|
const generated = (0, exports.generateYosysWorkerOptions)(project.getConfiguration(), project.getInputFiles(), targetId);
|
|
78
85
|
const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generated.inputFiles).filter((f) => !!f);
|
|
79
86
|
const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generated.outputFiles).filter((f) => !!f);
|
|
80
|
-
const tool = generated.tool;
|
|
81
87
|
const target = generated.target;
|
|
82
|
-
const commands = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'commands', generated.commands);
|
|
83
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
|
+
});
|
|
84
95
|
return {
|
|
85
96
|
inputFiles,
|
|
86
97
|
outputFiles,
|
|
87
|
-
tool,
|
|
88
98
|
target,
|
|
89
|
-
|
|
90
|
-
|
|
99
|
+
options,
|
|
100
|
+
steps
|
|
91
101
|
};
|
|
92
102
|
};
|
|
93
103
|
exports.getYosysWorkerOptions = getYosysWorkerOptions;
|
|
@@ -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":"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"}
|
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.5.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)"
|