zoukankan      html  css  js  c++  java
  • HLS Optimization: Local Memory Bandwidth

    Array Partition

    #pragma HLS array_partition variable=<variable> <block, cyclic, complete> factor=<int> dim=<int>

    Array Reshape

    #pragma HLS array_reshape variable=<variable> <block, cyclic, complete> factor=<int> dim=<int>

    Example 1

    Reshapes (partition and maps) an 8-bit array with 17 elements, AB[17], into a new 32-bit array with five elements using block mapping.

    #pragma HLS array_reshape variable=AB block factor=4

    TIP: factor=4 indicates that the array should be divided into four. So 17 elements is reshaped into an array of 5 elements, with four times the bit-width. In this case, the last element, AB[17], is mapped to the lower eight bits of the fifth element, and the rest of the fifth element is empty.

    Example 2

    Reshapes the two-dimensional array AB[6][4] into a new array of dimension [6][2], in which dimension 2 has twice the bit-

    #pragma HLS array_reshape variable=AB block factor=2 dim=2

    Example 3

    Reshapes the three-dimensional 8-bit array, AB[4][2][2] in function foo, into a new single element array (a register), 128 bits wide (4*2*2*8):

    #pragma HLS array_reshape variable=AB complete dim=0

    TIP: dim=0 means to reshape all dimensions of the array.

     Reference:

    1. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_2/sdsoc_doc/topics/calling-coding-guidelines/concept_increasing_local_memory_bandwidth.html

    2. https://japan.xilinx.com/html_docs/xilinx2017_4/sdaccel_doc/mrl1504034361747.html

  • 相关阅读:
    Asp.net的HTTP请求处理过程
    通过16道练习学习Linq和Lambda
    学习资料
    .NET处理HTTP请求
    new override virtual 区别与用法
    13个优秀的UML建模工具软件
    做iOS开发程序员10个必需的iOS开发工具和资源[转]
    jQuery的deferred对象详解
    MySQL 5.0存储过程编程入门(转)
    简单谈谈事件与委托(转)
  • 原文地址:https://www.cnblogs.com/wordchao/p/10964294.html
Copyright © 2011-2022 走看看