@@ -827,49 +827,8 @@ always @* begin
827827end
828828
829829always @(posedge clk) begin
830- if (rst) begin
831- state_reg <= STATE_IDLE;
832- phy_state_reg <= PHY_STATE_IDLE;
833- delay_reg <= 16'd0 ;
834- delay_scl_reg <= 1'b0 ;
835- delay_sda_reg <= 1'b0 ;
836- cmd_ready_reg <= 1'b0 ;
837- data_in_ready_reg <= 1'b0 ;
838- data_out_valid_reg <= 1'b0 ;
839- scl_o_reg <= 1'b1 ;
840- sda_o_reg <= 1'b1 ;
841- busy_reg <= 1'b0 ;
842- bus_active_reg <= 1'b0 ;
843- bus_control_reg <= 1'b0 ;
844- missed_ack_reg <= 1'b0 ;
845- end else begin
846- state_reg <= state_next;
847- phy_state_reg <= phy_state_next;
848-
849- delay_reg <= delay_next;
850- delay_scl_reg <= delay_scl_next;
851- delay_sda_reg <= delay_sda_next;
852-
853- cmd_ready_reg <= cmd_ready_next;
854- data_in_ready_reg <= data_in_ready_next;
855- data_out_valid_reg <= data_out_valid_next;
856-
857- scl_o_reg <= scl_o_next;
858- sda_o_reg <= sda_o_next;
859-
860- busy_reg <= ! (state_reg == STATE_IDLE || state_reg == STATE_ACTIVE_WRITE || state_reg == STATE_ACTIVE_READ) || ! (phy_state_reg == PHY_STATE_IDLE || phy_state_reg == PHY_STATE_ACTIVE);
861-
862- if (start_bit) begin
863- bus_active_reg <= 1'b1 ;
864- end else if (stop_bit) begin
865- bus_active_reg <= 1'b0 ;
866- end else begin
867- bus_active_reg <= bus_active_reg;
868- end
869-
870- bus_control_reg <= bus_control_next;
871- missed_ack_reg <= missed_ack_next;
872- end
830+ state_reg <= state_next;
831+ phy_state_reg <= phy_state_next;
873832
874833 phy_rx_data_reg <= phy_rx_data_next;
875834
@@ -881,15 +840,58 @@ always @(posedge clk) begin
881840 mode_write_multiple_reg <= mode_write_multiple_next;
882841 mode_stop_reg <= mode_stop_next;
883842
843+ delay_reg <= delay_next;
844+ delay_scl_reg <= delay_scl_next;
845+ delay_sda_reg <= delay_sda_next;
846+
884847 bit_count_reg <= bit_count_next;
885848
849+ cmd_ready_reg <= cmd_ready_next;
850+
851+ data_in_ready_reg <= data_in_ready_next;
852+
886853 data_out_reg <= data_out_next;
887854 data_out_last_reg <= data_out_last_next;
855+ data_out_valid_reg <= data_out_valid_next;
888856
889857 scl_i_reg <= scl_i;
890858 sda_i_reg <= sda_i;
859+
860+ scl_o_reg <= scl_o_next;
861+ sda_o_reg <= sda_o_next;
862+
891863 last_scl_i_reg <= scl_i_reg;
892864 last_sda_i_reg <= sda_i_reg;
865+
866+ busy_reg <= ! (state_reg == STATE_IDLE || state_reg == STATE_ACTIVE_WRITE || state_reg == STATE_ACTIVE_READ) || ! (phy_state_reg == PHY_STATE_IDLE || phy_state_reg == PHY_STATE_ACTIVE);
867+
868+ if (start_bit) begin
869+ bus_active_reg <= 1'b1 ;
870+ end else if (stop_bit) begin
871+ bus_active_reg <= 1'b0 ;
872+ end else begin
873+ bus_active_reg <= bus_active_reg;
874+ end
875+
876+ bus_control_reg <= bus_control_next;
877+ missed_ack_reg <= missed_ack_next;
878+
879+ if (rst) begin
880+ state_reg <= STATE_IDLE;
881+ phy_state_reg <= PHY_STATE_IDLE;
882+ delay_reg <= 16'd0 ;
883+ delay_scl_reg <= 1'b0 ;
884+ delay_sda_reg <= 1'b0 ;
885+ cmd_ready_reg <= 1'b0 ;
886+ data_in_ready_reg <= 1'b0 ;
887+ data_out_valid_reg <= 1'b0 ;
888+ scl_o_reg <= 1'b1 ;
889+ sda_o_reg <= 1'b1 ;
890+ busy_reg <= 1'b0 ;
891+ bus_active_reg <= 1'b0 ;
892+ bus_control_reg <= 1'b0 ;
893+ missed_ack_reg <= 1'b0 ;
894+ end
893895end
894896
895897endmodule
0 commit comments