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

Subversion Repositories srdydrdy_lib

[/] [srdydrdy_lib/] [trunk/] [examples/] [bridge/] [rtl/] [port_macro.v] - Diff between revs 16 and 31

Show entire file | Details | Blame | View Log

Rev 16 Rev 31
Line 1... Line 1...
module port_macro
module port_macro
  #(parameter port_num = 0)
  #(parameter port_num = 0,
 
    parameter lpsz = 12,
 
    parameter lpdsz = 13)
  (input         clk,
  (input         clk,
   input         reset,
   input         reset,
 
 
   input [`PRW_SZ-1:0]   ri_data,                // To ring_tap of port_ring_tap.v
 
   output [`PRW_SZ-1:0]  ro_data,                // From ring_tap of port_ring_tap.v
 
   input [`NUM_PORTS-1:0] fli_data,              // To ring_tap of port_ring_tap.v
 
   /*AUTOINPUT*/
   /*AUTOINPUT*/
   // Beginning of automatic inputs (from unused autoinst inputs)
   // Beginning of automatic inputs (from unused autoinst inputs)
   input                fli_srdy,               // To ring_tap of port_ring_tap.v
   input                drf_drdy,               // To dealloc of deallocator.v
 
   input [`LL_PG_ASZ-1:0] f2d_data,             // To dealloc of deallocator.v
 
   input                f2d_srdy,               // To dealloc of deallocator.v
   input                gmii_rx_clk,            // To port_clocking of port_clocking.v, ...
   input                gmii_rx_clk,            // To port_clocking of port_clocking.v, ...
   input                gmii_rx_dv,             // To rx_gigmac of sd_rx_gigmac.v
   input                gmii_rx_dv,             // To rx_gigmac of sd_rx_gigmac.v
   input [7:0]           gmii_rxd,               // To rx_gigmac of sd_rx_gigmac.v
   input [7:0]           gmii_rxd,               // To rx_gigmac of sd_rx_gigmac.v
   input                p2f_drdy,               // To pkt_parse of pkt_parse.v
   input                lnp_drdy,               // To alloc of allocator.v
   input                rarb_ack,               // To ring_tap of port_ring_tap.v
   input                par_drdy,               // To alloc of allocator.v
   input                ri_srdy,                // To ring_tap of port_ring_tap.v
   input [`LL_PG_ASZ-1:0] parr_page,            // To alloc of allocator.v
   input                ro_drdy,                // To ring_tap of port_ring_tap.v
   input                parr_srdy,              // To alloc of allocator.v
 
   input                pbra_drdy,              // To alloc of allocator.v
 
   input                pbrd_drdy,              // To dealloc of deallocator.v
 
   input [`PFW_SZ-1:0]  pbrr_data,              // To dealloc of deallocator.v
 
   input                pbrr_srdy,              // To dealloc of deallocator.v
 
   input                pm2f_drdy,              // To pm2f_join of sd_ajoin2.v
 
   input                rlp_drdy,               // To dealloc of deallocator.v
 
   input [`LL_PG_ASZ:0] rlpr_data,              // To dealloc of deallocator.v
 
   input                rlpr_srdy,              // To dealloc of deallocator.v
   // End of automatics
   // End of automatics
 
   /*AUTOOUTPUT*/
   output               rarb_req,
   // Beginning of automatic outputs (from unused autoinst outputs)
   output               fli_drdy,               // From ring_tap of port_ring_tap.v
   output [`LL_PG_ASZ*2-1:0] drf_page_list,     // From dealloc of deallocator.v
 
   output               drf_srdy,               // From dealloc of deallocator.v
 
   output               f2d_drdy,               // From dealloc of deallocator.v
   output               gmii_tx_en,             // From tx_gmii of sd_tx_gigmac.v
   output               gmii_tx_en,             // From tx_gmii of sd_tx_gigmac.v
   output [7:0]          gmii_txd,               // From tx_gmii of sd_tx_gigmac.v
   output [7:0]          gmii_txd,               // From tx_gmii of sd_tx_gigmac.v
   output [`PAR_DATA_SZ-1:0] p2f_data,           // From pkt_parse of pkt_parse.v
   output [`LL_LNP_SZ-1:0] lnp_pnp,             // From alloc of allocator.v
   output               p2f_srdy,               // From pkt_parse of pkt_parse.v
   output               lnp_srdy,               // From alloc of allocator.v
   output               ri_drdy,                // From ring_tap of port_ring_tap.v
   output               par_srdy,               // From alloc of allocator.v
   output               ro_srdy                 // From ring_tap of port_ring_tap.v
   output               parr_drdy,              // From alloc of allocator.v
 
   output [`PBR_SZ-1:0] pbra_data,              // From alloc of allocator.v
 
   output               pbra_srdy,              // From alloc of allocator.v
 
   output [`PBR_SZ-1:0] pbrd_data,              // From dealloc of deallocator.v
 
   output               pbrd_srdy,              // From dealloc of deallocator.v
 
   output               pbrr_drdy,              // From dealloc of deallocator.v
 
   output [(`PAR_DATA_SZ)+(`LL_PG_ASZ*2)-1:0] pm2f_data,// From pm2f_join of sd_ajoin2.v
 
   output               pm2f_srdy,              // From pm2f_join of sd_ajoin2.v
 
   output [`LL_PG_ASZ-1:0] rlp_rd_page,         // From dealloc of deallocator.v
 
   output               rlp_srdy,               // From dealloc of deallocator.v
 
   output               rlpr_drdy              // From dealloc of deallocator.v
 
   // End of automatics
   );
   );
 
 
  wire [`RX_USG_SZ-1:0] rx_usage;
  wire [`RX_USG_SZ-1:0] rx_usage;
  wire [`TX_USG_SZ-1:0] tx_usage;
  wire [`TX_USG_SZ-1:0] tx_usage;
  wire [`PFW_SZ-1:0]     prx_data;               // From fifo_rx of sd_fifo_b.v
  wire [`PFW_SZ-1:0]     prx_data;               // From fifo_rx of sd_fifo_b.v
Line 36... Line 58...
  wire [1:0]             rxg_code;               // From rx_sync_fifo of sd_fifo_s.v
  wire [1:0]             rxg_code;               // From rx_sync_fifo of sd_fifo_s.v
  wire [7:0]             rxg_data;               // From rx_sync_fifo of sd_fifo_s.v
  wire [7:0]             rxg_data;               // From rx_sync_fifo of sd_fifo_s.v
  wire [`PFW_SZ-1:0]     ctx_data;               // From oflow of egr_oflow.v
  wire [`PFW_SZ-1:0]     ctx_data;               // From oflow of egr_oflow.v
  /*AUTOWIRE*/
  /*AUTOWIRE*/
  // Beginning of automatic wires (for undeclared instantiated-module outputs)
  // Beginning of automatic wires (for undeclared instantiated-module outputs)
 
  wire                  a2f_drdy;               // From pm2f_join of sd_ajoin2.v
 
  wire [`LL_PG_ASZ-1:0] a2f_end;                // From alloc of allocator.v
 
  wire                  a2f_srdy;               // From alloc of allocator.v
 
  wire [`LL_PG_ASZ-1:0] a2f_start;              // From alloc of allocator.v
  wire                  crx_abort;              // From con of concentrator.v
  wire                  crx_abort;              // From con of concentrator.v
  wire                  crx_commit;             // From con of concentrator.v
  wire                  crx_commit;             // From con of concentrator.v
  wire [`PFW_SZ-1:0]     crx_data;               // From con of concentrator.v
  wire [`PFW_SZ-1:0]     crx_data;               // From con of concentrator.v
  wire                  crx_drdy;               // From fifo_rx of sd_fifo_b.v
  wire                  crx_drdy;               // From alloc of allocator.v
  wire                  crx_srdy;               // From con of concentrator.v
  wire                  crx_srdy;               // From con of concentrator.v
  wire                  ctx_abort;              // From oflow of egr_oflow.v
 
  wire                  ctx_commit;             // From oflow of egr_oflow.v
 
  wire                  ctx_drdy;               // From fifo_tx of sd_fifo_b.v
 
  wire                  ctx_srdy;               // From oflow of egr_oflow.v
 
  wire                  gmii_rx_reset;          // From port_clocking of port_clocking.v
  wire                  gmii_rx_reset;          // From port_clocking of port_clocking.v
 
  wire [`PAR_DATA_SZ-1:0] p2f_data;             // From pkt_parse of pkt_parse.v
 
  wire                  p2f_drdy;               // From pm2f_join of sd_ajoin2.v
 
  wire                  p2f_srdy;               // From pkt_parse of pkt_parse.v
  wire [1:0]             pdo_code;               // From pkt_parse of pkt_parse.v
  wire [1:0]             pdo_code;               // From pkt_parse of pkt_parse.v
  wire [7:0]             pdo_data;               // From pkt_parse of pkt_parse.v
  wire [7:0]             pdo_data;               // From pkt_parse of pkt_parse.v
  wire                  pdo_drdy;               // From con of concentrator.v
  wire                  pdo_drdy;               // From con of concentrator.v
  wire                  pdo_srdy;               // From pkt_parse of pkt_parse.v
  wire                  pdo_srdy;               // From pkt_parse of pkt_parse.v
  wire                  prx_drdy;               // From ring_tap of port_ring_tap.v
 
  wire                  prx_srdy;               // From fifo_rx of sd_fifo_b.v
 
  wire                  ptx_drdy;               // From dst of distributor.v
  wire                  ptx_drdy;               // From dst of distributor.v
  wire                  ptx_srdy;               // From fifo_tx of sd_fifo_b.v
  wire                  ptx_srdy;               // From dealloc of deallocator.v
  wire                  rttx_drdy;              // From oflow of egr_oflow.v
 
  wire                  rttx_srdy;              // From ring_tap of port_ring_tap.v
 
  wire [1:0]             rxc_rxg_code;           // From rx_gigmac of sd_rx_gigmac.v
  wire [1:0]             rxc_rxg_code;           // From rx_gigmac of sd_rx_gigmac.v
  wire [7:0]             rxc_rxg_data;           // From rx_gigmac of sd_rx_gigmac.v
  wire [7:0]             rxc_rxg_data;           // From rx_gigmac of sd_rx_gigmac.v
  wire                  rxc_rxg_drdy;           // From rx_sync_fifo of sd_fifo_s.v
  wire                  rxc_rxg_drdy;           // From rx_sync_fifo of sd_fifo_s.v
  wire                  rxc_rxg_srdy;           // From rx_gigmac of sd_rx_gigmac.v
  wire                  rxc_rxg_srdy;           // From rx_gigmac of sd_rx_gigmac.v
  wire                  rxg_drdy;               // From pkt_parse of pkt_parse.v
  wire                  rxg_drdy;               // From pkt_parse of pkt_parse.v
Line 86... Line 107...
   .reset                       (gmii_rx_reset),
   .reset                       (gmii_rx_reset),
   .rxg_\(.*\)                  (rxc_rxg_\1[]),
   .rxg_\(.*\)                  (rxc_rxg_\1[]),
 );
 );
 */
 */
  sd_rx_gigmac rx_gigmac
  sd_rx_gigmac rx_gigmac
    (/*AUTOINST*/
    (
 
     .cfg_check_crc (1'b0),
 
     /*AUTOINST*/
     // Outputs
     // Outputs
     .rxg_srdy                          (rxc_rxg_srdy),          // Templated
     .rxg_srdy                          (rxc_rxg_srdy),          // Templated
     .rxg_code                          (rxc_rxg_code[1:0]),      // Templated
     .rxg_code                          (rxc_rxg_code[1:0]),      // Templated
     .rxg_data                          (rxc_rxg_data[7:0]),      // Templated
     .rxg_data                          (rxc_rxg_data[7:0]),      // Templated
     // Inputs
     // Inputs
Line 126... Line 149...
     .p_clk                             (clk),                   // Templated
     .p_clk                             (clk),                   // Templated
     .p_reset                           (reset),                 // Templated
     .p_reset                           (reset),                 // Templated
     .p_drdy                            (rxg_drdy));             // Templated
     .p_drdy                            (rxg_drdy));             // Templated
 
 
  pkt_parse #(port_num) pkt_parse
  pkt_parse #(port_num) pkt_parse
    (/*AUTOINST*/
    (
 
     /*AUTOINST*/
     // Outputs
     // Outputs
     .rxg_drdy                          (rxg_drdy),
     .rxg_drdy                          (rxg_drdy),
     .p2f_srdy                          (p2f_srdy),
     .p2f_srdy                          (p2f_srdy),
     .p2f_data                          (p2f_data[`PAR_DATA_SZ-1:0]),
     .p2f_data                          (p2f_data[`PAR_DATA_SZ-1:0]),
     .pdo_srdy                          (pdo_srdy),
     .pdo_srdy                          (pdo_srdy),
Line 165... Line 189...
     .c_data                            (pdo_data[7:0]),  // Templated
     .c_data                            (pdo_data[7:0]),  // Templated
     .c_code                            (pdo_code[1:0]),  // Templated
     .c_code                            (pdo_code[1:0]),  // Templated
     .c_srdy                            (pdo_srdy),              // Templated
     .c_srdy                            (pdo_srdy),              // Templated
     .p_drdy                            (crx_drdy));             // Templated
     .p_drdy                            (crx_drdy));             // Templated
 
 
  /* sd_fifo_b AUTO_TEMPLATE "fifo_\(.*\)"
/* allocator AUTO_TEMPLATE
   (
   (
    .p_abort  (1'b0),
 
    .p_commit (1'b0),
 
    .c_usage    (@_usage),
 
    .p_usage    (),
 
    .c_\(.*\)     (c@_\1),
 
    .p_\(.*\)    (p@_\1),
 
   );
   );
   */
   */
  sd_fifo_b #(`PFW_SZ, `RX_FIFO_DEPTH, 0, 1) fifo_rx
  allocator alloc
    (/*AUTOINST*/
 
     // Outputs
 
     .c_drdy                            (crx_drdy),              // Templated
 
     .p_srdy                            (prx_srdy),              // Templated
 
     .p_data                            (prx_data),              // Templated
 
     .p_usage                           (),                      // Templated
 
     .c_usage                           (rx_usage),              // Templated
 
     // Inputs
 
     .clk                               (clk),
 
     .reset                             (reset),
 
     .c_srdy                            (crx_srdy),              // Templated
 
     .c_commit                          (crx_commit),            // Templated
 
     .c_abort                           (crx_abort),             // Templated
 
     .c_data                            (crx_data),              // Templated
 
     .p_drdy                            (prx_drdy),              // Templated
 
     .p_commit                          (1'b0),                  // Templated
 
     .p_abort                           (1'b0));                         // Templated
 
 
 
  sd_fifo_b #(`PFW_SZ, `TX_FIFO_DEPTH, 0, 1) fifo_tx
 
    (/*AUTOINST*/
    (/*AUTOINST*/
     // Outputs
     // Outputs
     .c_drdy                            (ctx_drdy),              // Templated
     .crx_drdy                          (crx_drdy),
     .p_srdy                            (ptx_srdy),              // Templated
     .par_srdy                          (par_srdy),
     .p_data                            (ptx_data),              // Templated
     .parr_drdy                         (parr_drdy),
     .p_usage                           (),                      // Templated
     .lnp_srdy                          (lnp_srdy),
     .c_usage                           (tx_usage),              // Templated
     .lnp_pnp                           (lnp_pnp[`LL_LNP_SZ-1:0]),
 
     .pbra_data                         (pbra_data[`PBR_SZ-1:0]),
 
     .pbra_srdy                         (pbra_srdy),
 
     .a2f_start                         (a2f_start[`LL_PG_ASZ-1:0]),
 
     .a2f_end                           (a2f_end[`LL_PG_ASZ-1:0]),
 
     .a2f_srdy                          (a2f_srdy),
     // Inputs
     // Inputs
     .clk                               (clk),
     .clk                               (clk),
     .reset                             (reset),
     .reset                             (reset),
     .c_srdy                            (ctx_srdy),              // Templated
     .crx_abort                         (crx_abort),
     .c_commit                          (ctx_commit),            // Templated
     .crx_commit                        (crx_commit),
     .c_abort                           (ctx_abort),             // Templated
     .crx_data                          (crx_data[`PFW_SZ-1:0]),
     .c_data                            (ctx_data),              // Templated
     .crx_srdy                          (crx_srdy),
     .p_drdy                            (ptx_drdy),              // Templated
     .par_drdy                          (par_drdy),
     .p_commit                          (1'b0),                  // Templated
     .parr_srdy                         (parr_srdy),
     .p_abort                           (1'b0));                         // Templated
     .parr_page                         (parr_page[`LL_PG_ASZ-1:0]),
 
     .lnp_drdy                          (lnp_drdy),
 
     .pbra_drdy                         (pbra_drdy),
 
     .a2f_drdy                          (a2f_drdy));
 
 
/* port_ring_tap AUTO_TEMPLATE
/* sd_ajoin2 AUTO_TEMPLATE
 (
 (
    .ro_data                            (ro_data[`PRW_SZ-1:0]),
   .c2_data                     ({a2f_end,a2f_start}),
    .ri_data                            (ri_data[`PRW_SZ-1:0]),
   .c1_\(.*\)                   (p2f_\1[]),
    .prx_\(.*\)    (prx_\1),
   .c2_\(.*\)                   (a2f_\1[]),
    .ptx_\(.*\)    (rttx_\1),
   .p_\(.*\)                    (pm2f_\1[]),
  );
  );
 */
 */
  port_ring_tap #(port_num) ring_tap
  sd_ajoin2 #(.c1_width(`PAR_DATA_SZ), .c2_width(`LL_PG_ASZ*2)) pm2f_join
    (/*AUTOINST*/
    (/*AUTOINST*/
     // Outputs
     // Outputs
     .ri_drdy                           (ri_drdy),
     .c1_drdy                           (p2f_drdy),              // Templated
     .prx_drdy                          (prx_drdy),              // Templated
     .c2_drdy                           (a2f_drdy),              // Templated
     .ro_srdy                           (ro_srdy),
     .p_srdy                            (pm2f_srdy),             // Templated
     .ro_data                           (ro_data[`PRW_SZ-1:0]),   // Templated
     .p_data                            (pm2f_data[(`PAR_DATA_SZ)+(`LL_PG_ASZ*2)-1:0]), // Templated
     .ptx_srdy                          (rttx_srdy),             // Templated
 
     .ptx_data                          (rttx_data),             // Templated
 
     .fli_drdy                          (fli_drdy),
 
     .rarb_req                          (rarb_req),
 
     // Inputs
     // Inputs
     .clk                               (clk),
     .clk                               (clk),
     .reset                             (reset),
     .reset                             (reset),
     .ri_srdy                           (ri_srdy),
     .c1_srdy                           (p2f_srdy),              // Templated
     .ri_data                           (ri_data[`PRW_SZ-1:0]),   // Templated
     .c1_data                           (p2f_data[(`PAR_DATA_SZ)-1:0]), // Templated
     .prx_srdy                          (prx_srdy),              // Templated
     .c2_srdy                           (a2f_srdy),              // Templated
     .prx_data                          (prx_data),              // Templated
     .c2_data                           ({a2f_end,a2f_start}),   // Templated
     .ro_drdy                           (ro_drdy),
     .p_drdy                            (pm2f_drdy));             // Templated
     .ptx_drdy                          (rttx_drdy),             // Templated
 
     .fli_srdy                          (fli_srdy),
  deallocator dealloc
     .fli_data                          (fli_data[`NUM_PORTS-1:0]),
    (/*AUTOINST*/
     .rarb_ack                          (rarb_ack));
     // Outputs
 
     .f2d_drdy                          (f2d_drdy),
/* egr_oflow AUTO_TEMPLATE
     .rlp_srdy                          (rlp_srdy),
 (
     .rlp_rd_page                       (rlp_rd_page[`LL_PG_ASZ-1:0]),
    .c_\(.*\)    (rttx_\1[]),
     .rlpr_drdy                         (rlpr_drdy),
    .p_\(.*\)    (ctx_\1[]),
     .drf_srdy                          (drf_srdy),
  );
     .drf_page_list                     (drf_page_list[`LL_PG_ASZ*2-1:0]),
 */
     .pbrd_data                         (pbrd_data[`PBR_SZ-1:0]),
  egr_oflow oflow
     .pbrd_srdy                         (pbrd_srdy),
    (/*AUTOINST*/
     .pbrr_drdy                         (pbrr_drdy),
     // Outputs
     .ptx_srdy                          (ptx_srdy),
     .c_drdy                            (rttx_drdy),             // Templated
     .ptx_data                          (ptx_data[`PFW_SZ-1:0]),
     .p_srdy                            (ctx_srdy),              // Templated
 
     .p_data                            (ctx_data[`PFW_SZ-1:0]), // Templated
 
     .p_commit                          (ctx_commit),            // Templated
 
     .p_abort                           (ctx_abort),             // Templated
 
     // Inputs
     // Inputs
     .clk                               (clk),
     .clk                               (clk),
     .reset                             (reset),
     .reset                             (reset),
     .c_srdy                            (rttx_srdy),             // Templated
     .port_num                          (port_num[1:0]),
     .c_data                            (rttx_data[`PFW_SZ-1:0]), // Templated
     .f2d_srdy                          (f2d_srdy),
     .tx_usage                          (tx_usage[`TX_USG_SZ-1:0]),
     .f2d_data                          (f2d_data[`LL_PG_ASZ-1:0]),
     .p_drdy                            (ctx_drdy));             // Templated
     .rlp_drdy                          (rlp_drdy),
 
     .rlpr_srdy                         (rlpr_srdy),
 
     .rlpr_data                         (rlpr_data[`LL_PG_ASZ:0]),
 
     .drf_drdy                          (drf_drdy),
 
     .pbrd_drdy                         (pbrd_drdy),
 
     .pbrr_srdy                         (pbrr_srdy),
 
     .pbrr_data                         (pbrr_data[`PFW_SZ-1:0]),
 
     .ptx_drdy                          (ptx_drdy));
 
 
/* distributor AUTO_TEMPLATE
/* distributor AUTO_TEMPLATE
 (
 (
    .p_\(.*\)    (txg_\1[]),
    .p_\(.*\)    (txg_\1[]),
 );
 );

powered by: WebSVN 2.1.0

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