TGC Hammer Workspace
This is a workspace for using the TGC Hammer toolchain for ISAX-HLS and integration into TGC cores. The required tools and executables are all located in the base TGC-Hammer repo from which this workspace was created.
To use the toolchain just enter this directory, direnv
will then automatically setup all required environment variables.
Alternatively you can execute source source.sh
.
Usage
The executable for the toolchain is called tgc-hammer
, it features various subcommands for different tasks.
The two main ones isaxHLS
and isaxCore
are described in the sections below.
It also features additionally subcommands for individual steps (e.g. just translate CoreDSL to MLIR), for more information see tgc-hammer --help
.
isaxHLS
This subcommand takes one or multiple input files describing the ISAXES and runs the Longnail HLS tool to create SystemVerilog respresentations for them.
The base command looks like this: tgc-hammer isaxHLS -c VexRiscv --useMinIISolution isax.core_desc
The -c
or --core
option is required, it provides Longnail with the Core Datasheet detailing core-specific scheduling information.
Currently the --useMinIISolution
option is also required, manually selecting scheduling solutions is WIP.
The command ends with the input files. If multiple ones are specified, they are merged using Longnail before the scheduling and HLS. Both CoreDSL and already translated MLIR files are supported (also mixed).
For additional options see tgc-hammer isaxHLS --help
.
isaxCore
WIP