hls心得(1)

网上关于hls的东西太少 了。写一些。 



Verilog 设计考虑很多的是 存储器的使用,资源的多少。


hls 则主要考虑 算法能否 pipeline, dataflow, unroll,因此,多是用空间换时间。 


还有,算法的并行化,在Verilog里多是用 模块实例化实现,以及always语句。 在hls中,没有always,所以用 函数来生成模块,以实现并行化。

但是,过小的函数会被hls自动inline, 所以还是要看综合的效果, 不行就 inline off 一下。 


所以,在写C算法的时候,要尽量考虑数据的情况,而不是原来基于PC的那种高效C代码。 



0314更新------------------------------


静态变量可以使用,会被综合成 寄存器, 因为要在多次计算中保持结果。


常量会综合成rom


全局变量默认综合成寄存器, 可以通过 configuration 导出成IO, 但是 xilinx不建议大规模使用 全局变量


hls支持指针,和指针数组,

Vivado HLS supports pointers to pointers for synthesis but does not support them on the
top-level interface, that is, as

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值