HLS Stream Library

HLS Stream Library

Streaming data is a type of data transfer in which data samples are sent in sequential order
starting from the first sample. Streaming requires no address management.
Modeling designs that use streaming data can be difficult in C. As discussed in Multi-Access
Pointer Interfaces: Streaming Data in Chapter 3, the approach of using pointers to perform
multiple read and/or write accesses can introduce issues, because there are implications for
the type qualifier and how the test bench is constructed.
Vivado HLS provides a C++ template class hls::stream<> for modeling streaming data
structures. The streams implemented with the hls::stream<> class have the following
attributes.
• In the C code, an hls::stream<> behaves like a FIFO of infinite depth. There is no
requirement to define the size of an hls::stream<>.
• They are read from and written to sequentially. That is, after data is read from an
hls::stream<>, it cannot be read again.
• An hls::stream<> on the top-level interface is by default implemented with an
ap_fifo interface.
• An hls::stream<> internal to the design is implemented as a FIFO with a depth of 1.
The optimization directive STREAM is used to change this default size.

 

Using HLS Streams

 

Reference

1.Xilinx UG902, Chapter 2, Vivado Design Suite User Guide High-Level Synthesis

原文链接: https://www.cnblogs.com/wordchao/p/10986538.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    HLS Stream Library

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/296293

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午5:44
下一篇 2023年2月15日 下午5:45

相关推荐