|  | @@ -363,18 +363,27 @@ module abcbus (
 | 
											
												
													
														|  |     //
 |  |     //
 | 
											
												
													
														|  |     reg [9:0] busy_status;
 |  |     reg [9:0] busy_status;
 | 
											
												
													
														|  |     reg [9:0] busy_mask;
 |  |     reg [9:0] busy_mask;
 | 
											
												
													
														|  | 
 |  | +   reg [9:0] busy_io_q;
 | 
											
												
													
														|  |     reg [1:0] inp_en;
 |  |     reg [1:0] inp_en;
 | 
											
												
													
														|  |     reg [3:0] bus_change_status;
 |  |     reg [3:0] bus_change_status;
 | 
											
												
													
														|  |     reg [3:0] bus_change_mask;
 |  |     reg [3:0] bus_change_mask;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -   wire [9:0] busy_io = { abc_inp[1:0], abc_rst, 1'b0,
 |  | 
 | 
											
												
													
														|  | 
 |  | +   wire [9:0] is_io = { abc_inp[1:0], abc_rst, 1'b0,
 | 
											
												
													
														|  |  			  abc_out[4:1], abc_cs, abc_out[0] };
 |  |  			  abc_out[4:1], abc_cs, abc_out[0] };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -   wire [9:0] set_busy = busy_io & busy_mask;
 |  | 
 | 
											
												
													
														|  | 
 |  | +   wire [9:0] busy_io = is_io & busy_mask;
 | 
											
												
													
														|  |     wire       is_busy = |(busy_status & busy_mask);
 |  |     wire       is_busy = |(busy_status & busy_mask);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |     wire [9:0] busy_valid = 10'b11_1011_1111;
 |  |     wire [9:0] busy_valid = 10'b11_1011_1111;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +   wire [9:0] set_busy = busy_io_q & ~busy_io;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +   always @(posedge sys_clk or negedge rst_n)
 | 
											
												
													
														|  | 
 |  | +     if (~rst_n)
 | 
											
												
													
														|  | 
 |  | +       busy_io_q <= 10'b0;
 | 
											
												
													
														|  | 
 |  | +     else
 | 
											
												
													
														|  | 
 |  | +       busy_io_q <= busy_io;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |     // WAIT# logic
 |  |     // WAIT# logic
 | 
											
												
													
														|  |     reg	      abc_wait_force = 1'b0; // Not cleared on internal reset!
 |  |     reg	      abc_wait_force = 1'b0; // Not cleared on internal reset!
 | 
											
												
													
														|  |  
 |  |  
 |