OpenCores
URL https://opencores.org/ocsvn/i2c_to_wb/i2c_to_wb/trunk

Subversion Repositories i2c_to_wb

[/] [i2c_to_wb/] [trunk/] [src/] [i2c_to_wb_fsm.v] - Diff between revs 4 and 5

Show entire file | Details | Blame | View Log

Rev 4 Rev 5
Line 100... Line 100...
                        else
                        else
                          next_state = STATE_IDLE;
                          next_state = STATE_IDLE;
 
 
      STATE_ADDR_BYTE:  if( xmt_byte_done )
      STATE_ADDR_BYTE:  if( xmt_byte_done )
                          next_state = STATE_ADDR_ACK;
                          next_state = STATE_ADDR_ACK;
                        else if( start_detected | stop_detected )
                        else if( stop_detected )
                          next_state = STATE_ERROR;
                          next_state = STATE_ERROR;
                        else
                        else
                          next_state = STATE_ADDR_BYTE;
                          next_state = STATE_ADDR_BYTE;
 
 
      STATE_ADDR_ACK:   if(i2c_ack_out)
      STATE_ADDR_ACK:   if(i2c_ack_out)
Line 175... Line 175...
    else if( i2c_clk_fall )
    else if( i2c_clk_fall )
      bit_count <= bit_count + 1;
      bit_count <= bit_count + 1;
 
 
 
 
// --------------------------------------------------------------------
// --------------------------------------------------------------------
 
  //  debug
 
  wire i2c_start_error = (state == STATE_ADDR_BYTE) & start_detected;
 
 
 
 
 
  // --------------------------------------------------------------------
//  outputs
//  outputs
 
 
  assign state_out = state;
  assign state_out = state;
 
 
  assign  tip_addr_byte   = (state == STATE_ADDR_BYTE);
  assign  tip_addr_byte   = (state == STATE_ADDR_BYTE);
Line 186... Line 191...
  assign  tip_read_byte   = (state == STATE_READ);
  assign  tip_read_byte   = (state == STATE_READ);
  assign  tip_write_byte  = tip_addr_byte               | (state == STATE_WRITE);
  assign  tip_write_byte  = tip_addr_byte               | (state == STATE_WRITE);
  assign  tip_wr_ack      = tip_addr_ack                | (state == STATE_WR_ACK);
  assign  tip_wr_ack      = tip_addr_ack                | (state == STATE_WR_ACK);
  assign  tip_rd_ack      = (state == STATE_RD_ACK);
  assign  tip_rd_ack      = (state == STATE_RD_ACK);
 
 
  assign i2c_error = (state == STATE_ERROR);
  assign i2c_error = (state == STATE_ERROR) | i2c_start_error;
 
 
endmodule
endmodule
 
 
 
 
 
 
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.