edacation 0.6.0 → 0.6.2
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 +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/project/configuration.d.ts +85 -20
- package/dist/project/configuration.js +20 -13
- package/dist/project/configuration.js.map +1 -1
- package/dist/project/flasher.d.ts +1 -3
- package/dist/project/flasher.js +37 -41
- package/dist/project/flasher.js.map +1 -1
- package/dist/project/iverilog.d.ts +2 -4
- package/dist/project/iverilog.js +31 -39
- package/dist/project/iverilog.js.map +1 -1
- package/dist/project/nextpnr.d.ts +1 -3
- package/dist/project/nextpnr.js +40 -48
- package/dist/project/nextpnr.js.map +1 -1
- package/dist/project/project.d.ts +34 -4
- package/dist/project/project.js +7 -0
- package/dist/project/project.js.map +1 -1
- package/dist/project/yosys.d.ts +3 -7
- package/dist/project/yosys.js +97 -82
- package/dist/project/yosys.js.map +1 -1
- package/package.json +1 -1
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.
|
|
6
|
+
exports.getYosysSynthesisWorkerOptions = exports.getYosysRTLWorkerOptions = exports.getYosysOptions = 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,6 +11,8 @@ const target_js_1 = require("./target.js");
|
|
|
11
11
|
const DEFAULT_OPTIONS = {
|
|
12
12
|
optimize: true
|
|
13
13
|
};
|
|
14
|
+
const getYosysOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'yosys', DEFAULT_OPTIONS);
|
|
15
|
+
exports.getYosysOptions = getYosysOptions;
|
|
14
16
|
const getFileIngestCommands = (inputFiles, options) => {
|
|
15
17
|
const commands = [];
|
|
16
18
|
// Load vhdl files
|
|
@@ -35,36 +37,41 @@ const getFileIngestCommands = (inputFiles, options) => {
|
|
|
35
37
|
}
|
|
36
38
|
return commands;
|
|
37
39
|
};
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
commands.push(`synth_${arch} -json "${outFile}";`);
|
|
46
|
-
}
|
|
47
|
-
return commands;
|
|
40
|
+
const getInputFiles = (project, targetId) => {
|
|
41
|
+
const generatedInputFiles = project.getInputFiles()
|
|
42
|
+
.filter((inputFile) => inputFile.type === 'design' && util_js_1.FILE_EXTENSIONS_HDL.includes(path_1.default.extname(inputFile.path).substring(1)))
|
|
43
|
+
.map((file) => file.path);
|
|
44
|
+
return (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generatedInputFiles).filter((f) => !!f);
|
|
48
45
|
};
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
46
|
+
const getOutputFiles = (project, targetId, files) => {
|
|
47
|
+
const target = project.getTarget(targetId);
|
|
48
|
+
if (target === null)
|
|
49
|
+
throw new Error('Target not found');
|
|
50
|
+
const generatedOutputFiles = files.map(f => (0, target_js_1.getTargetFile)(target.config, f));
|
|
51
|
+
return (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generatedOutputFiles).filter((f) => !!f);
|
|
52
|
+
};
|
|
53
|
+
const getYosysRTLWorkerOptions = (project, targetId) => {
|
|
54
|
+
const configuration = project.getConfiguration();
|
|
54
55
|
const target = (0, target_js_1.getTarget)(configuration, targetId);
|
|
55
56
|
const options = (0, exports.getYosysOptions)(configuration, targetId);
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
// Input files
|
|
58
|
+
const inputFiles = getInputFiles(project, targetId);
|
|
59
|
+
// Output files
|
|
60
|
+
const outputFiles = getOutputFiles(project, targetId, ["stats.yosys.json", "rtl.yosys.json"]);
|
|
61
|
+
// Commands
|
|
62
|
+
const generatedCommands = [
|
|
63
|
+
...getFileIngestCommands(inputFiles, options),
|
|
64
|
+
'proc;',
|
|
65
|
+
'opt;',
|
|
66
|
+
'memory -nomap;',
|
|
67
|
+
'wreduce -memx;',
|
|
68
|
+
'opt -full;',
|
|
69
|
+
`tee -q -o "${(0, target_js_1.getTargetFile)(target, 'stats.yosys.json')}" stat -json -width *;`,
|
|
70
|
+
`write_json "${(0, target_js_1.getTargetFile)(target, 'rtl.yosys.json')}";`,
|
|
71
|
+
''
|
|
72
|
+
];
|
|
73
|
+
const commands = (0, target_js_1.getCombined)(configuration, targetId, 'yosys', 'rtlCommands', generatedCommands);
|
|
74
|
+
const encoder = new TextEncoder();
|
|
68
75
|
return {
|
|
69
76
|
inputFiles,
|
|
70
77
|
outputFiles,
|
|
@@ -72,69 +79,77 @@ const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId)
|
|
|
72
79
|
options,
|
|
73
80
|
steps: [
|
|
74
81
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
id: 'rtl',
|
|
83
|
+
tool: 'yosys',
|
|
84
|
+
arguments: ['rtl.ys'],
|
|
85
|
+
generatedInputFiles: [
|
|
86
|
+
{ name: 'rtl.ys', content: encoder.encode(commands.join('\n')) }
|
|
87
|
+
],
|
|
88
|
+
commands,
|
|
78
89
|
}
|
|
79
90
|
]
|
|
80
91
|
};
|
|
81
92
|
};
|
|
82
|
-
exports.
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
exports.getYosysRTLWorkerOptions = getYosysRTLWorkerOptions;
|
|
94
|
+
const getYosysSynthesisWorkerOptions = (project, targetId) => {
|
|
95
|
+
const configuration = project.getConfiguration();
|
|
96
|
+
const target = (0, target_js_1.getTarget)(configuration, targetId);
|
|
97
|
+
const options = (0, exports.getYosysOptions)(configuration, targetId);
|
|
98
|
+
const vendor = devices_js_1.VENDORS[target.vendor];
|
|
99
|
+
const family = vendor.families[target.family];
|
|
100
|
+
// Input files
|
|
101
|
+
const inputFiles = getInputFiles(project, targetId);
|
|
102
|
+
// Output files
|
|
103
|
+
const outputFiles = getOutputFiles(project, targetId, [`${family.architecture}.json`]);
|
|
104
|
+
// Commands (preparation)
|
|
105
|
+
const generatedPrepareCommands = [
|
|
106
|
+
...getFileIngestCommands(inputFiles, options),
|
|
107
|
+
'proc;',
|
|
108
|
+
'opt;',
|
|
109
|
+
`write_json "${(0, target_js_1.getTargetFile)(target, 'presynth.yosys.json')}";`,
|
|
110
|
+
''
|
|
111
|
+
];
|
|
112
|
+
const prepareCommands = (0, target_js_1.getCombined)(configuration, targetId, 'yosys', 'synthPrepareCommands', generatedPrepareCommands);
|
|
113
|
+
// Commands (synthesis)
|
|
114
|
+
const generatedSynthCommands = [
|
|
115
|
+
`read_json "${(0, target_js_1.getTargetFile)(target, 'presynth.yosys.json')}"`,
|
|
116
|
+
];
|
|
117
|
+
if (family.architecture === 'generic') {
|
|
118
|
+
generatedSynthCommands.push('synth;');
|
|
119
|
+
generatedSynthCommands.push(`write_json "${(0, target_js_1.getTargetFile)(target, family.architecture)}.json"`);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
generatedSynthCommands.push(`synth_${family.architecture} -json "${(0, target_js_1.getTargetFile)(target, family.architecture)}.json"`);
|
|
123
|
+
}
|
|
124
|
+
generatedSynthCommands.push('');
|
|
125
|
+
const synthCommands = (0, target_js_1.getCombined)(configuration, targetId, 'yosys', 'synthCommands', generatedSynthCommands);
|
|
126
|
+
const encoder = new TextEncoder();
|
|
95
127
|
return {
|
|
96
128
|
inputFiles,
|
|
97
129
|
outputFiles,
|
|
98
130
|
target,
|
|
99
131
|
options,
|
|
100
|
-
steps
|
|
132
|
+
steps: [
|
|
133
|
+
{
|
|
134
|
+
id: 'prepare',
|
|
135
|
+
tool: 'yosys',
|
|
136
|
+
arguments: ['synth-prepare.ys'],
|
|
137
|
+
generatedInputFiles: [
|
|
138
|
+
{ name: 'synth-prepare.ys', content: encoder.encode(prepareCommands.join('\n')) }
|
|
139
|
+
],
|
|
140
|
+
commands: prepareCommands,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: 'synth',
|
|
144
|
+
tool: 'yosys',
|
|
145
|
+
arguments: ['synth.ys'],
|
|
146
|
+
generatedInputFiles: [
|
|
147
|
+
{ name: 'synth.ys', content: encoder.encode(synthCommands.join('\n')) }
|
|
148
|
+
],
|
|
149
|
+
commands: synthCommands,
|
|
150
|
+
}
|
|
151
|
+
]
|
|
101
152
|
};
|
|
102
153
|
};
|
|
103
|
-
exports.
|
|
104
|
-
const generateYosysRTLCommands = (workerOptions) => {
|
|
105
|
-
// Yosys commands taken from yosys2digitaljs (https://github.com/tilk/yosys2digitaljs/blob/1b4afeae61/src/index.js#L1225)
|
|
106
|
-
return [
|
|
107
|
-
...getFileIngestCommands(workerOptions.inputFiles, workerOptions.options),
|
|
108
|
-
'proc;',
|
|
109
|
-
'opt;',
|
|
110
|
-
'memory -nomap;',
|
|
111
|
-
'wreduce -memx;',
|
|
112
|
-
'opt -full;',
|
|
113
|
-
`tee -q -o ${(0, target_js_1.getTargetFile)(workerOptions.target, 'stats.yosys.json')} stat -json -width *;`,
|
|
114
|
-
`write_json "${(0, target_js_1.getTargetFile)(workerOptions.target, 'rtl.yosys.json')}";`,
|
|
115
|
-
''
|
|
116
|
-
];
|
|
117
|
-
};
|
|
118
|
-
exports.generateYosysRTLCommands = generateYosysRTLCommands;
|
|
119
|
-
const generateYosysSynthPrepareCommands = (workerOptions) => {
|
|
120
|
-
return [
|
|
121
|
-
...getFileIngestCommands(workerOptions.inputFiles, workerOptions.options),
|
|
122
|
-
'proc;',
|
|
123
|
-
'opt;',
|
|
124
|
-
`write_json "${(0, target_js_1.getTargetFile)(workerOptions.target, 'presynth.yosys.json')}";`,
|
|
125
|
-
''
|
|
126
|
-
];
|
|
127
|
-
};
|
|
128
|
-
exports.generateYosysSynthPrepareCommands = generateYosysSynthPrepareCommands;
|
|
129
|
-
const generateYosysSynthCommands = (workerOptions) => {
|
|
130
|
-
const target = workerOptions.target;
|
|
131
|
-
const vendor = devices_js_1.VENDORS[target.vendor];
|
|
132
|
-
const family = vendor.families[target.family];
|
|
133
|
-
return [
|
|
134
|
-
`read_json "${(0, target_js_1.getTargetFile)(workerOptions.target, 'presynth.yosys.json')}"`,
|
|
135
|
-
...getSynthCommands(family.architecture, workerOptions.outputFiles[0]),
|
|
136
|
-
''
|
|
137
|
-
];
|
|
138
|
-
};
|
|
139
|
-
exports.generateYosysSynthCommands = generateYosysSynthCommands;
|
|
154
|
+
exports.getYosysSynthesisWorkerOptions = getYosysSynthesisWorkerOptions;
|
|
140
155
|
//# sourceMappingURL=yosys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yosys.js","sourceRoot":"","sources":["../../src/project/yosys.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,wCAA8F;AAG9F,
|
|
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.6.
|
|
5
|
+
"version": "0.6.2",
|
|
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)"
|