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

Subversion Repositories i2c

[/] [i2c/] [trunk/] [rtl/] [verilog/] [i2c_master_top.v] - Diff between revs 11 and 13

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

Rev 11 Rev 13
Line 61... Line 61...
        // done signal: command completed, clear command register
        // done signal: command completed, clear command register
        wire done;
        wire done;
 
 
        // core enable signal
        // core enable signal
        wire core_en;
        wire core_en;
 
        wire ien;
 
 
        // status register signals
        // status register signals
        wire irxack;
        wire irxack;
        reg  rxack;       // received aknowledge from slave
        reg  rxack;       // received aknowledge from slave
        reg  tip;         // transfer in progress
        reg  tip;         // transfer in progress
Line 144... Line 145...
        wire ack  = cr[3];
        wire ack  = cr[3];
        wire iack = cr[0];
        wire iack = cr[0];
 
 
        // decode control register
        // decode control register
        assign core_en = ctr[7];
        assign core_en = ctr[7];
 
        assign ien = ctr[6];
 
 
        // hookup byte controller block
        // hookup byte controller block
        i2c_master_byte_ctrl byte_controller (
        i2c_master_byte_ctrl byte_controller (
                .clk(wb_clk_i),
                .clk(wb_clk_i),
                .rst(wb_rst_i),
                .rst(wb_rst_i),
Line 199... Line 201...
                        if (!rst_i)
                        if (!rst_i)
                                wb_inta_o <= #1 1'b0;
                                wb_inta_o <= #1 1'b0;
                        else if (wb_rst_i)
                        else if (wb_rst_i)
                                wb_inta_o <= #1 1'b0;
                                wb_inta_o <= #1 1'b0;
                        else
                        else
                                wb_inta_o <= #1 irq_flag && ctr[6]; // interrupt signal is only generated when IEN (interrupt enable bit is set)
                                wb_inta_o <= #1 irq_flag && ien; // interrupt signal is only generated when IEN (interrupt enable bit is set)
 
 
                // assign status register bits
                // assign status register bits
                assign sr[7]   = rxack;
                assign sr[7]   = rxack;
                assign sr[6]   = i2c_busy;
                assign sr[6]   = i2c_busy;
                assign sr[5:2] = 4'h0; // reserved
                assign sr[5:2] = 4'h0; // reserved

powered by: WebSVN 2.1.0

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