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_topolgy/] [custom1/] [Tcustom1Rcustom_conventional_routing.v] - Diff between revs 48 and 54

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 48 Rev 54
 
 
/**************************************************************************
/**************************************************************************
**      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
**      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
**      OVERWRITTEN AND LOST. Rename this file if you wish to do any modification.
**      OVERWRITTEN AND LOST. Rename this file if you wish to do any modification.
****************************************************************************/
****************************************************************************/
 
 
 
 
/**********************************************************************
/**********************************************************************
**      File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing.v
**      File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing.v
**
**
**      Copyright (C) 2014-2019  Alireza Monemi
**      Copyright (C) 2014-2021  Alireza Monemi
**
**
**      This file is part of ProNoC 1.9.1
**      This file is part of ProNoC 2.0.0
**
**
**      ProNoC ( stands for Prototype Network-on-chip)  is free software:
**      ProNoC ( stands for Prototype Network-on-chip)  is free software:
**      you can redistribute it and/or modify it under the terms of the GNU
**      you can redistribute it and/or modify it under the terms of the GNU
**      Lesser General Public License as published by the Free Software Foundation,
**      Lesser General Public License as published by the Free Software Foundation,
**      either version 2 of the License, or (at your option) any later version.
**      either version 2 of the License, or (at your option) any later version.
**
**
**      ProNoC is distributed in the hope that it will be useful, but WITHOUT
**      ProNoC is distributed in the hope that it will be useful, but WITHOUT
**      ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
**      ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
**      or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
**      or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
**      Public License for more details.
**      Public License for more details.
**
**
**      You should have received a copy of the GNU Lesser General Public
**      You should have received a copy of the GNU Lesser General Public
**      License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
**      License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
******************************************************************************/
******************************************************************************/
module Tcustom1Rcustom_conventional_routing  #(
module Tcustom1Rcustom_conventional_routing  #(
        parameter RAw = 3,
        parameter RAw = 3,
        parameter EAw = 3,
        parameter EAw = 3,
        parameter DSTPw=4
        parameter DSTPw=4
)
)
(
(
        dest_e_addr,
        dest_e_addr,
        src_e_addr,
        src_e_addr,
        destport
        destport
);
);
 
 
        input   [EAw-1   :0] dest_e_addr;
        input   [EAw-1   :0] dest_e_addr;
        input   [EAw-1   :0] src_e_addr;
        input   [EAw-1   :0] src_e_addr;
        output reg [DSTPw-1 :0] destport;
        output reg [DSTPw-1 :0] destport;
 
 
 
 
        always@(*)begin
        always@(*)begin
                destport=0;
                destport=0;
                case(src_e_addr) //source address of each individual NI is fixed. So this CASE will be optimized by the synthesizer for each endpoint. 
                case(src_e_addr) //source address of each individual NI is fixed. So this CASE will be optimized by the synthesizer for each endpoint. 
                0: begin
                0: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        1,2,3,7,10: begin
                        1,2,3,7,10: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        4,5,6,8,9,11,12,13,14,15: begin
                        4,5,6,8,9,11,12,13,14,15: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//0
                end//0
                1: begin
                1: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        0,4,7,8,9,10,12,15: begin
                        0,4,7,8,9,10,12,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2,3,5,6,11,13,14: begin
                        2,3,5,6,11,13,14: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//1
                end//1
                2: begin
                2: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        3,4,5,6,8,11,13,14,15: begin
                        3,4,5,6,8,11,13,14,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        0,1,7,9,10,12: begin
                        0,1,7,9,10,12: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//2
                end//2
                3: begin
                3: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        2,10,11,12: begin
                        2,10,11,12: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        0,1,4,5,6,7,8,9,13,14,15: begin
                        0,1,4,5,6,7,8,9,13,14,15: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//3
                end//3
                4: begin
                4: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        1,6,7,8,10,13: begin
                        1,6,7,8,10,13: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        3: begin
                        3: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        0,2,5,9,11,12,14,15: begin
                        0,2,5,9,11,12,14,15: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//4
                end//4
                5: begin
                5: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        1,7,8,10,11,12,15: begin
                        1,7,8,10,11,12,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2,3,4,6,13,14: begin
                        2,3,4,6,13,14: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        0,9: begin
                        0,9: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//5
                end//5
                6: begin
                6: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        3,4,13: begin
                        3,4,13: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//6
                end//6
                7: begin
                7: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        0,10: begin
                        0,10: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        1: begin
                        1: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//7
                end//7
                8: begin
                8: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        0,4,5,9,10,12: begin
                        0,4,5,9,10,12: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2,3,6,11,13,14,15: begin
                        2,3,6,11,13,14,15: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        1,7: begin
                        1,7: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//8
                end//8
                9: begin
                9: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        1,7,8,10,12: begin
                        1,7,8,10,12: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2,3,4,5,6,11,13,14,15: begin
                        2,3,4,5,6,11,13,14,15: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        0: begin
                        0: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//9
                end//9
                10: begin
                10: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        1,7: begin
                        1,7: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        0: begin
                        0: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//10
                end//10
                11: begin
                11: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        0,1,4,5,6,7,8,9,10,12,13,14,15: begin
                        0,1,4,5,6,7,8,9,10,12,13,14,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2: begin
                        2: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        3: begin
                        3: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//11
                end//11
                12: begin
                12: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        2,3,4,5,6,11,13,14,15: begin
                        2,3,4,5,6,11,13,14,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        0,9: begin
                        0,9: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        1,7,10: begin
                        1,7,10: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
                        8: begin
                        8: begin
                                destport= 4;
                                destport= 4;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//12
                end//12
                13: begin
                13: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        3,4: begin
                        3,4: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        6: begin
                        6: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
                                destport= 4;
                                destport= 4;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//13
                end//13
                14: begin
                14: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        5,9,12,15: begin
                        5,9,12,15: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        3,4,6,13: begin
                        3,4,6,13: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        0,1,7,8,10: begin
                        0,1,7,8,10: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
                        2,11: begin
                        2,11: begin
                                destport= 4;
                                destport= 4;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//14
                end//14
                15: begin
                15: begin
                        case(dest_e_addr)
                        case(dest_e_addr)
                        1,7,8,10,12: begin
                        1,7,8,10,12: begin
                                destport= 1;
                                destport= 1;
                        end
                        end
                        2,11,14: begin
                        2,11,14: begin
                                destport= 2;
                                destport= 2;
                        end
                        end
                        3,4,6,13: begin
                        3,4,6,13: begin
                                destport= 3;
                                destport= 3;
                        end
                        end
                        0,5,9: begin
                        0,5,9: begin
                                destport= 4;
                                destport= 4;
                        end
                        end
 
 
                        default: begin
                        default: begin
                                destport= {DSTPw{1'bX}};
                                destport= {DSTPw{1'bX}};
                        end
                        end
                        endcase
                        endcase
                end//15
                end//15
 
 
                default: begin
                default: begin
                        destport= {DSTPw{1'bX}};
                        destport= {DSTPw{1'bX}};
                end
                end
                endcase
                endcase
        end
        end
 
 
 
 
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

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