用于 PCI Express* 的 Intel® FPGA R-tile Avalon® Streaming IP用户指南

ID 683501
日期 3/28/2022
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

4.4.1.2.2. Credit初始化

初始化阶段期间, 每个方面都将初始化其credit计数器。此阶段中, sink(接收端)将其可用的总缓冲大小传达给source(发送端)。通过置位*crdt_init信号,该sink启动初始化阶段。如果source已经准备好初始化,则会置位*crdt_init_ack作为响应。接收*crdt_init_ack后,该sink置位*crdt_update信号并传达可用于接收事务的缓冲区大小。

该source根据每周期遇到的header credit的*update信号置位,并通过*crdt_update_cnt来增加其内部credit计数器的计数。

解除置位*init表示初始化阶段的完成。在解除置位*update*init信号之间至少需要2个时钟周期的间隔。

图 24. Credit初始化
注: 上图中的内部信号未向应用逻辑公开。

一般不需要重新初始化。但是如果需要(例如,应用程序逻辑需要更改缓冲区大小时),则只能在source和sink都处于IDLE状态时才能实现。sink的IDLE状态,是它的接收器缓冲区为空时。而对于source,其IDLE状态是在发出初始化请求后但没有要传输的内容时。