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

Subversion Repositories turbo8051

[/] [turbo8051/] [trunk/] [rtl/] [gmac/] [top/] [g_mac_top.v] - Diff between revs 39 and 50

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

Rev 39 Rev 50
Line 57... Line 57...
                    app_clk,
                    app_clk,
 
 
                    // Application RX FIFO Interface
                    // Application RX FIFO Interface
                    app_txfifo_wren_i,
                    app_txfifo_wren_i,
                    app_txfifo_wrdata_i,
                    app_txfifo_wrdata_i,
 
                    app_txfifo_addr,
                    app_txfifo_full_o,
                    app_txfifo_full_o,
                    app_txfifo_afull_o,
                    app_txfifo_afull_o,
                    app_txfifo_space_o,
                    app_txfifo_space_o,
 
 
                    // Application TX FIFO Interface
                    // Application TX FIFO Interface
                    app_rxfifo_rden_i,
                    app_rxfifo_rden_i,
                    app_rxfifo_empty_o,
                    app_rxfifo_empty_o,
                    app_rxfifo_aempty_o,
                    app_rxfifo_aempty_o,
                    app_rxfifo_cnt_o,
                    app_rxfifo_cnt_o,
                    app_rxfifo_rdata_o,
                    app_rxfifo_rdata_o,
 
                    app_rxfifo_addr,
 
 
 
                    app_rx_desc_req     ,
 
                    app_rx_desc_ack     ,
 
                    app_rx_desc_discard ,
 
                    app_rx_desc_data    ,
 
 
                    // Conntrol Bus Sync with Application Clock
                    // Conntrol Bus Sync with Application Clock
                    reg_cs,
                    reg_cs,
                    reg_wr,
                    reg_wr,
                    reg_addr,
                    reg_addr,
Line 99... Line 106...
 
 
                    //MDIO interface
                    //MDIO interface
                    mdio_clk,
                    mdio_clk,
                    mdio_in,
                    mdio_in,
                    mdio_out_en,
                    mdio_out_en,
                    mdio_out
                    mdio_out,
 
 
 
            // QCounter
 
                    rx_buf_qbase_addr,
 
                    tx_buf_qbase_addr,
 
 
 
                    tx_qcnt_inc,
 
                    tx_qcnt_dec,
 
                    rx_qcnt_inc,
 
                    rx_qcnt_dec,
 
 
 
                    tx_qcnt,
 
                    rx_qcnt
 
 
       );
       );
 
 
parameter W  = 8'd9;
parameter W  = 8'd9;
parameter DP = 8'd32;
parameter DP = 8'd32;
parameter AW = (DP == 2)   ? 1 :
parameter AW = (DP == 2)   ? 1 :
Line 133... Line 153...
 
 
 
 
// Application RX FIFO Interface
// Application RX FIFO Interface
input                    app_txfifo_wren_i;
input                    app_txfifo_wren_i;
input  [8:0]             app_txfifo_wrdata_i;
input  [8:0]             app_txfifo_wrdata_i;
 
output [15:0]            app_txfifo_addr;
 
 
output                   app_txfifo_full_o;
output                   app_txfifo_full_o;
output                   app_txfifo_afull_o;
output                   app_txfifo_afull_o;
output [AW:0]            app_txfifo_space_o;
output [AW:0]            app_txfifo_space_o;
 
 
// Application TX FIFO Interface
// Application TX FIFO Interface
input                    app_rxfifo_rden_i;
input                    app_rxfifo_rden_i;
output                   app_rxfifo_empty_o;
output                   app_rxfifo_empty_o;
output                   app_rxfifo_aempty_o;
output                   app_rxfifo_aempty_o;
output [AW:0]            app_rxfifo_cnt_o;
output [AW:0]            app_rxfifo_cnt_o;
output [8:0]             app_rxfifo_rdata_o;
output [8:0]             app_rxfifo_rdata_o;
 
output [15:0]            app_rxfifo_addr;
 
 
 
// descriptor interface
 
output                   app_rx_desc_req     ; // descriptor request
 
input                    app_rx_desc_ack     ; // descriptor ack
 
output                   app_rx_desc_discard ; // descriptor discard
 
