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_genvar.v] - Diff between revs 54 and 56

Only display areas with differences | Details | Blame | View Log

Rev 54 Rev 56
 
 
/**************************************************************************
/**************************************************************************
**      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_genvar.v
**      File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing_genvar.v
**
**
**      Copyright (C) 2014-2021  Alireza Monemi
**      Copyright (C) 2014-2021  Alireza Monemi
**
**
**      This file is part of ProNoC 2.0.0
**      This file is part of ProNoC 2.1.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_genvar  #(
module Tcustom1Rcustom_conventional_routing_genvar  #(
        parameter RAw = 3,
        parameter RAw = 3,
        parameter EAw = 3,
        parameter EAw = 3,
        parameter DSTPw=4,
        parameter DSTPw=4,
        parameter SRC_E_ADDR=0
        parameter SRC_E_ADDR=0
)
)
(
(
        dest_e_addr,
        dest_e_addr,
        destport
        destport
);
);
 
 
        input   [EAw-1   :0] dest_e_addr;
        input   [EAw-1   :0] dest_e_addr;
        output reg [DSTPw-1 :0] destport;
        output reg [DSTPw-1 :0] destport;
 
 
 
 
        generate
        generate
 
 
        if(SRC_E_ADDR == 0) begin : SRC0
        if(SRC_E_ADDR == 0) begin : SRC0
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC0
        end//SRC0
 
 
        if(SRC_E_ADDR == 1) begin : SRC1
        if(SRC_E_ADDR == 1) begin : SRC1
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC1
        end//SRC1
 
 
        if(SRC_E_ADDR == 2) begin : SRC2
        if(SRC_E_ADDR == 2) begin : SRC2
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC2
        end//SRC2
 
 
        if(SRC_E_ADDR == 3) begin : SRC3
        if(SRC_E_ADDR == 3) begin : SRC3
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC3
        end//SRC3
 
 
        if(SRC_E_ADDR == 4) begin : SRC4
        if(SRC_E_ADDR == 4) begin : SRC4
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC4
        end//SRC4
 
 
        if(SRC_E_ADDR == 5) begin : SRC5
        if(SRC_E_ADDR == 5) begin : SRC5
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC5
        end//SRC5
 
 
        if(SRC_E_ADDR == 6) begin : SRC6
        if(SRC_E_ADDR == 6) begin : SRC6
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC6
        end//SRC6
 
 
        if(SRC_E_ADDR == 7) begin : SRC7
        if(SRC_E_ADDR == 7) begin : SRC7
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC7
        end//SRC7
 
 
        if(SRC_E_ADDR == 8) begin : SRC8
        if(SRC_E_ADDR == 8) begin : SRC8
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC8
        end//SRC8
 
 
        if(SRC_E_ADDR == 9) begin : SRC9
        if(SRC_E_ADDR == 9) begin : SRC9
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC9
        end//SRC9
 
 
        if(SRC_E_ADDR == 10) begin : SRC10
        if(SRC_E_ADDR == 10) begin : SRC10
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC10
        end//SRC10
 
 
        if(SRC_E_ADDR == 11) begin : SRC11
        if(SRC_E_ADDR == 11) begin : SRC11
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC11
        end//SRC11
 
 
        if(SRC_E_ADDR == 12) begin : SRC12
        if(SRC_E_ADDR == 12) begin : SRC12
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC12
        end//SRC12
 
 
        if(SRC_E_ADDR == 13) begin : SRC13
        if(SRC_E_ADDR == 13) begin : SRC13
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC13
        end//SRC13
 
 
        if(SRC_E_ADDR == 14) begin : SRC14
        if(SRC_E_ADDR == 14) begin : SRC14
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC14
        end//SRC14
 
 
        if(SRC_E_ADDR == 15) begin : SRC15
        if(SRC_E_ADDR == 15) begin : SRC15
                always@(*)begin
                always@(*)begin
                        destport= 0;
                        destport= 0;
                        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
                end
        end//SRC15
        end//SRC15
 
 
        endgenerate
        endgenerate
 
 
 
 
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

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