OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [rtl/] [src_noc/] [fattree_noc_top.sv] - Diff between revs 54 and 56

Show entire file | Details | Blame | View Log

Rev 54 Rev 56
Line 16... Line 16...
      most routers has 2K ports, excep the top level has only K
      most routers has 2K ports, excep the top level has only K
 
 
***************************************/
***************************************/
 
 
 
 
module  fattree_noc_top
module  fattree_noc_top #(
                import pronoc_pkg::*;
    parameter NOC_ID=0
        (
) (
                reset,
                reset,
                clk,
                clk,
                chan_in_all,
                chan_in_all,
                chan_out_all,
                chan_out_all,
                router_event
                router_event
        );
        );
 
 
 
     `NOC_CONF
 
 
        input   clk,reset;
        input   clk,reset;
        //Endpoints ports
        //Endpoints ports
        input   smartflit_chanel_t chan_in_all  [NE-1 : 0];
        input   smartflit_chanel_t chan_in_all  [NE-1 : 0];
        output  smartflit_chanel_t chan_out_all [NE-1 : 0];
        output  smartflit_chanel_t chan_out_all [NE-1 : 0];
Line 44... Line 45...
 
 
                localparam
                localparam
                        PV = V * MAX_P,
                        PV = V * MAX_P,
                        PFw = MAX_P * Fw,
                        PFw = MAX_P * Fw,
                        NRL= NE/K, //number of router in  each layer
                        NRL= NE/K, //number of router in  each layer
                        NEFw = NE * Fw,
 
                        NEV = NE * V,
 
                        CONG_ALw = CONGw * MAX_P,
                        CONG_ALw = CONGw * MAX_P,
                        PLKw = MAX_P * LKw,
                        PLKw = MAX_P * LKw,
                        PLw = MAX_P * Lw,
                        PLw = MAX_P * Lw,
                        PRAw = MAX_P * RAw; // {layer , Pos} width
                        PRAw = MAX_P * RAw; // {layer , Pos} width
 
 
Line 80... Line 79...
 
 
generate
generate
for( pos=0; pos
for( pos=0; pos
          localparam RID = pos;
          localparam RID = pos;
          router_top # (
          router_top # (
 
            .NOC_ID(NOC_ID),
               .P(K)
               .P(K)
      )
        ) the_router (
      the_router
 
      (
 
                .current_r_id    (RID),
                .current_r_id    (RID),
                .current_r_addr  (current_r_addr [RID]),
                .current_r_addr  (current_r_addr [RID]),
                .chan_in         (router_chan_in [RID][K-1 : 0]),
                .chan_in         (router_chan_in [RID][K-1 : 0]),
                .chan_out        (router_chan_out[RID][K-1 : 0]),
                .chan_out        (router_chan_out[RID][K-1 : 0]),
                .router_event    (router_event[RID][K-1 : 0]),
                .router_event    (router_event[RID][K-1 : 0]),
Line 101... Line 99...
for( level=1; level
for( level=1; level
   for( pos=0; pos
   for( pos=0; pos
    localparam RID = NRL*level+pos;
    localparam RID = NRL*level+pos;
 
 
        router_top # (
        router_top # (
 
        .NOC_ID(NOC_ID),
                        .P(2*K)
                        .P(2*K)
                )
    ) the_router (
                the_router
 
                (
 
                        .current_r_id    (RID),
                        .current_r_id    (RID),
                        .current_r_addr  (current_r_addr [RID]),
                        .current_r_addr  (current_r_addr [RID]),
                        .chan_in         (router_chan_in [RID]),
                        .chan_in         (router_chan_in [RID]),
                        .chan_out        (router_chan_out[RID]),
                        .chan_out        (router_chan_out[RID]),
                        .router_event    (router_event[RID]),
                        .router_event    (router_event[RID]),

powered by: WebSVN 2.1.0

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