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

Subversion Repositories opengfx430

[/] [opengfx430/] [trunk/] [core/] [rtl/] [verilog/] [ogfx_reg_fifo.v] - Diff between revs 3 and 6

Show entire file | Details | Blame | View Log

Rev 3 Rev 6
Line 42... Line 42...
 
 
module  ogfx_reg_fifo (
module  ogfx_reg_fifo (
 
 
// OUTPUTs
// OUTPUTs
    fifo_cnt_o,                         // Fifo counter
    fifo_cnt_o,                         // Fifo counter
 
    fifo_empty_cnt_o,                    // Fifo empty words counter
    fifo_data_o,                        // Read data output
    fifo_data_o,                        // Read data output
    fifo_done_evt_o,                    // Fifo has been emptied
    fifo_done_evt_o,                    // Fifo has been emptied
    fifo_empty_o,                       // Fifo is currentely empty
    fifo_empty_o,                       // Fifo is currentely empty
    fifo_full_o,                        // Fifo is currentely full
    fifo_full_o,                        // Fifo is currentely full
    fifo_ovfl_evt_o,                    // Fifo overflow event
    fifo_ovfl_evt_o,                    // Fifo overflow event
Line 61... Line 62...
);
);
 
 
// OUTPUTs
// OUTPUTs
//=========
//=========
output         [3:0] fifo_cnt_o;        // Fifo counter
output         [3:0] fifo_cnt_o;        // Fifo counter
 
output         [3:0] fifo_empty_cnt_o;   // Fifo empty word counter
output        [15:0] fifo_data_o;       // Read data output
output        [15:0] fifo_data_o;       // Read data output
output               fifo_done_evt_o;   // Fifo has been emptied
output               fifo_done_evt_o;   // Fifo has been emptied
output               fifo_empty_o;      // Fifo is currentely empty
output               fifo_empty_o;      // Fifo is currentely empty
output               fifo_full_o;       // Fifo is currentely full
output               fifo_full_o;       // Fifo is currentely full
output               fifo_ovfl_evt_o;   // Fifo overflow event
output               fifo_ovfl_evt_o;   // Fifo overflow event
Line 96... Line 98...
//============================================================================
//============================================================================
// 5) FIFO COUNTER
// 5) FIFO COUNTER
//============================================================================
//============================================================================
 
 
// Control signals
// Control signals
wire      fifo_full_o     =  (fifo_cnt_o == FIFO_FULL);
assign    fifo_full_o        =  (fifo_cnt_o == FIFO_FULL);
wire      fifo_empty_o    =  (fifo_cnt_o == FIFO_EMPTY);
assign    fifo_empty_o       =  (fifo_cnt_o == FIFO_EMPTY);
 
assign    fifo_empty_cnt_o   =  (FIFO_FULL-fifo_cnt_o);
wire      fifo_push_int   =  fifo_push_i & !fifo_full_o;
wire      fifo_push_int   =  fifo_push_i & !fifo_full_o;
wire      fifo_pop_int    =  fifo_pop_i  & !fifo_empty_o;
wire      fifo_pop_int    =  fifo_pop_i  & !fifo_empty_o;
 
 
// Events
// Events
assign    fifo_done_evt_o = ~fifo_empty_o & (fifo_cnt_nxt == FIFO_EMPTY);
assign    fifo_done_evt_o = ~fifo_empty_o & (fifo_cnt_nxt == FIFO_EMPTY);

powered by: WebSVN 2.1.0

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