diff options
| -rw-r--r-- | usrp2/control_lib/settings_bus.v | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/usrp2/control_lib/settings_bus.v b/usrp2/control_lib/settings_bus.v index aec179516..d01a30ab4 100644 --- a/usrp2/control_lib/settings_bus.v +++ b/usrp2/control_lib/settings_bus.v @@ -10,7 +10,8 @@ module settings_bus       input wb_stb_i,       input wb_we_i,       output reg wb_ack_o, -     output reg strobe, +     input sys_clk, +     output strobe,       output reg [7:0] addr,       output reg [31:0] data); @@ -19,18 +20,18 @@ module settings_bus     always @(posedge wb_clk)       if(wb_rst)         begin -	  strobe <= 1'b0; +	  stb_int <= 1'b0;  	  addr <= 8'd0;  	  data <= 32'd0;         end -     else if(wb_we_i & wb_stb_i & ~wb_ack_o) +     else if(wb_we_i & wb_stb_i)         begin -	  strobe <= 1'b1; +	  stb_int <= 1'b1;  	  addr <= wb_adr_i[9:2];  	  data <= wb_dat_i;         end       else -       strobe <= 1'b0; +       stb_int <= 1'b0;     always @(posedge wb_clk)       if(wb_rst) @@ -38,4 +39,11 @@ module settings_bus       else         wb_ack_o <= wb_stb_i & ~wb_ack_o; +   always @(posedge wb_clk) +     stb_int_d1 <= stb_int; + +   //assign strobe = stb_int & ~stb_int_d1; +   assign strobe = stb_int & wb_ack_o; +            endmodule // settings_bus + | 