output [31:0]            app_rx_desc_data    ; // descriptor data
 
 
// Conntrol Bus Sync with Application Clock
// Conntrol Bus Sync with Application Clock
//---------------------------------
//---------------------------------
// Reg Bus Interface Signal
// Reg Bus Interface Signal
//---------------------------------
//---------------------------------
Line 184... Line 213...
  input        mdio_clk;
  input        mdio_clk;
  input        mdio_in;
  input        mdio_in;
  output       mdio_out_en;
  output       mdio_out_en;
  output       mdio_out;
  output       mdio_out;
 
 
 
//--------------------------------------
 
// QCounter, Better to move to seperate global reg block
 
//-------------------------------------
 
output  [9:0]  rx_buf_qbase_addr; // Rx QBase Address
 
output  [9:0]  tx_buf_qbase_addr; // TX QBase Address
 
 
 
input          tx_qcnt_inc;       // Tx QCounter Increment indication
 
input          tx_qcnt_dec;       // Tx QCounter Decrement indication
 
input          rx_qcnt_inc;       // Rx QCounter Increment indication
 
input          rx_qcnt_dec;       // Rx QCounter Decrement indication
 
 
 
output [3:0]   tx_qcnt    ;
 
output [3:0]   rx_qcnt    ;
 
 
//---------------------
//---------------------
// RX FIFO Interface Signal
// RX FIFO Interface Signal
  wire         clr_rx_error_from_rx_fsm_o;
  wire         clr_rx_error_from_rx_fsm_o;
  wire         rx_fifo_full_i;
  wire         rx_fifo_full_i;
  wire         rx_fifo_wr_o;
  wire         rx_fifo_wr_o;
Line 209... Line 252...
  wire [AW:0]  tx_fifo_aval;
  wire [AW:0]  tx_fifo_aval;
 
 
  wire [47:0]   cf_mac_sa;
  wire [47:0]   cf_mac_sa;
  wire [31:0]   cfg_ip_sa;
  wire [31:0]   cfg_ip_sa;
  wire [31:0]   cfg_mac_filter;
  wire [31:0]   cfg_mac_filter;
 
  wire [3:0]    tx_buf_base_addr;
 
  wire [3:0]    rx_buf_base_addr;
 
  wire [11:0]   g_rx_pkt_len;
 
  wire [15:0]   pkt_status;
 
  wire          app_rxfifo_empty;
 
  wire          g_rx_block_rxrd;
 
 
 
assign app_rxfifo_empty_o = app_rxfifo_empty | g_rx_block_rxrd;
 
g_dpath_ctrl m_g_dpath_ctrl (
 
           .rst_n               ( s_reset_n             ),
 
           .clk                 ( app_clk               ),
 
 
 
           .rx_buf_base_addr    (rx_buf_base_addr       ),
 
           .tx_buf_base_addr    (tx_buf_base_addr       ),
 
 
 
    // gmac core to memory write interface
 
           .g_rx_mem_rd         ( app_rxfifo_rden_i      ),
 
           .g_rx_mem_eop        ( app_rxfifo_rdata_o[8]  ),
 
           .g_rx_mem_addr       ( app_rxfifo_addr        ),
 
           .g_rx_block_rxrd     ( g_rx_block_rxrd        ),
 
 
 
       // descr handshake    
 
           .g_rx_desc_req       (app_rx_desc_req         ),
 
           .g_rx_desc_discard   (app_rx_desc_discard     ),
 
           .g_rx_desc_data      (app_rx_desc_data        ),
 
           .g_rx_desc_ack       (app_rx_desc_ack         ),
 
 
 
 
 
           .g_rx_pkt_done       (g_rx_pkt_done           ),
 
           .g_rx_pkt_len        (g_rx_pkt_len            ),
 
           .g_rx_pkt_status     (g_rx_pkt_status         ),
 
           .g_rx_pkt_drop       (g_rx_pkt_drop           )
 
 
 
 
 
      );
 
 
 
 
