1.3.1 SmartHLS v2021.3
New Guide and Device Support
This section describes SmartHLS changes for v2021.3. For more information, see the SmartHLS release notes for v2021.3 and v2021.2.1 (the standalone interim release between 2021.2 and 2021.3).
- Created new Vivado HLS to SmartHLS Migration Guide.
- Added device support for IGLOO2. SmartHLS IDE’s device-selection menu now has a drop-down with a complete list of supported devices.
Performance Enhancement Features
- Improved expression balancing optimization to reduce cycle latency of generated hardware.
- A new branchless flatten function feature improves parallelism by removing branch operations.
- A new replicate ROM pragma enables and controls ROM (array) replication for higher memory bandwidth.
SW/HW Co-simulation Flow
Enhanced SW/HW co-simulation flow to support more sophisticated software test benches.
-
Improved support for C++ features: templates, classes, inheritance, namespaces, nested types, and typedef.
- Added support for packed FIFOs (see hls::FIFO Argument) and constant static struct members.
Struct Support Improvements
Improved struct support.
- Added a new pack pragma to implement a struct type interface or memory as a wide scalar.
- Added support struct as a return type for the top-level HLS function.
Schedule Viewer
The Schedule Viewer now shows the latency and source code location in the control flow graph to ease latency analysis.
SmartHLS Command Line Interface Improvements
Improved SmartHLS Command Line Interface and error checking for invalid constraint settings