From 9ff35c8e1e6b04e191c83ce21e10772969ea4b64 Mon Sep 17 00:00:00 2001 From: Matt Ettus <matt@ettus.com> Date: Fri, 15 Oct 2010 15:47:51 -0700 Subject: give response packets the same format as tx packets --- usrp2/control_lib/fifo_to_wb.v | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'usrp2/control_lib') diff --git a/usrp2/control_lib/fifo_to_wb.v b/usrp2/control_lib/fifo_to_wb.v index 21d3945da..5be865a83 100644 --- a/usrp2/control_lib/fifo_to_wb.v +++ b/usrp2/control_lib/fifo_to_wb.v @@ -39,7 +39,9 @@ module fifo_to_wb localparam RESP_WAIT_READ = 6; localparam RESP_RCMD = 7; localparam RESP_RLEN = 8; - localparam RESP_READ = 9; + localparam RESP_RADDR_LSW = 9; + localparam RESP_RADDR_MSW = 10; + localparam RESP_READ = 11; reg [3:0] resp_state; reg rd, wr; @@ -110,6 +112,12 @@ module fifo_to_wb if(resp_dst_rdy) resp_state <= RESP_RLEN; RESP_RLEN : + if(resp_dst_rdy) + resp_state <= RESP_RADDR_LSW; + RESP_RADDR_LSW : + if(resp_dst_rdy) + resp_state <= RESP_RADDR_MSW; + RESP_RADDR_MSW : if(resp_dst_rdy) resp_state <= RESP_READ; RESP_READ : @@ -127,6 +135,8 @@ module fifo_to_wb case(resp_state) RESP_RCMD : resp_data <= { 2'b01, 8'hAA, seqnum }; RESP_RLEN : resp_data <= { 2'b00, length }; + RESP_RADDR_LSW : resp_data <= { 2'b00, base_addr }; + RESP_RADDR_MSW : resp_data <= { 2'b00, 16'd0 }; default : resp_data <= { (count==1), 1'b0, wb_dat_miso }; endcase // case (resp_state) @@ -139,6 +149,8 @@ module fifo_to_wb assign resp_src_rdy = (resp_state == RESP_RCMD) | (resp_state == RESP_RLEN) | + (resp_state == RESP_RADDR_LSW) | + (resp_state == RESP_RADDR_MSW) | ((resp_state == RESP_READ) & wb_ack_i); assign wb_dat_mosi = ctrl_data[15:0]; -- cgit v1.2.3