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

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [trunk/] [common/] [src/] [cell_lib.v] - Diff between revs 22 and 28

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

Rev 22 Rev 28
Line 77... Line 77...
   and U2 (q, m, a);
   and U2 (q, m, a);
 
 
endmodule
endmodule
 
 
// 2-input MUTEX cell, Nangate
// 2-input MUTEX cell, Nangate
module mutex ( a, b, qa, qb );  // !!! dont touch !!!
module mutex2 ( a, b, qa, qb ); // !!! dont touch !!!
 
 
   input a, b;                  // request inputs
   input a, b;                  // request inputs
   output qa, qb;               // grant outputs
   output qa, qb;               // grant outputs
 
 
   wire   qan, qbn;             // internal wires
   wire   qan, qbn;             // internal wires
Line 118... Line 118...
   input ntgnt;                 // the negative combined grant input
   input ntgnt;                 // the negative combined grant input
 
 
   wire  n1, n2;                // internal wires
   wire  n1, n2;                // internal wires
   wire [1:0] mgnt;              // outputs of the MUTEX
   wire [1:0] mgnt;              // outputs of the MUTEX
 
 
   mutex ME ( .a(req[0]), .b(req[1]), .qa(mgnt[0]), .qb(mgnt[1]) );
   mutex2 ME ( .a(req[0]), .b(req[1]), .qa(mgnt[0]), .qb(mgnt[1]) );
   c2n C0 ( .a(ntgnt), .b(n2), .q(ngnt[0]) );
   c2n C0 ( .a(ntgnt), .b(n2), .q(ngnt[0]) );
   c2n C1 ( .a(ntgnt), .b(n1), .q(ngnt[1]) );
   c2n C1 ( .a(ntgnt), .b(n1), .q(ngnt[1]) );
   nand U1 (treq, n1, n2);
   nand U1 (treq, n1, n2);
   nand U2 (n1, ngnt[0], mgnt[1]);
   nand U2 (n1, ngnt[0], mgnt[1]);
   nand U3 (n2, ngnt[1], mgnt[0]);
   nand U3 (n2, ngnt[1], mgnt[0]);

powered by: WebSVN 2.1.0

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