指定编译器创建的 FIFO 深度 - 2023.2 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 简体中文

起始传输 FIFO

编译器可能自动创建“起始 FIFO”以将 ap_start/ap_ready 握手传输到内部进程。此类 FIFO 有时可能成为性能瓶颈,在此情况下,工具可能错误估算默认大小,您可通过 syn.dataflow.start_fifo_depth 配置命令增大默认大小。

如果生产者与使用者之间需无限裕量,并且内部进程可永久运行,并完全由其输入或输出(FIFO 或 PIPO)以安全方式驱动,那么针对给定数据流区域,可使用以下编译指示或指令在本地移除这些起始 FIFO(风险由您自行承担):

#pragma HLS DATAFLOW disable_start_propagation

标量传输 FIFO

编译器通过进程之间的“标量 FIFO”自动从 C/C++ 代码传输部分标量。此类 FIFO 有时可能成为性能瓶颈或者导致死锁,在此情况下,您可通过 syn.dataflow.scalar_fifo_depth 配置命令来设置大小。
提示: 默认深度是使用 syn.dataflow.fifo_depth 来设置的。