非阻塞读写 - 2021.2 Chinese

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

Document ID
UG1399
Release Date
2021-12-15
Version
2021.2 Chinese

非阻塞读写方法同样可用。这些方法允许对空串流尝试读取或者对已满的串流尝试写入时,仍可继续执行操作。

这些方法会返回布尔值以指示访问状态(true 表示成功,false 表示失败)。此外还包含其它方法用于测试 hls::stream<> 串流的状态。

重要: 仅在使用 ap_fifo 协议的接口上支持非阻塞方法。更确切地说,AXI-Stream 标准和赛灵思 ap_hs I/O 协议不支持非阻塞访问。

在 C 语言仿真期间,串流大小无限。因此,无法通过 C 语言仿真确认串流是否已满。只能在 RTL 仿真期间已定义 FIFO 大小(默认大小 1,或者通过 STREAM 指令定义的任意大小)的情况下验证这些方法。

重要: 如果设计指定为使用块级 I/O 协议 ap_ctrl_none 且设计包含采用非阻塞行为的任意 hls::stream 变量,则无法保证完成 C/RTL 协同仿真。