Vitis HLS 学习笔记--HLS入门示例集合-目录

目录

1. 示例集合概述

2. Interface 接口

2.1 Aggregation_Disaggregation

2.1.1 aggregation_of_m_axi_ports (DONE)

2.1.2 aggregation_of_nested_structs

2.1.3 aggregation_of_struct

2.1.4 auto_disaggregation_of_struct

2.1.5 disaggregation_of_axis_port

2.1.6 struct_ii_issue

2.2 Memory

2.2.1 ecc_flags

2.2.2 manual_burst (DONE)

2.2.3 max_widen_port_width (DONE)

2.2.4 memory_bottleneck (DONE)

2.2.5 ram_uram (DONE)

2.2.6 rom_lookup_table_math

2.2.7 using_axi_master (DONE)

2.3 Register

2.3.1 using_axi_lite (DONE)

2.3.2 using_axi_lite_with_user_defined_offset

2.4 Streaming

2.4.1 axi_stream_to_master (DONE)

2.4.2 using_array_of_streams

2.4.3 using_axi_stream_no_side_channel_data

2.4.4 using_axi_stream_with_side_channel_data

2.4.5 using_axi_stream_with_struct

2.4.6 using_axis_array_stream_no_side_channel_data

3. Pipelining

3.1 Functions

3.1.1 function_instantiate

3.1.2 hier_func

3.2 Loops

3.2.1 imperfect_loop (DONE)

3.2.2 perfect_loop (DONE)

3.3.3 pipelined_loop

3.3.4 using_free_running_pipeline (DONE)

4. Task_Level_Parallelism

4.1 Control_driven

4.1.1 Bypassing

4.1.1.1 input_bypass (DONE)

4.1.1.2 middle_bypass (DONE)

4.1.1.3 output_bypass (DONE)

4.1.2 Channels

4.1.2.1 Vitis

4.1.2.2 merge_split

4.1.2.3 simple_fifos (DONE)

4.1.2.4 using_fifos (DONE)

4.1.2.5 using_pipos (DONE)

4.1.2.6 using_stream_of_blocks

4.2 Data_driven

4.2.1 handling_deadlock (DONE)

4.2.2 mixed_control_and_data_driven

4.2.3 simple_data_driven (DONE)

5. Modeling

5.1 Pointers

5.1.1 basic_arithmetic (DONE)

5.1.2 basic_pointers (DONE)

5.1.3 multiple_pointers

5.1.4 native_casts

5.1.5 stream_better (DONE)

5.1.6 stream_good (DONE)

5.1.7 using_double (DONE)

5.2 basic_loops_primer

5.3 fixed_point_sqrt

5.4 free_running_kernel_remerge_ii4to1

5.5 using_C++_templates

5.6 using_arbitrary_precision_arith

5.7 using_arbitrary_precision_casting

5.8 using_fixed_point

5.9 using_float_and_double (DONE)

5.10 using_vectors (DONE)

5.11 variable_bound_loops (DONE)

6. Misc

6.1 initialization_and_reset

6.1.1 global_array_RAM (DONE)

6.1.2 static_array_RAM (DONE)

6.1.3 static_array_ROM (DONE)

6.1.4 static_array_of_struct_with_array_RAM

6.1.5 static_struct_with_array_RAM

6.1.6 static_struct_with_array_RAM_Versal

6.2 malloc_removed

6.3 rtl_as_blackbox

7. 学习规划


1. 示例集合概述

GitHub - Xilinx/Vitis-HLS-Introductory-ExamplesContribute to Xilinx/Vitis-HLS-Introductory-Examples development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/Xilinx/Vitis-HLS-Introductory-Examples此示例集与先前的博客《Vitis HLS 学习笔记--HLS优化指令示例-目录-CSDN博客》相得益彰,分别聚焦于展示HLS功能和演示HLS优化指令。与之前的博客相比,需要同时编译宿主代码和PL(可编程逻辑)代码,而本示例集则可完全在Vitis HLS仿真环境下运行,使得效果展示更为直观。这两者互为补充,共同促进了对Vitis HLS的深入理解和掌握。

本示例集分类如下:

  • Interface(接口):展示各种模式和接口协议使用的常见示例
  • Pipelining(流水线):展示循环和函数的流水线pragma使用的常见示例
  • Task_Level_Parallelism(任务级并行):展示任务级并行编程模型和拓扑结构示例
  • Modeling(建模):数学和DSP示例以及其他常见使用模型/算法
  • Misc(其他):例如C++中的RTL黑盒等其他示例

2. Interface 接口

2.1 Aggregation_Disaggregation

2.1.1 aggregation_of_m_axi_ports (DONE)

#pragma HLS AGGREGATE compact=auto

Vitis HLS 学习笔记--聚合与解聚-AXI主接口-CSDN博客

2.1.2 aggregation_of_nested_structs

嵌套结构体

2.1.3 aggregation_of_struct

2.1.4 auto_disaggregation_of_struct

2.1.5 disaggregation_of_axis_port

2.1.6 struct_ii_issue

迭代间隔违规

2.2 Memory

2.2.1 ecc_flags

Error Checking and Correcting

2.2.2 manual_burst (DONE)

如果在设计中并未发生自动突发,则可使用 hls::burst_maxi 数据类型执行手动突发。

Vitis HLS 学习笔记--MAXI手动控制突发传输-CSDN博客

2.2.3 max_widen_port_width (DONE)

可选参数max_widen_bitwidth,因为Compiler会根据数据类型自动进行数据位宽的调整。

Vitis HLS 学习笔记--MAXI位宽拓展-CSDN博客

2.2.4 memory_bottleneck (DONE)

achive II=1 by removing redundant memory accesses in the code。

Vitis HLS 学习笔记--优化本地存储器访问瓶颈-CSDN博客

2.2.5 ram_uram (DONE)

BIND_STORAGE type=ram_2p impl=uram,DEPENDENCE inter WAR false,WAR is Write-After-Read

Vitis HLS 学习笔记--资源绑定-使用URAM-CSDN博客

Vitis HLS 学习笔记--资源绑定-使用URAM(1)-CSDN博客

2.2.6 rom_lookup_table_math

sin_table[i] = (din1_t)(32768.0 * real_val);

2.2.7 using_axi_master (DONE)

Vitis HLS 学习笔记--AXI4 主接口-CSDN博客

2.3 Register

2.3.1 using_axi_lite (DONE)

2.3.2 using_axi_lite_with_user_defined_offset

2.4 Streaming

2.4.1 axi_stream_to_master (DONE)

hls::stream<int,…> count; 是为了更方便自动优化实现流水线设计。

Vitis HLS 学习笔记--AXI_STREAM_TO_MASTER-CSDN博客

Vitis HLS 学习笔记--理解串流Stream(1)-CSDN博客

Vitis HLS 学习笔记--理解串流Stream(2)-CSDN博客

Vitis HLS 学习笔记--理解串流Stream(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值