/******************************************************************************/
/* */
/* Copyright (c) 1999 Sun Microsystems, Inc. All rights reserved. */
/* */
/* The contents of this file are subject to the current version of the Sun */
/* Community Source License, microSPARCII ("the License"). You may not use */
/* this file except in compliance with the License. You may obtain a copy */
/* of the License by searching for "Sun Community Source License" on the */
/* World Wide Web at http://www.sun.com. See the License for the rights, */
/* obligations, and limitations governing use of the contents of this file. */
/* */
/* Sun Microsystems, Inc. has intellectual property rights relating to the */
/* technology embodied in these files. In particular, and without limitation, */
/* these intellectual property rights may include one or more U.S. patents, */
/* foreign patents, or pending applications. */
/* */
/* Sun, Sun Microsystems, the Sun logo, all Sun-based trademarks and logos, */
/* Solaris, Java and all Java-based trademarks and logos are trademarks or */
/* registered trademarks of Sun Microsystems, Inc. in the United States and */
/* other countries. microSPARC is a trademark or registered trademark of */
/* SPARC International, Inc. All SPARC trademarks are used under license and */
/* are trademarks or registered trademarks of SPARC International, Inc. in */
/* the United States and other countries. Products bearing SPARC trademarks */
/* are based upon an architecture developed by Sun Microsystems, Inc. */
/* */
/******************************************************************************/
/***************************************************************************
****************************************************************************
***
*** Program File: @(#)sticky.v
***
****************************************************************************
****************************************************************************/
// @(#)sticky.v 1.2 4/9/92
//
// **************************************************************
// sticky -- 2 pass sticky-bit generator
// **************************************************************
module sticky(sticky, sum, passX1, fpm_clk);
output sticky
; // sticky output
input [27:0] sum
; // sum bits from array
input passX1
;
input fpm_clk
;
wire s28
, s28_term
;
// reduction-or or's all bits together
wire s51
= ( | sum[22:0]) | s28_term ; // corresponds to OR-ing
// sum[50:28] and sum[27:0]
wire s28_in
= ( | sum[27:23]) | s51 ;
assign s28_term = s28 & ~passX1; // clear s28 before passX2
ME_FD1 s28_reg (.q(s28), // valid in passX2
.d(s28_in),
.cp(fpm_clk)
);
ME_FD1 s51_reg (.q(sticky), // valid in passX3
.d(s51),
.cp(fpm_clk)
);
endmodule
| This page: |
Created: | Thu Aug 19 11:56:52 1999 |
| From: |
../../../sparc_v8/ssparc/fpu/fp_fpm/rtl/sticky.v
|