diff options
Diffstat (limited to 'usrp2/control_lib')
| -rw-r--r-- | usrp2/control_lib/fifo_to_wb.v | 14 | 
1 files changed, 13 insertions, 1 deletions
| 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; @@ -111,6 +113,12 @@ module fifo_to_wb  	     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 :  	   if(resp_dst_rdy & wb_ack_i) @@ -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]; | 
