OpenCores
URL https://opencores.org/ocsvn/async_sdm_noc/async_sdm_noc/trunk

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [branches/] [init/] [vc/] [src/] [router.v] - Diff between revs 42 and 45

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

Rev 42 Rev 45
Line 25... Line 25...
   eovc, lovc, soca, woca, noca, eoca, loca,
   eovc, lovc, soca, woca, noca, eoca, loca,
   // Inputs
   // Inputs
   si0, si1, si2, si3, wi0, wi1, wi2, wi3, ni0, ni1, ni2, ni3, ei0,
   si0, si1, si2, si3, wi0, wi1, wi2, wi3, ni0, ni1, ni2, ni3, ei0,
   ei1, ei2, ei3, li0, li1, li2, li3, sift, wift, nift, eift, lift,
   ei1, ei2, ei3, li0, li1, li2, li3, sift, wift, nift, eift, lift,
   sivc, wivc, nivc, eivc, livc, sica, wica, nica, eica, lica, soa,
   sivc, wivc, nivc, eivc, livc, sica, wica, nica, eica, lica, soa,
   woa, noa, eoa, loa, soc, woc, noc, eoc, loc, addrx, addry, rstn
   woa, noa, eoa, loa, soc, woc, noc, eoc, loc, addrx, addry, rst_n
   );
   );
 
 
   parameter VCN = 2;           // number of VCs per direction
   parameter VCN = 2;           // number of VCs per direction
   parameter DW = 32;           // data width of an input port
   parameter DW = 32;           // data width of an input port
   parameter PD = 1;            // the depth of a input VC buffer
   parameter PD = 1;            // the depth of a input VC buffer
Line 63... Line 63...
   output [VCN-1:0]   soca, woca, noca, eoca, loca;
   output [VCN-1:0]   soca, woca, noca, eoca, loca;
 
 
   // local address, in 1-of-4 format
   // local address, in 1-of-4 format
   input [7:0]         addrx, addry;
   input [7:0]         addrx, addry;
   // active-low reset
   // active-low reset
   input              rstn;
   input              rst_n;
 
 
   //----------------------------------
   //----------------------------------
   // input to crossbar
   // input to crossbar
   wire [VCN-1:0][SCN-1:0]     s2cb0, s2cb1, s2cb2, s2cb3;
   wire [VCN-1:0][SCN-1:0]     s2cb0, s2cb1, s2cb2, s2cb3;
   wire [VCN-1:0][SCN-1:0]     w2cb0, w2cb1, w2cb2, w2cb3;
   wire [VCN-1:0][SCN-1:0]     w2cb0, w2cb1, w2cb2, w2cb3;
