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

Subversion Repositories xge_mac

[/] [xge_mac/] [trunk/] [rtl/] [verilog/] [tx_enqueue.v] - Diff between revs 2 and 6

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

Rev 2 Rev 6
Line 42... Line 42...
  // Outputs
  // Outputs
  pkt_tx_full, txdfifo_wdata, txdfifo_wstatus, txdfifo_wen,
  pkt_tx_full, txdfifo_wdata, txdfifo_wstatus, txdfifo_wen,
  status_txdfifo_ovflow_tog,
  status_txdfifo_ovflow_tog,
  // Inputs
  // Inputs
  clk_156m25, reset_156m25_n, pkt_tx_data, pkt_tx_val, pkt_tx_sop,
  clk_156m25, reset_156m25_n, pkt_tx_data, pkt_tx_val, pkt_tx_sop,
  pkt_tx_eop, txdfifo_wfull, txdfifo_walmost_full
  pkt_tx_eop, pkt_tx_mod, txdfifo_wfull, txdfifo_walmost_full
  );
  );
 
 
`include "CRC32_D64.v"
`include "CRC32_D64.v"
`include "CRC32_D8.v"
`include "CRC32_D8.v"
`include "utils.v"
`include "utils.v"
Line 55... Line 55...
input         reset_156m25_n;
input         reset_156m25_n;
 
 
input  [63:0] pkt_tx_data;
input  [63:0] pkt_tx_data;
input         pkt_tx_val;
input         pkt_tx_val;
input         pkt_tx_sop;
input         pkt_tx_sop;
input  [7:0]  pkt_tx_eop;
input         pkt_tx_eop;
 
input  [2:0]  pkt_tx_mod;
 
 
input         txdfifo_wfull;
input         txdfifo_wfull;
input         txdfifo_walmost_full;
input         txdfifo_walmost_full;
 
 
output        pkt_tx_full;
output        pkt_tx_full;
Line 118... Line 119...
 
 
    end
    end
 
 
end
end
 
 
always @(/*AS*/pkt_tx_data or pkt_tx_eop or pkt_tx_sop or pkt_tx_val
always @(/*AS*/pkt_tx_data or pkt_tx_eop or pkt_tx_mod or pkt_tx_sop
         or txd_ovflow or txdfifo_wfull) begin
         or pkt_tx_val or txd_ovflow or txdfifo_wfull) begin
 
 
    txdfifo_wstatus = `TXSTATUS_NONE;
    txdfifo_wstatus = `TXSTATUS_NONE;
    txdfifo_wdata = pkt_tx_data;
    txdfifo_wdata = pkt_tx_data;
    txdfifo_wen = pkt_tx_val;
    txdfifo_wen = pkt_tx_val;
 
 
Line 132... Line 133...
 
 
    // Write SOP marker to fifo.
    // Write SOP marker to fifo.
 
 
    if (pkt_tx_val && pkt_tx_sop) begin
    if (pkt_tx_val && pkt_tx_sop) begin
 
 
        txdfifo_wstatus = `TXSTATUS_SOP;
        txdfifo_wstatus[`TXSTATUS_SOP] = 1'b1;
 
 
    end
    end
 
 
 
 
    // Write EOP marker to fifo.
    // Write EOP marker to fifo.
 
 
    if (pkt_tx_val) begin
    if (pkt_tx_val) begin
 
 
        if (pkt_tx_eop[0]) begin
        if (pkt_tx_eop) begin
            txdfifo_wstatus = `TXSTATUS_EOP0;
            txdfifo_wstatus[2:0] = pkt_tx_mod;
        end
            txdfifo_wstatus[`TXSTATUS_EOP] = 1'b1;
        else if (pkt_tx_eop[1]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP1;
 
        end
 
        else if (pkt_tx_eop[2]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP2;
 
        end
 
        else if (pkt_tx_eop[3]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP3;
 
        end
 
        else if (pkt_tx_eop[4]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP4;
 
        end
 
        else if (pkt_tx_eop[5]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP5;
 
        end
 
        else if (pkt_tx_eop[6]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP6;
 
        end
 
        else if (pkt_tx_eop[7]) begin
 
            txdfifo_wstatus = `TXSTATUS_EOP7;
 
        end
        end
 
 
    end
    end
 
 
 
 

powered by: WebSVN 2.1.0

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