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

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [branches/] [clos_opt/] [common/] [src/] [ctree.v] - Blame information for rev 63

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 wsong0210
/*
2
 Asynchronous SDM NoC
3
 (C)2011 Wei Song
4
 Advanced Processor Technologies Group
5
 Computer Science, the Univ. of Manchester, UK
6
 
7
 Authors:
8
 Wei Song     wsong83@gmail.com
9
 
10
 License: LGPL 3.0 or later
11
 
12
 C-element tree, usually for common ack generation.
13
 *** SystemVerilog is used ***
14
 
15
 History:
16
 17/04/2011  Initial version. <wsong83@gmail.com>
17
 23/05/2011  Clean up for opensource. <wsong83@gmail.com>
18
 
19
*/
20
 
21
module ctree (/*AUTOARG*/
22
   // Outputs
23
   co,
24
   // Inputs
25
   ci
26
   );
27
 
28
   parameter DW = 2;            // the total number of leaves of the C-element tree
29
 
30
   input [DW-1:0] ci;            // all input leaves
31
   output         co;           // the combined output
32
 
33
   wire [2*DW-2:0] dat;
34
   genvar          i;
35
 
36
   assign dat[DW-1:0] = ci;
37
 
38
   generate for (i=0; i<DW-1; i=i+1) begin:AT
39
       c2 CT (.a0(dat[i*2]), .a1(dat[i*2+1]), .q(dat[i+DW]));
40
   end endgenerate
41
 
42
   assign co = dat[2*DW-2];
43
 
44
endmodule // ctree
45
 

powered by: WebSVN 2.1.0

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