用户状态机 - 3.2 简体中文

40G/50G High Speed Ethernet 子系统 v3.2 产品指南 (PG211)

Document ID
PG211
Release Date
2021-02-04
Version
3.2 简体中文

通过 AXI4-Lite 从模块接口执行的读写操作由状态机来控制,如下图所示:

图 1. AXI4-Lite 接口的用户状态机 Page-1 Sheet.1 Sheet.2 Sheet.3 Sheet.4 Sheet.5 usr_write_req usr_write_req usr_write_req Sheet.6 usr_read_req usr_read_req usr_read_req Sheet.7 axi_bvalid && axi_bready axi_bvalid && axi_bready axi_bvalid && axi_bready Sheet.8 axi_rvalid && axi_rready axi_rvalid && axi_rready axi_rvalid && axi_rready Ellipse.33 IDLE_STATE IDLE_STATE Ellipse.1 WRITE_STATE WRITE_STATE Ellipse.2 ACK_STATE ACK_STATE Ellipse.13 READ_STATE READ_STATE Dynamic connector Sheet.14 Sheet.15 axi_rready == 1'b0 axi_rready == 1'b0 axi_rready == 1'b0 Sheet.16 X17970-092316 Sheet.17 Sheet.18 Sheet.19 X17970-080621

每个状态的功能描述如下:

IDLE_STATE
默认情况下,FSM 处于 IDLE_STATE 状态。当 user_read_req 信号变为高电平 (High) 时,它会转至 READ_STATE 状态,或者如果 user_write_req 信号为 High,那么它会转为 WRITE_STATE 状态,否则它将保持 IDLE_STATE 状态。
WRITE_STATE
在此状态下,您提供 S_AXI_AWVALIDS_AXI_AWADDRS_AXI_WVALIDS_AXI_WDATAS_AXI_WSTRB 以通过 AXI 写入寄存器映射。当来自 AXI 从接口的 S_AXI_BVALIDS_AXI_BREADY 均为 High 时,它会转至 ACK_STATE。如果在任意非法地址中发生任何写入操作, S_AXI_BRESP[1:0] 会指示 2'b10 以断言写入错误信号有效。
READ_STATE
在此状态下,您提供 S_AXI_ARVALIDS_AXI_ARADDR 以通过 AXI 从寄存器映射读取。当 S_AXI_RVALIDS_AXI_RREADY 均为 High 时,它会转至 ACK_STATE。如果在任意非法地址中发生任何读取操作,S_AXI_RRESP[1:0] 会指示 2'b10 以断言读取错误信号有效。
ACK_STATE
状态将转至 IDLE_STATE。