阻塞读写 - 2021.2 Chinese

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

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

对应 hls::stream<> 对象的基本访问为阻塞读取和阻塞写入。这些访问是使用类方法完成的。这些方法会暂停(阻止)对空的串流 FIFO 尝试执行的读操作以及对满的串流 FIFO 尝试执行的写操作,直至针对映射到 ap_hs 接口协议的串流完成完整握手为止。

在 C/RTL 协同仿真中可观测到如下停滞现象:持续执行仿真器,但传输事务毫无进展。以下显示了停滞状况的经典示例,其中 RTL 仿真时间不断增加,但传输事务间或事务内部毫无进展。

// RTL Simulation : "Inter-Transaction Progress" ["Intra-Transaction Progress"] @ 
"Simulation Time"
///////////////////////////////////////////////////////////////////////////////////
// RTL Simulation : 0 / 1 [0.00%] @ "110000"
// RTL Simulation : 0 / 1 [0.00%] @ "202000"
// RTL Simulation : 0 / 1 [0.00%] @ "404000"