仅对英特尔可见 — GUID: nik1412467940376
Ixiasoft
3.5.1. 典型的读传输和写传输
本节介绍了一个典型的 Avalon® -MM接口,通过agent控制的waitrequest来支持读写传输。通过置位waitrequest信号,agent能够将互连暂停所需的周期。如果一个agent将waitrequest用于读传输或者写传输,那么该agent必须对两者都使用waitrequest。
agent通常在时钟的上升沿之后接收address,byteenable,read或者write和writedata。在上升时钟沿之前,agent置位waitrequest来暂停传输。当agent置位waitrequest时,传输延迟。waitrequest置位期间,地址和其他控制信号保持不变。agent接口解除置位waitrequest之后,第一个clk上升沿上的传输完成。
对agent接口暂停的时间长短没有限制。因此,您必须确保agent接口不要无限期置位waitrequest。下图显示了使用waitrequest的read和write传输。
注:
waitrequest能够从read和write请求信号中解耦。可在空闲周期置位waitrequest。当waitrequest置位时, Avalon® -MM host可以启动一个事务,并等待此信号解除置位。将waitrequest从read和write请求进行解耦可以提高系统时序。解耦消除了包含read,write和waitrequest信号的组合环路(combinational loop)。如果要求更多的解耦,那么使用waitrequestAllowance属 性。从 Quartus® Prime Pro v17.1 Stratix® 10 ES版本发布起包含waitrequestAllowance属性。
图 7. 包括Waitrequest的读和写传输
此时序图中的数字标记以下转换:
- address,byteenable和read在clk的上升沿后置位。agent置位waitrequest,暂停传输。
- waitrequest被采样。由于waitrequest置位,因此周期变成一个等待状态(wait-state)。address,read,write和byteenable保持不变。
- agent在clk的上升沿之后解除置位waitrequest。agent置位readdata和response。
- host对readdata,response和解除置位的waitrequest(完成传输)进行采样。
- address,writedata,byteenable和write信号在clk的上升沿之后置位。agent置位waitrequest,暂停传输。
- agent在clk的上升沿之后解除置位waitrequest。
- agent采样写数据结束传输。