HLS顶层函数

顶层函数不一定是主函数,但是顶层函数即就是你要生成的硬件输入输出的形式:

如下面一段C=A*B的乘法加速器代码:

其顶层函数为:void mmult_accel_core,定义了输入,输出两个数据流,即会对应生成硬件的端口

void mmult_accel_core (AXI_VAL in_stream[2*SIZE], AXI_VAL out_stream[SIZE])
{
    // Map ports to Vivado HLS interfaces
    #pragma HLS INTERFACE ap_fifo port=in_stream
    #pragma HLS INTERFACE ap_fifo port=out_stream

    // Map HLS ports to AXI interfaces
    #pragma HLS RESOURCE variable=in_stream  core=AXIS metadata="-bus_bundle INPUT_STREAM"
    #pragma HLS RESOURCE variable=out_stream core=AXIS metadata="-bus_bundle OUTPUT_STREAM"
    #pragma HLS RESOURCE variable=return core=AXI4LiteS metadata="-bus_bundle CONTROL_BUS"
    
    dut_mmult_accel_core <float, DIM, SIZE, 4, 5, 5>(in_stream, out_stream);
    
    return;
}

int main(void)
{

    typedef float T;
    int ret_val = 0;

    ret_val = test_matrix_mult<T, DIM, SIZE, 4,5,5>();

    return ret_val;

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值