@specs-feup/clava
Version:
A C/C++ source-to-source compiler written in Typescript
53 lines • 1.71 kB
TypeScript
import VitisHlsReportParser from "./VitisHlsReportParser.js";
import Tool from "@specs-feup/lara/api/lara/tool/Tool.js";
export default class VitisHls extends Tool {
topFunction: string;
platform: string;
clock: number;
vitisDir: string;
vitisProjName: string;
sourceFiles: string[];
flowTarget: "vitis" | "vivado";
constructor(topFunction: string, clock?: number, platform?: string, disableWeaving?: boolean);
setTopFunction(topFunction: string): this;
setPlatform(platform: string): this;
setClock(clock: number): this;
setFlowTarget(target: "vitis" | "vivado"): this;
addSource(file: string): this;
private getTimestamp;
synthesize(verbose?: boolean): boolean;
clean(): void;
private getSynthesisReportPath;
private executeVitis;
private getTclInputFiles;
private generateTclFile;
getSynthesisReport(): {
platform: string;
topFun: string;
clockTarget: number;
clockEstim: number;
fmax: number;
latencyWorst: number;
latencyAvg: number;
latencyBest: number;
hasFixedLatency: boolean;
execTimeWorst: number;
execTimeAvg: number;
execTimeBest: number;
FF: number;
LUT: number;
BRAM: number;
DSP: number;
availFF: number;
availLUT: number;
availBRAM: number;
availDSP: number;
perFF: number;
perLUT: number;
perBRAM: number;
perDSP: number;
};
preciseStr(n: number, decimalPlaces?: number): string;
prettyPrintReport(report: ReturnType<VitisHlsReportParser["getSanitizedJSON"]>): void;
}
//# sourceMappingURL=VitisHls.d.ts.map