edacation 0.6.0 → 0.6.1

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNextpnrWorkerOptions = exports.parseNextpnrArguments = exports.generateNextpnrWorkerOptions = exports.getNextpnrOptions = exports.getNextpnrDefaultOptions = void 0;
3
+ exports.getNextpnrWorkerOptions = exports.getNextpnrOptions = exports.parseNextpnrArguments = 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");
@@ -10,50 +10,55 @@ const DEFAULT_OPTIONS = {
10
10
  routedJson: true,
11
11
  pinConfigFile: undefined
12
12
  };
13
- const getNextpnrDefaultOptions = (configuration) => (0, target_js_1.getDefaultOptions)(configuration, 'nextpnr', DEFAULT_OPTIONS);
14
- exports.getNextpnrDefaultOptions = getNextpnrDefaultOptions;
13
+ const parseNextpnrArguments = (args) => args.flatMap((arg) => (0, string_args_parser_1.parseArgs)(arg));
14
+ exports.parseNextpnrArguments = parseNextpnrArguments;
15
15
  const getNextpnrOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'nextpnr', DEFAULT_OPTIONS);
16
16
  exports.getNextpnrOptions = getNextpnrOptions;
17
- const generateNextpnrWorkerOptions = (configuration, targetId) => {
17
+ const getNextpnrWorkerOptions = (project, targetId) => {
18
+ const configuration = project.getConfiguration();
18
19
  const target = (0, target_js_1.getTarget)(configuration, targetId);
19
20
  const options = (0, exports.getNextpnrOptions)(configuration, targetId);
20
21
  const vendor = devices_js_1.VENDORS[target.vendor];
21
22
  const family = vendor.families[target.family];
22
23
  const device = family.devices[target.device];
23
- const inputFiles = [(0, target_js_1.getTargetFile)(target, `${family.architecture}.json`)];
24
- const outputFiles = [];
24
+ // Input files
25
+ const generatedInputFiles = [`${family.architecture}.json`].map(f => (0, target_js_1.getTargetFile)(target, f));
26
+ const inputFiles = (0, target_js_1.getCombined)(configuration, targetId, 'nextpnr', 'inputFiles', generatedInputFiles).filter((f) => !!f);
27
+ // Tool
25
28
  const tool = `nextpnr-${family.architecture}`;
26
- const args = [];
29
+ // Output files / args
30
+ const generatedOutputFiles = [];
31
+ const generatedArgs = [];
27
32
  switch (family.architecture) {
28
33
  case 'ecp5': {
29
- args.push(`--${device.device}`);
30
- args.push('--package', target.package.toUpperCase());
34
+ generatedArgs.push(`--${device.device}`);
35
+ generatedArgs.push('--package', target.package.toUpperCase());
31
36
  if (options.pinConfigFile) {
32
- args.push('--lpf', options.pinConfigFile);
37
+ generatedArgs.push('--lpf', options.pinConfigFile);
33
38
  }
34
39
  // Write bitstream file
35
40
  const file = (0, target_js_1.getTargetFile)(target, `${family.architecture}.config`);
36
- outputFiles.push(file);
37
- args.push('--textcfg', file);
41
+ generatedOutputFiles.push(file);
42
+ generatedArgs.push('--textcfg', file);
38
43
  break;
39
44
  }
40
45
  case 'generic': {
41
46
  break;
42
47
  }
43
48
  case 'gowin': {
44
- args.push('--device', `${device.device.replace('-', '-UV')}${target.package}C5/I4`);
49
+ generatedArgs.push('--device', `${device.device.replace('-', '-UV')}${target.package}C5/I4`);
45
50
  break;
46
51
  }
47
52
  case 'ice40': {
48
- args.push(`--${device.device}`);
49
- args.push('--package', target.package);
53
+ generatedArgs.push(`--${device.device}`);
54
+ generatedArgs.push('--package', target.package);
50
55
  if (options.pinConfigFile) {
51
- args.push('--pcf', options.pinConfigFile);
56
+ generatedArgs.push('--pcf', options.pinConfigFile);
52
57
  }
53
58
  // Write ASC file
54
59
  const file = (0, target_js_1.getTargetFile)(target, `${family.architecture}.asc`);
55
- outputFiles.push(file);
56
- args.push('--asc', file);
60
+ generatedOutputFiles.push(file);
61
+ generatedArgs.push('--asc', file);
57
62
  break;
58
63
  }
59
64
  case 'nexus': {
@@ -69,29 +74,31 @@ const generateNextpnrWorkerOptions = (configuration, targetId) => {
69
74
  if (!devPackage) {
70
75
  throw new Error(`Package "${target.package}" is currenty not supported.`);
71
76
  }
72
- args.push('--device', `${device.device}-7${devPackage}C`);
77
+ generatedArgs.push('--device', `${device.device}-7${devPackage}C`);
73
78
  break;
74
79
  }
75
80
  default: {
76
81
  throw new Error(`Architecture "${family.architecture}" is currently not supported.`);
77
82
  }
78
83
  }
79
- args.push('--json', inputFiles[0]);
84
+ generatedArgs.push('--json', inputFiles[0]);
80
85
  if (options.placedSvg) {
81
86
  const file = (0, target_js_1.getTargetFile)(target, 'placed.svg');
82
- outputFiles.push(file);
83
- args.push('--placed-svg', file);
87
+ generatedOutputFiles.push(file);
88
+ generatedArgs.push('--placed-svg', file);
84
89
  }
85
90
  if (options.routedSvg) {
86
91
  const file = (0, target_js_1.getTargetFile)(target, 'routed.svg');
87
- outputFiles.push(file);
88
- args.push('--routed-svg', file);
92
+ generatedOutputFiles.push(file);
93
+ generatedArgs.push('--routed-svg', file);
89
94
  }
90
95
  if (options.routedJson) {
91
96
  const file = (0, target_js_1.getTargetFile)(target, 'routed.nextpnr.json');
92
- outputFiles.push(file);
93
- args.push('--write', file);
97
+ generatedOutputFiles.push(file);
98
+ generatedArgs.push('--write', file);
94
99
  }
100
+ const outputFiles = (0, target_js_1.getCombined)(configuration, targetId, 'nextpnr', 'outputFiles', generatedOutputFiles).filter((f) => !!f);
101
+ const args = (0, target_js_1.getCombined)(configuration, targetId, 'nextpnr', 'arguments', generatedArgs, exports.parseNextpnrArguments);
95
102
  return {
96
103
  inputFiles,
97
104
  outputFiles,
@@ -99,33 +106,12 @@ const generateNextpnrWorkerOptions = (configuration, targetId) => {
99
106
  options,
100
107
  steps: [
101
108
  {
109
+ id: 'pnr',
102
110
  tool,
103
111
  arguments: args
104
112
  }
105
113
  ]
106
114
  };
107
115
  };
108
- exports.generateNextpnrWorkerOptions = generateNextpnrWorkerOptions;
109
- const parseNextpnrArguments = (args) => args.flatMap((arg) => (0, string_args_parser_1.parseArgs)(arg));
110
- exports.parseNextpnrArguments = parseNextpnrArguments;
111
- const getNextpnrWorkerOptions = (project, targetId) => {
112
- const generated = (0, exports.generateNextpnrWorkerOptions)(project.getConfiguration(), targetId);
113
- const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'inputFiles', generated.inputFiles).filter((f) => !!f);
114
- const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'outputFiles', generated.outputFiles).filter((f) => !!f);
115
- const target = generated.target;
116
- const options = generated.options;
117
- const steps = generated.steps.map((step) => {
118
- const tool = step.tool;
119
- const args = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'nextpnr', 'arguments', step.arguments, exports.parseNextpnrArguments);
120
- return { tool, arguments: args };
121
- });
122
- return {
123
- inputFiles,
124
- outputFiles,
125
- target,
126
- options,
127
- steps
128
- };
129
- };
130
116
  exports.getNextpnrWorkerOptions = getNextpnrWorkerOptions;
