3.6.2.1 Constraints Manual
(Ask a Question)SmartHLS™ accepts user-provided constraints that impact the automatically generated hardware. These constraints can be specified using the SmartHLS IDEand are stored in the Tcl configuration file config.tcl
located in your project directory. This section provides information about the constraints available for SmartHLS. The main constraints available from the SmartHLS IDE are:
- Set target clock period: CLOCK_PERIOD
- Print the HDL output to a single output file: SINGLE_HDL_OUTPUT_FILE
- Set custom config file: set_custom_config_file
- Set test bench file: set_custom_test_bench_file
- Set test bench module: set_custom_test_bench_module
- Set operation latency: set_operation_latency
- Set FPGA family and device: set_project
- Set resource constraint: set_resource_constraint
- Set FPGA synthesis top-level module: set_synthesis_top_module
- Set FPGA synthesis top-level file: set_synthesis_top_module_file
A few debugging constraints are available from the SmartHLS IDE:
- Stalling input/output FIFOs in CoSimulation: COSIM<INPUT|OUTPUT>_FIFO_STALL_PROB
- Keep signals with no fanout: KEEP_SIGNALS_WITH_NO_FANOUT
- Insert simulation assertions (for debugging): VSIM_ASSERT