Line 127... Line 127...
        .doa   ( s2cba   ),
        .doa   ( s2cba   ),
        .vcra  ( svcra   ),
        .vcra  ( svcra   ),
        .swrt  ( siswrt  ),
        .swrt  ( siswrt  ),
        .addrx ( addrx   ),
        .addrx ( addrx   ),
        .addry ( addry   ),
        .addry ( addry   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // west input buffer
   // west input buffer
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(1), .SN(2), .PD(PD), .FT(FT))
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(1), .SN(2), .PD(PD), .FT(FT))
   WIB (
   WIB (
Line 155... Line 155...
        .doa   ( w2cba   ),
        .doa   ( w2cba   ),
        .vcra  ( wvcra   ),
        .vcra  ( wvcra   ),
        .swrt  ( wiswrt  ),
        .swrt  ( wiswrt  ),
        .addrx ( addrx   ),
        .addrx ( addrx   ),
        .addry ( addry   ),
        .addry ( addry   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // north input buffer
   // north input buffer
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(2), .SN(4), .PD(PD), .FT(FT))
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(2), .SN(4), .PD(PD), .FT(FT))
   NIB (
   NIB (
Line 183... Line 183...
        .doa   ( n2cba   ),
        .doa   ( n2cba   ),
        .vcra  ( nvcra   ),
        .vcra  ( nvcra   ),
        .swrt  ( niswrt  ),
        .swrt  ( niswrt  ),
        .addrx ( addrx   ),
        .addrx ( addrx   ),
        .addry ( addry   ),
        .addry ( addry   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // east input buffer
   // east input buffer
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(3), .SN(2), .PD(PD), .FT(FT))
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(3), .SN(2), .PD(PD), .FT(FT))
   EIB (
   EIB (
Line 211... Line 211...
        .doa   ( e2cba   ),
        .doa   ( e2cba   ),
        .vcra  ( evcra   ),
        .vcra  ( evcra   ),
        .swrt  ( eiswrt  ),
        .swrt  ( eiswrt  ),
        .addrx ( addrx   ),
        .addrx ( addrx   ),
        .addry ( addry   ),
        .addry ( addry   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // local input buffer
   // local input buffer
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(4), .SN(4), .PD(PD), .FT(FT))
   inpbuf #(.DW(DW), .VCN(VCN), .DIR(4), .SN(4), .PD(PD), .FT(FT))
   LIB (
   LIB (
Line 239... Line 239...
        .doa   ( l2cba   ),
        .doa   ( l2cba   ),
        .vcra  ( lvcra   ),
        .vcra  ( lvcra   ),
        .swrt  ( liswrt  ),
        .swrt  ( liswrt  ),
        .addrx ( addrx   ),
        .addrx ( addrx   ),
        .addry ( addry   ),
        .addry ( addry   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // south output buffer
   // south output buffer
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   SOB (
   SOB (
Line 262... Line 262...
        .di3   ( cb2s3   ),
        .di3   ( cb2s3   ),
        .dit   ( cb2st   ),
        .dit   ( cb2st   ),
        .doa   ( soa     ),
        .doa   ( soa     ),
        .credit( soc     ),
        .credit( soc     ),
        .vcr   ( soswr   ),
        .vcr   ( soswr   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // west output buffer
   // west output buffer
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   WOB (
   WOB (
Line 285... Line 285...
        .di3   ( cb2w3   ),
        .di3   ( cb2w3   ),
        .dit   ( cb2wt   ),
        .dit   ( cb2wt   ),
        .doa   ( woa     ),
        .doa   ( woa     ),
        .credit( woc     ),
        .credit( woc     ),
        .vcr   ( woswr   ),
        .vcr   ( woswr   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // north output buffer
   // north output buffer
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   NOB (
   NOB (
Line 308... Line 308...
        .di3   ( cb2n3   ),
        .di3   ( cb2n3   ),
        .dit   ( cb2nt   ),
        .dit   ( cb2nt   ),
        .doa   ( noa     ),
        .doa   ( noa     ),
        .credit( noc     ),
        .credit( noc     ),
        .vcr   ( noswr   ),
        .vcr   ( noswr   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // east output buffer
   // east output buffer
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   EOB (
   EOB (
Line 331... Line 331...
        .di3   ( cb2e3   ),
        .di3   ( cb2e3   ),
        .dit   ( cb2et   ),
        .dit   ( cb2et   ),
        .doa   ( eoa     ),
        .doa   ( eoa     ),
        .credit( eoc     ),
        .credit( eoc     ),
        .vcr   ( eoswr   ),
        .vcr   ( eoswr   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // east output buffer
   // east output buffer
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   outpbuf #(.DW(DW), .VCN(VCN), .FT(FT), .FCPD(FCPD))
   LOB (
   LOB (
Line 354... Line 354...
        .di3   ( cb2l3   ),
        .di3   ( cb2l3   ),
        .dit   ( cb2lt   ),
        .dit   ( cb2lt   ),
        .doa   ( loa     ),
        .doa   ( loa     ),
        .credit( loc     ),
        .credit( loc     ),
        .vcr   ( loswr   ),
        .vcr   ( loswr   ),
        .rstn  ( rstn    )
        .rst_n ( rst_n   )
        );
        );
 
 
   // VC allocator
   // VC allocator
   vcalloc #(.VCN(VCN))
   vcalloc #(.VCN(VCN))
   ALLOC (
   ALLOC (
Line 390... Line 390...
          .sosa    ( soswa   ),
          .sosa    ( soswa   ),
          .wosa    ( woswa   ),
          .wosa    ( woswa   ),
          .nosa    ( noswa   ),
          .nosa    ( noswa   ),
          .eosa    ( eoswa   ),
          .eosa    ( eoswa   ),
          .losa    ( loswa   ),
          .losa    ( loswa   ),
          .rstn    ( rstn    )
          .rst_n   ( rst_n   )
          );
          );
 
 
   // crossbar
   // crossbar
   dcb_vc #(.DW(DW), .FT(FT), .VCN(VCN))
   dcb_vc #(.DW(DW), .FT(FT), .VCN(VCN))
   CB (
   CB (

powered by: WebSVN 2.1.0

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