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 48 and 54

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

Rev 48 Rev 54
Line 1... Line 1...
// synthesis translate_off
`include "pronoc_def.v"
`timescale 1ns / 1ps
 
// synthesis translate_on
 
 
 
/**************************************
/**************************************
* Module: fattree
* Module: fattree
* Date:2019-01-01
* Date:2019-01-01
* Author: alireza
* Author: alireza
*
*
Line 22... Line 19...
 
 
 
 
module  fattree_noc_top
module  fattree_noc_top
                import pronoc_pkg::*;
                import pronoc_pkg::*;
        (
        (
 
 
                reset,
                reset,
                clk,
                clk,
                chan_in_all,
                chan_in_all,
                chan_out_all
                chan_out_all,
 
                router_event
        );
        );
 
 
 
 
        input   clk,reset;
        input   clk,reset;
        //local 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];
 
        //Events
 
        output  router_event_t  router_event [NR-1 : 0][MAX_P-1 : 0];
 
 
        //all routers port
        //all routers port
        smartflit_chanel_t    router_chan_in   [NR-1 :0][MAX_P-1 : 0];
        smartflit_chanel_t    router_chan_in   [NR-1 :0][MAX_P-1 : 0];
        smartflit_chanel_t    router_chan_out  [NR-1 :0][MAX_P-1 : 0];
        smartflit_chanel_t    router_chan_out  [NR-1 :0][MAX_P-1 : 0];
 
 
Line 80... Line 78...
 
 
 
 
 
 
generate
generate
for( pos=0; pos
for( pos=0; pos
 
          localparam RID = pos;
          router_top # (
          router_top # (
               .P(K)
               .P(K)
      )
      )
      the_router
      the_router
      (
      (
                .current_r_addr  (current_r_addr [pos]),
                .current_r_id    (RID),
                .chan_in         (router_chan_in [pos][K-1 : 0]),
                .current_r_addr  (current_r_addr [RID]),
                .chan_out        (router_chan_out[pos][K-1 : 0]),
                .chan_in         (router_chan_in [RID][K-1 : 0]),
 
                .chan_out        (router_chan_out[RID][K-1 : 0]),
 
                .router_event    (router_event[RID][K-1 : 0]),
                .clk             (clk            ),
                .clk             (clk            ),
                .reset           (reset          )
                .reset           (reset          )
      );
      );
 
 
 
 
end
end
 
 
//add leaves
//add leaves
 
 
for( level=1; level
for( level=1; level
   for( pos=0; pos
   for( pos=0; pos
 
    localparam RID = NRL*level+pos;
 
 
        router_top # (
        router_top # (
                        .P(2*K)
                        .P(2*K)
                )
                )
                the_router
                the_router
                (
                (
                        .current_r_addr  (current_r_addr [NRL*level+pos]),
                        .current_r_id    (RID),
                        .chan_in         (router_chan_in [NRL*level+pos]),
                        .current_r_addr  (current_r_addr [RID]),
                        .chan_out        (router_chan_out[NRL*level+pos]),
                        .chan_in         (router_chan_in [RID]),
 
                        .chan_out        (router_chan_out[RID]),
 
                        .router_event    (router_event[RID]),
                        .clk             (clk            ),
                        .clk             (clk            ),
                        .reset           (reset          )
                        .reset           (reset          )
                );
                );
 
 
    end
    end

powered by: WebSVN 2.1.0

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