Skip to content

Latest commit

 

History

History
 
 

algorithm_window_function_float

/*
 * Example code for a floating-point "window function" based on a template class.
 *
 * *** NOTE: This project is largely the same as the "window_fn_fxpt" example,
 * *** except that this one implements a single-precision floating point
 * *** window function core. The key point here is the code reuse and IP
 * *** parameterization capability provided by HLS and C++ templates.
 * *** Only one source file (window_fn_top.h) is different between the two
 * *** projects, and the only difference is the typedefs for data types.
 *
 * This example is intended to demonstrate:
 * - code reuse/parameterization via C++ templates
 * - basic floating point HLS support - a CoreGen FPO will be instantiated
 *
 * In addition to features demonstrated by the "window_fn_fxpt" example:
 * - C+ coding style for ROM inference - init functions must be global-scope
 * - use of <cmath> functions to init ROMs - no HW created by HLS
 * - top level wrapper function for HLS of class objets cand methods
 * - TCL directive syntax for a class member (see run_hls.tcl)
 * - namespaces to control visibility and prevent naming clashes
 */

Files Included in this Package
==================================================
window_fn_top.cpp  - top level wrapper function
window_fn_top.h    - top level header with function prototype, typedefs, etc
window_fn_class.h  - header file for window function class
window_fn_test.cpp - test program which for SW model validation & RTL co-sim
run_hls.tcl        - HLS run script
x_hls.tcl          - auxilary script setting run-level
README             - this file

Running the Design
=================================================
vitis_hls -f run_hls.tcl