SPeCS Packages Documentation
    Preparing search index...

    Module @specs-feup/clava-vitis-integration - v1.0.0

    clava-vitis-integration

    An extension of the Clava C/C++ source-to-source compiler to programatically synthesize functions obtained from the AST using Vitis HLS

    This package is available on NPM. Assuming you already have a Clava-based NPM project setup, you can install the latest stable release with:

    npm install @specs-feup/clava-vitis-integration@latest
    

    If you want to use unstable and experimental features, use the staging or nightly tags instead, as they are both built using the most recent commit in the repository. Nightly builds are built automatically every day, while staging builds are built on-demand:

    npm install @specs-feup/clava-vitis-integration@nightly
    

    Basic usage

    To synthesize a function and obtain the synthesis report, you can do something like:

    import Query from "@specs-feup/lara/api/weaver/Query.js";
    import { FileJp } from "@specs-feup/clava/api/Joinpoints.js";
    import { AmdPlatform, ClockUnit, OutputFormat, UncertaintyUnit, VitisHlsConfig } from "@specs-feup/clava-vitis-integration/VitisHlsConfig";
    import { VitisHls } from "@specs-feup/clava-vitis-integration/VitisHls";

    const vitis = new VitisHls();

    const config = new VitisHlsConfig("rgbToGrayscale")
    .setClock({ value: 100, unit: ClockUnit.MEGAHERTZ })
    .setUncertainty({ value: 2, unit: UncertaintyUnit.NANOSECOND })
    .setPlatform(AmdPlatform.ZCU102)
    .setOutputFormat(OutputFormat.VITIS_XO);
    vitis.setConfig(config);

    // RTL synthesis (report with resource usage estimations)
    const synReport = vitis.synthesize();
    console.log(synReport);

    // Place and route (report with actual resource usage)
    const placeRouteReport = vitis.implement();
    console.log(placeRouteReport);

    Modules

    directives/HlsArrayPartition
    directives/HlsDirective
    directives/HlsInline
    directives/HlsPipeline
    directives/HlsUnroll
    VitisHls
    VitisHlsConfig
    VitisImplReportParser
    VitisReports
    VitisSynReportParser