131
117
  //# sourceMappingURL=nextpnr.js.map
@@ -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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"}
@@ -54,6 +54,7 @@ export declare class ProjectTarget {
54
54
  set name(newName: string);
55
55
  get isActive(): boolean;
56
56
  setActive(): void;
57
+ getFile(...parts: string[]): string;
57
58
  get vendorId(): string;
58
59
  get availableVendors(): Record<string, Vendor>;
59
60
  get vendor(): Vendor | undefined;
@@ -145,7 +146,17 @@ export declare class Project {
145
146
  values: string[];
146
147
  useDefault: boolean;
147
148
  } | undefined;
148
- commands?: {
149
+ synthPrepareCommands?: {
150
+ useGenerated: boolean;
151
+ values: string[];
152
+ useDefault: boolean;
153
+ } | undefined;
154
+ synthCommands?: {
155
+ useGenerated: boolean;
156
+ values: string[];
157
+ useDefault: boolean;
158
+ } | undefined;
159
+ rtlCommands?: {
149
160
  useGenerated: boolean;
150
161
  values: string[];
151
162
  useDefault: boolean;
@@ -209,7 +220,12 @@ export declare class Project {
209
220
  values: string[];
210
221
  useDefault: boolean;
211
222
  } | undefined;
212
- arguments?: {
223
+ packerArguments?: {
224
+ useGenerated: boolean;
225
+ values: string[];
226
+ useDefault: boolean;
227
+ } | undefined;
228
+ flasherArguments?: {
213
229
  useGenerated: boolean;
214
230
  values: string[];
215
231
  useDefault: boolean;
@@ -229,7 +245,15 @@ export declare class Project {
229
245
  useGenerated: boolean;
230
246
  values: string[];
231
247
  } | undefined;
232
- commands?: {
248
+ synthPrepareCommands?: {
249
+ useGenerated: boolean;
250
+ values: string[];
251
+ } | undefined;
252
+ synthCommands?: {
253
+ useGenerated: boolean;
254
+ values: string[];
255
+ } | undefined;
256
+ rtlCommands?: {
233
257
  useGenerated: boolean;
234
258
  values: string[];
235
259
  } | undefined;
@@ -284,7 +308,11 @@ export declare class Project {
284
308
  useGenerated: boolean;
285
309
  values: string[];
286
310
  } | undefined;
287
- arguments?: {
311
+ packerArguments?: {
312
+ useGenerated: boolean;
313
+ values: string[];
314
+ } | undefined;
315
+ flasherArguments?: {
288
316
  useGenerated: boolean;
289
317
  values: string[];
290
318
  } | undefined;
@@ -8,8 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.Project = exports.ProjectTarget = exports.ProjectOutputFile = exports.ProjectInputFile = void 0;
16
+ const path_1 = __importDefault(require("path"));
13
17
  const util_js_1 = require("../util.js");
14
18
  const configuration_js_1 = require("./configuration.js");
15
19
  const devices_js_1 = require("./devices.js");
@@ -163,6 +167,9 @@ class ProjectTarget {
163
167
  return;
164
168
  this._project.setActiveTarget(this.id);
165
169
  }
170
+ getFile(...parts) {
171
+ return (0, target_js_1.getTargetFile)(this.config, path_1.default.join(...parts));
172
+ }
166
173
  get vendorId() {
167
174
  return this._data.vendor;
168
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  import type { ProjectConfiguration, WorkerOptions, WorkerStep, YosysOptions } from './configuration.js';
2
- import type { Project, ProjectInputFile } from './project.js';
2
+ import type { Project } from './project.js';
3
3
  export interface YosysStep extends WorkerStep {
4
4
  commands: string[];
5
5
  }
6
6
  export type YosysWorkerOptions = WorkerOptions<YosysStep, YosysOptions>;
7
- export declare const getYosysDefaultOptions: (configuration: ProjectConfiguration) => YosysOptions;
8
7
  export declare const getYosysOptions: (configuration: ProjectConfiguration, targetId: string) => YosysOptions;
9
- export declare const generateYosysWorkerOptions: (configuration: ProjectConfiguration, projectInputFiles: ProjectInputFile[], targetId: string) => YosysWorkerOptions;
10
- export declare const getYosysWorkerOptions: (project: Project, targetId: string) => YosysWorkerOptions;
11
- export declare const generateYosysRTLCommands: (workerOptions: YosysWorkerOptions) => string[];
12
- export declare const generateYosysSynthPrepareCommands: (workerOptions: YosysWorkerOptions) => string[];
13
- export declare const generateYosysSynthCommands: (workerOptions: YosysWorkerOptions) => string[];
8
+ export declare const getYosysRTLWorkerOptions: (project: Project, targetId: string) => YosysWorkerOptions;
9
+ export declare const getYosysSynthesisWorkerOptions: (project: Project, targetId: string) => YosysWorkerOptions;
@@ -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 = exports.getYosysOptions = exports.getYosysDefaultOptions = void 0;
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 getSynthCommands = (arch, outFile) => {
39
- const commands = [];
40
- if (arch === 'generic') {
41
- commands.push('synth;');
42
- commands.push(`write_json "${outFile}";`);
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 getYosysDefaultOptions = (configuration) => (0, target_js_1.getDefaultOptions)(configuration, 'yosys', DEFAULT_OPTIONS);
50
- exports.getYosysDefaultOptions = getYosysDefaultOptions;
51
- const getYosysOptions = (configuration, targetId) => (0, target_js_1.getOptions)(configuration, targetId, 'yosys', DEFAULT_OPTIONS);
52
- exports.getYosysOptions = getYosysOptions;
53
- const generateYosysWorkerOptions = (configuration, projectInputFiles, targetId) => {
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
- const vendor = devices_js_1.VENDORS[target.vendor];
57
- const family = vendor.families[target.family];
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`)];
62
- const tool = 'yosys';
63
- const commands = [...getFileIngestCommands(inputFiles, options), 'proc;'];
64
- if (options.optimize) {
65
- commands.push('opt;');
66
- }
67
- commands.push(...getSynthCommands(family.architecture, outputFiles[0]));
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
- tool,
76
- arguments: [],
77
- commands
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.generateYosysWorkerOptions = generateYosysWorkerOptions;
83
- const getYosysWorkerOptions = (project, targetId) => {
84
- const generated = (0, exports.generateYosysWorkerOptions)(project.getConfiguration(), project.getInputFiles(), targetId);
85
- const inputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'inputFiles', generated.inputFiles).filter((f) => !!f);
86
- const outputFiles = (0, target_js_1.getCombined)(project.getConfiguration(), targetId, 'yosys', 'outputFiles', generated.outputFiles).filter((f) => !!f);
87
- const target = generated.target;
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
- });
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.getYosysWorkerOptions = getYosysWorkerOptions;
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