UNPKG

edacation

Version:

Library and CLI for interacting with Yosys and nextpnr.

1,385 lines 53.8 kB
import { z } from 'zod'; import type { ArrayElement } from '../util.js'; 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, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>; declare const schemaValueListTarget: z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>; 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, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; }, { inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>; declare const schemaWorkerTarget: z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>; declare const schemaYosysOptions: z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }>; declare const schemaYosys: z.ZodObject<{ commands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; commands?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>; declare const schemaYosysTarget: z.ZodObject<{ commands: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; commands?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>; declare const schemaNextpnrOptions: z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }>; 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, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>; declare const schemaNextpnrTarget: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>; declare const schemaIVerilogOptions: z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { testbenchFile?: string | undefined; }, { testbenchFile?: string | undefined; }>; 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, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { testbenchFile?: string | undefined; }, { testbenchFile?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { testbenchFile?: string | undefined; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { testbenchFile?: string | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>; declare const schemaIVerilogTarget: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { testbenchFile?: string | undefined; }, { testbenchFile?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { options?: { testbenchFile?: string | undefined; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { testbenchFile?: string | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>; export declare const schemaProjectConfiguration: z.ZodObject<{ defaults: z.ZodOptional<z.ZodObject<{ yosys: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; }, { commands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; commands?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>>; nextpnr: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; }, { arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>>; iverilog: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; }, { arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { testbenchFile?: string | undefined; }, { testbenchFile?: string | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; }, { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; commands?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; }, { yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; } | undefined; } | undefined; }>>; 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<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; }, { commands: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }, { optimize?: boolean | undefined; topLevelModule?: string | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; commands?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>>; nextpnr: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; }, { arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }, { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>>; iverilog: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ inputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; outputFiles: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; }, { arguments: z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; }, { useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }>, "strip", z.ZodTypeAny, { useGenerated: boolean; values: string[]; useDefault: boolean; }, { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; }>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { testbenchFile?: string | undefined; }, { testbenchFile?: string | undefined; }>>; }>, "strip", z.ZodTypeAny, { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; }, { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; name: string; vendor: string; family: string; device: string; package: string; yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; commands?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; directory?: string | undefined; }, { id: string; name: string; vendor: string; family: string; device: string; package: string; yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; } | undefined; directory?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { targets: { id: string; name: string; vendor: string; family: string; device: string; package: string; yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; commands?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; arguments?: { useGenerated: boolean; values: string[]; useDefault: boolean; } | undefined; } | undefined; directory?: string | undefined; }[]; defaults?: { yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; commands?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated: boolean; values: string[]; } | undefined; outputFiles?: { useGenerated: boolean; values: string[]; } | undefined; arguments?: { useGenerated: boolean; values: string[]; } | undefined; } | undefined; } | undefined; }, { targets: { id: string; name: string; vendor: string; family: string; device: string; package: string; yosys?: { options?: { optimize?: boolean | undefined; topLevelModule?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; commands?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; } | undefined; nextpnr?: { options?: { placedSvg?: boolean | undefined; routedSvg?: boolean | undefined; routedJson?: boolean | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; } | undefined; iverilog?: { options?: { testbenchFile?: string | undefined; } | undefined; inputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; outputFiles?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDefault?: boolean | undefined; } | undefined; arguments?: { useGenerated?: boolean | undefined; values?: string[] | undefined; useDef