edacation
Version:
Library and CLI for interacting with Yosys and nextpnr.
419 lines (418 loc) • 21.1 kB
TypeScript
import { z } from 'zod';
import type { ArrayElement } from '../util.js';
export declare const DEFAULT_TARGET: TargetConfiguration;
export declare const DEFAULT_CONFIGURATION: ProjectConfiguration;
declare const schemaValueList: z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>;
declare const schemaValueListTarget: z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>;
declare const schemaWorker: z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaWorkerTarget: z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaYosysOptions: z.ZodObject<{
optimize: z.ZodOptional<z.ZodBoolean>;
topLevelModule: z.ZodOptional<z.ZodString>;
synthArguments: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const schemaYosys: z.ZodObject<{
synthPrepareCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
synthCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
rtlCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
optimize: z.ZodOptional<z.ZodBoolean>;
topLevelModule: z.ZodOptional<z.ZodString>;
synthArguments: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaYosysTarget: z.ZodObject<{
synthPrepareCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
synthCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
rtlCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
optimize: z.ZodOptional<z.ZodBoolean>;
topLevelModule: z.ZodOptional<z.ZodString>;
synthArguments: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaNextpnrOptions: z.ZodObject<{
placedSvg: z.ZodOptional<z.ZodBoolean>;
routedSvg: z.ZodOptional<z.ZodBoolean>;
routedJson: z.ZodOptional<z.ZodBoolean>;
reportJson: z.ZodOptional<z.ZodBoolean>;
pinConfigFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const schemaNextpnr: z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
placedSvg: z.ZodOptional<z.ZodBoolean>;
routedSvg: z.ZodOptional<z.ZodBoolean>;
routedJson: z.ZodOptional<z.ZodBoolean>;
reportJson: z.ZodOptional<z.ZodBoolean>;
pinConfigFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaNextpnrTarget: z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
placedSvg: z.ZodOptional<z.ZodBoolean>;
routedSvg: z.ZodOptional<z.ZodBoolean>;
routedJson: z.ZodOptional<z.ZodBoolean>;
reportJson: z.ZodOptional<z.ZodBoolean>;
pinConfigFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaFlasherOptions: z.ZodObject<{
board: z.ZodOptional<z.ZodString>;
programToFlash: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
declare const schemaFlasher: z.ZodObject<{
packerArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
flasherArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
board: z.ZodOptional<z.ZodString>;
programToFlash: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaFlasherTarget: z.ZodObject<{
packerArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
flasherArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
board: z.ZodOptional<z.ZodString>;
programToFlash: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaIVerilogOptions: z.ZodObject<{
testbenchFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const schemaIVerilog: z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
testbenchFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare const schemaIVerilogTarget: z.ZodObject<{
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
testbenchFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
export declare const schemaProjectConfiguration: z.ZodObject<{
defaults: z.ZodOptional<z.ZodObject<{
yosys: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
synthPrepareCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
synthCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
rtlCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
optimize: z.ZodOptional<z.ZodBoolean>;
topLevelModule: z.ZodOptional<z.ZodString>;
synthArguments: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
nextpnr: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
placedSvg: z.ZodOptional<z.ZodBoolean>;
routedSvg: z.ZodOptional<z.ZodBoolean>;
routedJson: z.ZodOptional<z.ZodBoolean>;
reportJson: z.ZodOptional<z.ZodBoolean>;
pinConfigFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
iverilog: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
testbenchFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
flasher: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
packerArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
flasherArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
board: z.ZodOptional<z.ZodString>;
programToFlash: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>>;
targets: z.ZodArray<z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
vendor: z.ZodString;
family: z.ZodString;
device: z.ZodString;
package: z.ZodString;
directory: z.ZodOptional<z.ZodString>;
yosys: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
synthPrepareCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
synthCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
rtlCommands: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
optimize: z.ZodOptional<z.ZodBoolean>;
topLevelModule: z.ZodOptional<z.ZodString>;
synthArguments: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
nextpnr: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
placedSvg: z.ZodOptional<z.ZodBoolean>;
routedSvg: z.ZodOptional<z.ZodBoolean>;
routedJson: z.ZodOptional<z.ZodBoolean>;
reportJson: z.ZodOptional<z.ZodBoolean>;
pinConfigFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
iverilog: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
arguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
testbenchFile: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
flasher: z.ZodOptional<z.ZodObject<{
inputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
outputFiles: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
packerArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
flasherArguments: z.ZodOptional<z.ZodObject<{
useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>>;
options: z.ZodOptional<z.ZodObject<{
board: z.ZodOptional<z.ZodString>;
programToFlash: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>>;
activeTargetId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type ProjectConfiguration = z.infer<typeof schemaProjectConfiguration>;
export type TargetDefaultsConfiguration = NonNullable<ProjectConfiguration['defaults']>;
export type TargetConfiguration = ArrayElement<ProjectConfiguration['targets']>;
export type ValueListConfiguration = z.infer<typeof schemaValueList>;
export type ValueListConfigurationTarget = z.infer<typeof schemaValueListTarget>;
export type WorkerId = 'yosys' | 'nextpnr' | 'iverilog' | 'flasher';
export type WorkerConfiguration = z.infer<typeof schemaWorker>;
export type WorkerTargetConfiguration = z.infer<typeof schemaWorkerTarget>;
export type YosysOptions = z.infer<typeof schemaYosysOptions>;
export type YosysConfiguration = z.infer<typeof schemaYosys>;
export type YosysTargetConfiguration = z.infer<typeof schemaYosysTarget>;
export type NextpnrOptions = z.infer<typeof schemaNextpnrOptions>;
export type NextpnrConfiguration = z.infer<typeof schemaNextpnr>;
export type NextpnrTargetConfiguration = z.infer<typeof schemaNextpnrTarget>;
export type IVerilogOptions = z.infer<typeof schemaIVerilogOptions>;
export type IVerilogConfiguration = z.infer<typeof schemaIVerilog>;
export type IVerilogTargetConfiguration = z.infer<typeof schemaIVerilogTarget>;
export type FlasherOptions = z.infer<typeof schemaFlasherOptions>;
export type FlasherConfiguration = z.infer<typeof schemaFlasher>;
export type FlasherTargetConfiguration = z.infer<typeof schemaFlasherTarget>;
export type TargetOptionTypes = {
yosys: YosysOptions;
nextpnr: NextpnrOptions;
iverilog: IVerilogOptions;
flasher: FlasherOptions;
};
export interface GeneratedFile {
name: string;
content: Uint8Array;
}
export interface WorkerStep {
id: string;
tool: string;
arguments: string[];
generatedInputFiles?: GeneratedFile[];
}
export interface WorkerOptions<Step extends WorkerStep, Options> {
inputFiles: string[];
outputFiles: string[];
target: TargetConfiguration;
options: Options;
steps: Step[];
}
export {};