1. Introduction - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

L1 primitives’ implementations include computation and data mover modules. The computation modules always have stream interfaces. The data mover modules move data between vectors’ and matrices’ on-chip storage and the computation modules. This design strategy allows FPGA application programmers to quickly develop a high-performed logic by simply chaining serval computation and data mover modules together. The organization of Vitis BLAS L1 files and directories, as described below, reflects this design strategy.

  • L1/include/hw/xf_blas: the directory that contains the computation modules
  • L1/include/hw/xf_blas.hpp: the header file for L1 primitivers’ users
  • L1/include/hw/helpers/dataMover: the directory that contains the data mover modules
  • L1/include/hw/helpers/funcs: the directory that contains the common computation modules used by several primitives
  • L1/include/hw/helpers/utils: the directory that contains the utilities used in the primitives’ implementations
  • L1/test/hw: the directory that contains the top modules used for testing each implemented primitive, including its computation and data mover modules
  • L1/test/sw: the directory that contains the testbench and test infrastructure support for the primitives
  • L1/test/build: the directory that includes the vivado_hls script used for creating vivado_hls project to test each primitive’s implementation
  • L1/test/run_test.py: the python script for testing L1 primitives’ implementations
  • L1/test/set_env.sh: the shell script for setting up the environment used for testing L1 primitives.

More information about computation and data mover modules can be found in L1 computation APIs and L1 data mover APIs.