Design

The complete accelerator design is specified to Timeloop with three top-level keys in the YAML input (two of which are optional):

  • Architecture - The basic topology of the architecture
  • Components - Compound components that may be instantiated in the architecture
  • Constraints (optional) - Constraints on legal mappings to the archecture, e.g., limits on loop reorders or bypassing
  • Sparse Optimizations (optional) - Specification of sparse acceleration features or SAFs incorporated in to the design

Therefore a skeleton of a complete design specification will look like:

architecture:
      ....

constraints: # Extra constraints that are not embedded in the architecture
     ....

sparse_optimizations: # Extra sparse optimizations that are not embedded in the architecture
     ...

components: # Compound components that may be instantiated in the architecture
     ...