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/] [tree_noc_top.sv] - Diff between revs 54 and 56

Show entire file | Details | Blame | View Log

Rev 54 Rev 56
Line 11... Line 11...
    Tree
    Tree
 
 
 ***************************************/
 ***************************************/
 
 
 
 
module  tree_noc_top
module  tree_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 54... Line 55...
        endfunction
        endfunction
 
 
        localparam
        localparam
                PV = V * MAX_P,
                PV = V * MAX_P,
                PFw = MAX_P * Fw,
                PFw = MAX_P * Fw,
                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 84... Line 83...
        assign current_pos_addr [ROOT_ID] = {LKw{1'b0}};
        assign current_pos_addr [ROOT_ID] = {LKw{1'b0}};
        assign current_r_addr[ROOT_ID] = {current_layer_addr [ROOT_ID],current_pos_addr[ROOT_ID]};
        assign current_r_addr[ROOT_ID] = {current_layer_addr [ROOT_ID],current_pos_addr[ROOT_ID]};
 
 
 
 
        router_top # (
        router_top # (
 
                .NOC_ID(NOC_ID),
                        .P(K)
                        .P(K)
                )
                )
                root_router
                root_router
                (
                (
                        .current_r_id    (ROOT_ID),
                        .current_r_id    (ROOT_ID),
Line 109... Line 109...
                        localparam NPOS1 = powi(K,level); // number of routers in this level
                        localparam NPOS1 = powi(K,level); // number of routers in this level
                        localparam NRATTOP1 = sum_powi ( K,level); // number of routers at top levels : from root until last level
                        localparam NRATTOP1 = sum_powi ( K,level); // number of routers at top levels : from root until last level
                        for( pos=0; pos
                        for( pos=0; pos
                localparam RID = NRATTOP1+pos;
                localparam RID = NRATTOP1+pos;
                                router_top # (
                                router_top # (
 
                                        .NOC_ID(NOC_ID),
                                                .P(K+1)// leaves have K+1 port number
                                                .P(K+1)// leaves have K+1 port number
                                        )
                                        )
                                        the_router
                                        the_router
                                        (
                                        (
                                                .current_r_id    (RID),
                                                .current_r_id    (RID),

powered by: WebSVN 2.1.0

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