URL
https://opencores.org/ocsvn/async_sdm_noc/async_sdm_noc/trunk
Subversion Repositories async_sdm_noc
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 19 to Rev 20
- ↔ Reverse comparison
Rev 19 → Rev 20
/async_sdm_noc/branches/common/script/tech.tcl
File deleted
/async_sdm_noc/branches/common/src/pipe4.v
File deleted
/async_sdm_noc/branches/common/src/ctree.v
File deleted
/async_sdm_noc/branches/common/src/tree_arb.v
File deleted
/async_sdm_noc/branches/common/src/dclos.v
File deleted
\ No newline at end of file
/async_sdm_noc/branches/common/src/cell_lib.v
File deleted
\ No newline at end of file
/async_sdm_noc/branches/common/src/mutex_arb.v
File deleted
/async_sdm_noc/branches/common/src/rcb.v
File deleted
/async_sdm_noc/branches/common/src/dcb_xy.v
File deleted
async_sdm_noc/branches/common/src/dcb_xy.v
Property changes :
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: async_sdm_noc/branches/common/src/mnma.v
===================================================================
--- async_sdm_noc/branches/common/src/mnma.v (revision 19)
+++ async_sdm_noc/branches/common/src/mnma.v (nonexistent)
@@ -1,92 +0,0 @@
-/*
- Asynchronous SDM NoC
- (C)2011 Wei Song
- Advanced Processor Technologies Group
- Computer Science, the Univ. of Manchester, UK
-
- Authors:
- Wei Song wsong83@gmail.com
-
- License: LGPL 3.0 or later
-
- M-N Match allocator
- *** SystemVerilog is used ***
-
- References
- Thomas E. Anderson, Susan S. Owicki, James B. Saxe and Charles P. Thacker, High-speed switch scheduling for local-area networks, ACM Transactions on Computer Systems, 1993(11), 319-352.
-
- For the detail structure, please refer to Section 6.3.1 of the thesis:
- Wei Song, Spatial parallelism in the routers of asynchronous on-chip networks, PhD thesis, the University of Manchester, 2011.
-
- History:
- 09/06/2010 Initial version.
- 08/03/2011 Tree arbiter cannot be used as the requests are not allowed to drop before ack.
- 24/05/2011 Clean up for opensource.
-
-*/
-
-module mnma(/*AUTOARG*/
- // Outputs
- cfg,
- // Inputs
- r
- );
- parameter N = 2; // number of input requests
- parameter M = 2; // number of resources
-
- input [N-1:0][M-1:0] r; // input requests
- output [M-1:0][N-1:0] cfg; // configuration to the crssbar
-
- wire [M-1:0][N-1:0] OPr;
- wire [M-1:0][N-1:0] OPg;
- wire [M-1:0][N-1:0][M-1:0] OPren;
- wire [N-1:0][M-1:0] IPr;
- wire [N-1:0][M-1:0] IPg;
-
- genvar i,j,k;
-
- //-------------------------------------
- // OP arbiters
- generate
- for(i=0; ik is settle
- end
- and AND_OPRen (OPr[i][j], r[j][i] ,(~|OPren[i][j]));
- assign cfg[i][j] = IPg[j][i];
- assign IPr[j][i] = OPg[i][j];
- end // block: CI
- end // block: CO
- endgenerate
-
-endmodule // mnma
-
-
Index: async_sdm_noc/branches/common/src/dcb.v
===================================================================
--- async_sdm_noc/branches/common/src/dcb.v (revision 19)
+++ async_sdm_noc/branches/common/src/dcb.v (nonexistent)
@@ -1,113 +0,0 @@
-/*
- Asynchronous SDM NoC
- (C)2011 Wei Song
- Advanced Processor Technologies Group
- Computer Science, the Univ. of Manchester, UK
-
- Authors:
- Wei Song wsong83@gmail.com
-
- License: LGPL 3.0 or later
-
- Data crossbar for wormhole and SDM routers.
- *** SystemVerilog is used ***
-
- History:
- 17/07/2010 Initial version.
- 23/05/2011 Clean up for opensource.
-
-*/
-
-// the router structure definitions
-`include "define.v"
-
-module dcb (/*AUTOARG*/
- // Outputs
- o0, o1, o2, o3, ia, o4,
- // Inputs
- i0, i1, i2, i3, oa, i4, cfg
- );
-
- parameter NN = 2; // number of input ports
- parameter MN = 3; // number of output ports
- parameter DW = 8; // data-width of a port
- parameter SCN = DW/2; // number of 1-of-4 sub-channels for one port
-
- input [NN-1:0][SCN-1:0] i0, i1, i2, i3; // input ports
- output [MN-1:0][SCN-1:0] o0, o1, o2, o3; // output ports
-
-`ifdef ENABLE_CHANNEL_SLICING
- output [NN-1:0][SCN-1:0] ia, o4; // eof and ack
- input [MN-1:0][SCN-1:0] oa, i4;
-`else
- output [NN-1:0] ia, o4; // eof and ack
- input [MN-1:0] oa, i4;
-`endif
-
- input [MN-1:0][NN-1:0] cfg; // crossbar configuration
-
- wire [MN-1:0][SCN-1:0][NN-1:0] dm0, dm1, dm2, dm3;
-
-`ifdef ENABLE_CHANNEL_SLICING
- wire [NN-1:0][SCN-1:0][MN-1:0] am, dm4;
-`else
- wire [NN-1:0][MN-1:0] am, dm4;
-`endif
-
- genvar i, j, k;
-
- generate
- for(i=0; i
- 05/11/2009 Speed up the arbiter.
- 24/05/2011 Clean up for opensource.
-
-*/
-
-module mrma (/*AUTOARG*/
- // Outputs
- ca, ra, cfg,
- // Inputs
- c, r, rst_n
- );
-
- // parameters
- parameter N = 2; // the number of requests/clients
- parameter M = 2; // the number of resources
-
- input [N-1:0] c; // requests/clients
- output [N-1:0] ca; // requests ack
-
- input [M-1:0] r; // resources
- output [M-1:0] ra; // resource ack
-
- output [M-1:0][N-1:0] cfg; // the generated configuration
- wire [N-1:0][M-1:0] scfg;
-
- wire [M-1:0][N-1:0] hs; // match results
- wire [M-1:0][N-1:0] blk; // blockage
- wire [N-1:0][M-1:0] cblk; // shuffled blockage
- wire [M-1:0] rblk; // resource blockage
- wire [N-1:0] cblk; // client blockage
- wire [N-1:0] cg, cm; // client requests
- wire [M-1:0] rg, rm; // resource requests
-
- input rst_n; // active low reset
-
- // generate variables
- genvar i, j;
-
-
- // input arbiters
- tree_arb #(N) CIArb (
- .req ( cm ),
- .gnt ( cg )
- );
-
- tree_arb #(M) RIArb (
- .req ( rm ),
- .gnt ( rg )
- );
-
- generate
- // tile matrix
- for (i=0; i