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

Subversion Repositories i2c

[/] [i2c/] [trunk/] [rtl/] [verilog/] [i2c_master_top.v] - Diff between revs 33 and 40

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 33 Rev 40
Line 35... Line 35...
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: i2c_master_top.v,v 1.9 2003-01-09 16:44:45 rherveille Exp $
//  $Id: i2c_master_top.v,v 1.10 2003-09-01 10:34:38 rherveille Exp $
//
//
//  $Date: 2003-01-09 16:44:45 $
//  $Date: 2003-09-01 10:34:38 $
//  $Revision: 1.9 $
//  $Revision: 1.10 $
//  $Author: rherveille $
//  $Author: rherveille $
//  $Locker:  $
//  $Locker:  $
//  $State: Exp $
//  $State: Exp $
//
//
// Change History:
// Change History:
//               $Log: not supported by cvs2svn $
//               $Log: not supported by cvs2svn $
 
//               Revision 1.9  2003/01/09 16:44:45  rherveille
 
//               Fixed a bug in the Command Register declaration.
 
//
//               Revision 1.8  2002/12/26 16:05:12  rherveille
//               Revision 1.8  2002/12/26 16:05:12  rherveille
//               Small code simplifications
//               Small code simplifications
//
//
//               Revision 1.7  2002/12/26 15:02:32  rherveille
//               Revision 1.7  2002/12/26 15:02:32  rherveille
//               Core is now a Multimaster I2C controller
//               Core is now a Multimaster I2C controller
Line 151... Line 154...
 
 
        // assign DAT_O
        // assign DAT_O
        always @(posedge wb_clk_i)
        always @(posedge wb_clk_i)
        begin
        begin
          case (wb_adr_i) // synopsis full_case parallel_case
          case (wb_adr_i) // synopsis full_case parallel_case
            3'b000: wb_dat_o = prer[ 7:0];
            3'b000: wb_dat_o <= #1 prer[ 7:0];
            3'b001: wb_dat_o = prer[15:8];
            3'b001: wb_dat_o <= #1 prer[15:8];
            3'b010: wb_dat_o = ctr;
            3'b010: wb_dat_o <= #1 ctr;
            3'b011: wb_dat_o = rxr; // write is transmit register (txr)
            3'b011: wb_dat_o <= #1 rxr; // write is transmit register (txr)
            3'b100: wb_dat_o = sr;  // write is command register (cr)
            3'b100: wb_dat_o <= #1 sr;  // write is command register (cr)
            3'b101: wb_dat_o = txr;
            3'b101: wb_dat_o <= #1 txr;
            3'b110: wb_dat_o = cr;
            3'b110: wb_dat_o <= #1 cr;
            3'b111: wb_dat_o = 0;   // reserved
            3'b111: wb_dat_o <= #1 0;   // reserved
          endcase
          endcase
        end
        end
 
 
        // generate registers
        // generate registers
        always @(posedge wb_clk_i or negedge rst_i)
        always @(posedge wb_clk_i or negedge rst_i)

powered by: WebSVN 2.1.0

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