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.
@@ -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: 'lp8k',
257
- packages: ['cm81:4k', 'cm121:4k', 'cm225:4k']
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: 'hx8k',
272
- packages: ['cb132:4k', 'tq144:4k', 'bg121:4k']
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":"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"}
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;
@@ -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, target_js_1.getOptions)(configuration, targetId, 'nextpnr', DEFAULT_OPTIONS);
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
- if (target.package in packageLookup) {
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${packageLookup[target.package]}C`);
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":"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"}
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(): string[];
40
+ getOutputFiles(): ProjectOutputFile[];
20
41
  hasOutputFile(filePath: string): boolean;
21
- addOutputFiles(filePaths: string[]): void;
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 {};
@@ -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.outputFiles.some((file) => file === filePath);
46
- }
47
- addOutputFiles(filePaths) {
48
- for (const filePath of filePaths) {
49
- if (!this.hasOutputFile(filePath)) {
50
- this.outputFiles.push(filePath);
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":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
@@ -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[];
@@ -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 getOptions = (configuration, targetId, workerId, defaultValues) => {
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,UAAU,GAAG,CACtB,aAAmC,EACnC,QAAgB,EAChB,QAAW,EACX,aAAmC,EACf,EAAE;IACtB,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,aAAa;QAChB,GAAG,MAAM;KACZ,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB;AAEF,MAAM,YAAY,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC;AAE3C,MAAM,WAAW,GAAG,CACvB,aAAmC,EACnC,QAAgB,EAChB,QAAkB,EAClB,QAAgB,EAChB,SAAmB,EACnB,QAAwC,YAAY,EACtD,EAAE;IACA,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAE,cAAc,CAAC,QAAQ,CAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvF,OAAO;QACH,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACN,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/project/target.ts"],"names":[],"mappings":"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"}
@@ -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[];