g_eth_parser u_eth_parser (
g_eth_parser u_eth_parser (
                    .s_reset_n        (app_reset_n),
                    .s_reset_n        (app_reset_n),
                    .app_clk          (app_clk),
                    .app_clk          (app_clk),
 
 
               // Configuration
               // Configuration
                    .cfg_filters      (cfg_filters),
                    .cfg_filters      (cfg_mac_filter),
                    .cfg_mac_sa       (cf_mac_sa),
                    .cfg_mac_sa       (cf_mac_sa),
                    .cfg_ip_sa        (cfg_ip_sa),
                    .cfg_ip_sa        (cfg_ip_sa),
 
 
               // Input Control Information
               // Input Control Information
                    .eop               (app_rxfifo_rdata_o[8]),
                    .eop               (app_rxfifo_rdata_o[8]),
                    .dval              (app_rxfifo_rden_i),
                    .dval              (app_rxfifo_rden_i),
                    .data              (app_rxfifo_rdata_o[7:0]),
                    .data              (app_rxfifo_rdata_o[7:0]),
 
 
                // output status 
                // output status 
                    .pkt_done          (),
                    .pkt_done          (g_rx_pkt_done    ),
                    .pkt_len           (),
                    .pkt_len           (g_rx_pkt_len     ),
                    .pkt_status        (),
                    .pkt_status        (g_rx_pkt_status  ),
                    .pkt_drop_ind      (),
                    .pkt_drop_ind      (g_rx_pkt_drop    ),
                    .pkt_drop_reason   ()
                    .pkt_drop_reason   ()
               );
               );
 
 
 
 
 
 
Line 300... Line 378...
                    .mdio_out_en             (mdio_out_en) ,
                    .mdio_out_en             (mdio_out_en) ,
                    .mdio_out                (mdio_out),
                    .mdio_out                (mdio_out),
 
 
                    .cf_mac_sa               (cf_mac_sa),
                    .cf_mac_sa               (cf_mac_sa),
                    .cfg_ip_sa               (cfg_ip_sa),
                    .cfg_ip_sa               (cfg_ip_sa),
                    .cfg_mac_filter          (cfg_mac_filter)
                    .cfg_mac_filter          (cfg_mac_filter),
 
 
 
                    .rx_buf_base_addr        (rx_buf_base_addr),
 
                    .tx_buf_base_addr        (tx_buf_base_addr),
 
 
 
                    .rx_buf_qbase_addr       (rx_buf_qbase_addr),
 
                    .tx_buf_qbase_addr       (tx_buf_qbase_addr),
 
 
 
                    .tx_qcnt_inc             (tx_qcnt_inc),
 
                    .tx_qcnt_dec             (tx_qcnt_dec),
 
                    .tx_qcnt                 (tx_qcnt),
 
 
 
                    .rx_qcnt_inc             (rx_qcnt_inc),
 
                    .rx_qcnt_dec             (rx_qcnt_dec),
 
                    .rx_qcnt                 (rx_qcnt)
 
 
       );
       );
 
 
assign tx_fifo_rdy = (tx_fifo_aval > 8) ; // Dinesh-A Change it to config
assign tx_fifo_rdy = (tx_fifo_aval > 8) ; // Dinesh-A Change it to config
 
 
Line 336... Line 428...
                   .wr_total_free_space      (),
                   .wr_total_free_space      (),
 
 
                   .rd_clk                   (app_clk),
                   .rd_clk                   (app_clk),
                   .rd_reset_n               (app_reset_n),
                   .rd_reset_n               (app_reset_n),
                   .rd_en                    (app_rxfifo_rden_i),
                   .rd_en                    (app_rxfifo_rden_i),
                   .empty                    (app_rxfifo_empty_o),  // sync'ed to rd_clk
                   .empty                    (app_rxfifo_empty),  // sync'ed to rd_clk
                   .aempty                   (app_rxfifo_aempty_o), // sync'ed to rd_clk
                   .aempty                   (app_rxfifo_aempty_o), // sync'ed to rd_clk
                   .rd_total_aval            (app_rxfifo_cnt_o),
                   .rd_total_aval            (app_rxfifo_cnt_o),
                   .rd_data                  (app_rxfifo_rdata_o)
                   .rd_data                  (app_rxfifo_rdata_o)
                   );
                   );
 
 

powered by: WebSVN 2.1.0

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