Vivado Design Suite User Guide: High Level Synthesis (UG902) Xilinx HLS Guide
User Manual:
Open the PDF directly: View PDF
Page Count: 672 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Vivado Design Suite User Guide: High-Level Synthesis
- Revision History
- Table of Contents
- Ch. 1: High-Level Synthesis
- Introduction to C-Based FPGA Design
- Understanding Vivado HLS
- Using Vivado HLS
- Creating a New Synthesis Project
- Simulating the C Code
- Synthesizing the C Code
- Verifying the RTL is Correct
- Packaging the IP
- Archiving the Project
- Using the Command Prompt and Tcl Interface
- Improving Run Time and Capacity
- Design Examples and References
- Data Types for Efficient Hardware
- Managing Interfaces
- Interface Synthesis
- Specifying Manual Interface
- Using AXI4 Interfaces
- Managing Interfaces with SSI Technology Devices
- Optimizing the Design
- Clock, Reset, and RTL Output
- Optimizing for Throughput
- Optimizing for Latency
- Optimizing for Area
- Optimizing Logic
- Verifying the RTL
- Exporting the RTL Design
- Ch. 2: High-Level Synthesis C Libraries
- Introduction to the Vivado HLS C Libraries
- Arbitrary Precision Data Types Library
- HLS Stream Library
- HLS Math Library
- HLS Video Library
- HLS IP Libraries
- HLS Linear Algebra Library
- HLS DSP Library
- Ch. 3: High-Level Synthesis Coding Styles
- Introduction to Coding Styles
- Unsupported C Constructs
- C Test Bench
- Functions
- Loops
- Arrays
- Data Types
- C Builtin Functions
- Hardware Efficient C Code
- C++ Classes and Templates
- Assertions
- SystemC Synthesis
- Ch. 4: High-Level Synthesis Reference Guide
- Command Reference
- add_files
- close_project
- close_solution
- config_array_partition
- config_bind
- config_compile
- config_core
- config_dataflow
- config_interface
- config_rtl
- config_schedule
- config_unroll
- cosim_design
- create_clock
- csim_design
- csynth_design
- delete_project
- delete_solution
- export_design
- help
- list_core
- list_part
- open_project
- open_solution
- set_clock_uncertainty
- set_directive_allocation
- set_directive_array_map
- set_directive_array_partition
- set_directive_array_reshape
- set_directive_clock
- set_directive_dataflow
- set_directive_data_pack
- set_directive_dependence
- set_directive_expression_balance
- set_directive_function_instantiate
- set_directive_inline
- set_directive_interface
- set_directive_latency
- set_directive_loop_flatten
- set_directive_loop_merge
- set_directive_loop_tripcount
- set_directive_occurrence
- set_directive_pipeline
- set_directive_protocol
- set_directive_reset
- set_directive_resource
- set_directive_stream
- set_directive_top
- set_directive_unroll
- set_part
- set_top
- GUI Reference
- Interface Synthesis Reference
- AXI4-Lite Slave C Driver Reference
- XDut_Initialize
- XDut_CfgInitialize
- XDut_LookupConfig
- XDut_Release
- XDut_Start
- XDut_IsDone
- XDut_IsIdle
- XDut_IsReady
- XDut_Continue
- XDut_EnableAutoRestart
- XDut_DisableAutoRestart
- XDut_Set_ARG
- XDut_Set_ARG_vld
- XDut_Set_ARG_ack
- XDut_Get_ARG
- XDut_Get_ARG_vld
- XDut_Get_ARG_ack
- XDut_Get_ARG_BaseAddress
- XDut_Get_ARG_HighAddress
- XDut_Get_ARG_TotalBytes
- XDut_Get_ARG_BitWidth
- XDut_Get_ARG_Depth
- XDut_Write_ARG_Words
- XDut_Read_ARG_Words
- XDut_Write_ARG_Bytes
- XDut_Read_ARG_Bytes
- XDut_InterruptGlobalEnable
- XDut_InterruptGlobalDisable
- XDut_InterruptEnable
- XDut_InterruptDisable
- XDut_InterruptClear
- XDut_InterruptGetEnabled
- XDut_InterruptGetStatus
- HLS Video Functions Library
- OpenCV Interface Functions
- AXI4-Interface I/O Functions
- Video Processing Functions
- hls::AbsDiff
- hls::AddS
- hls::AddWeighted
- hls::And
- hls::Avg
- hls::AvgSdv
- hls::Cmp
- hls::CmpS
- hls::CornerHarris
- hls::CvtColor
- hls::Dilate
- hls::Duplicate
- hls::EqualizeHist
- hls::Erode
- hls::FASTX
- hls::Filter2D
- hls::FindStereoCorrespondenceBM
- hls::GaussianBlur
- hls::Harris
- hls::HoughLines2
- hls::Integral
- hls::InitUndistortRectifyMap
- hls::Max
- hls::MaxS
- hls::Mean
- hls::Merge
- hls::Min
- hls::MinMaxLoc
- hls::MinS
- hls::Mul
- hls::Not
- hls::PaintMask
- hls::PyrDown
- hls::PyrUp
- hls::Range
- hls::Remap
- hls::Reduce
- hls::Resize
- hls::Set
- hls::Scale
- hls::Sobel
- hls::Split
- hls::SubRS
- hls::SubS
- hls::Sum
- hls::Threshold
- hls::Zero
- HLS Linear Algebra Library Functions
- HLS DSP Library Functions
- C Arbitrary Precision Types
- Compiling [u]int#W Types
- Declaring/Defining [u]int#W Variables
- Initialization and Assignment from Constants (Literals)
- Support for console I/O (Printing)
- Expressions Involving [u]int#W types
- Bit-Level Operation: Support Function
- C++ Arbitrary Precision Types
- Compiling ap_[u]int<> Types
- Declaring/Defining ap_[u] Variables
- Initialization and Assignment from Constants (Literals)
- Support for Console I/O (Printing)
- Expressions Involving ap_[u]<> types
- Class Methods and Operators
- Other Class Methods, Operators, and Data Members
- C++ Arbitrary Precision Fixed-Point Types
- ap_[u]fixed Representation
- Quantization Modes
- Overflow Modes
- Compiling ap_[u]fixed<> Types
- Declaring and Defining ap_[u]fixed<> Variables
- Initialization and Assignment from Constants (Literals)
- Support for Console I/O (Printing)
- Expressions Involving ap_[u]fixed<> types
- Class Methods, Operators, and Data Members
- Comparison of SystemC and Vivado HLS Types
- Command Reference
- Appx. A: Additional Resources and Legal Notices