HierarchyFilesModulesSignalsTasksFunctionsHelp

/******************************************************************************/ 
/*                                                                            */ 
/* 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.         */ 
/*                                                                            */ 
/******************************************************************************/ 
//  @(#)lengthlogic.v	1.1  4/7/92
//
[Up: SignDp ll]
module LengthLogic (Phi, Reset,
                    FpInst1,
                    FpLd,
                    FpOp,
                    RomToggleLength,
                    notAbortWB,
                    OprSNnotDB,
                    BuffSNnotDB,
                    U_SNnotDB,
                    DBnotSN,
                    MulLenSel);

input  Phi, Reset,
       FpInst1, FpLd, FpOp, RomToggleLength, notAbortWB;
output OprSNnotDB,
       U_SNnotDB,
       DBnotSN,
       BuffSNnotDB;
output [4:0]MulLenSel;

/* *************************************** */
/* Operand Length Logic                    */
/* *************************************** */
// MUX to FpInst if FpOp
//               else used FpInst from previous cycle  (original code)
// ME_FD1_B   crg1  (Phi, FpInst1, notOprSNnotDBL, );
// ME_MUX2B_B mlen  (FpOp, notOprSNnotDBL, FpInst1, notOprSNnotDB);

	// timing fix -- dhn 04/15/91 -- this will only work if FpLd is
	// always asserted 1 cycle after FpOp, never simultaneously
ME_FD1_B   crg1  (Phi, FpInst1, notOprSNnotDB, );
ME_INV_C   new0  (notOprSNnotDB, OprSNnotDB);

/* *************************************** */
/* Length Latch                            */
/* *************************************** */

ME_AND2    rmg3  (RomToggleLength, notAbortWB, LenFromnotLen);

ME_OR3     ell   (FpLd, LenFromnotLen, Reset, Enable);
ME_NOR2    cllr  (SNnotDB, Reset, notResetSNnotDB);
ME_NMUX2B  lm    (FpLd, notResetSNnotDB, OprSNnotDB, notMuxedLength);

ME_NMUX2B  llm   (Enable, DBnotSNb, notMuxedLength, U_SNnotDB);
ME_INVA    lli   (U_SNnotDB, U_DBnotSN);
ME_FD1_B   llf   (Phi, U_SNnotDB, SNnotDB, DBnotSNb);
ME_FD1_B   lif   (Phi, U_DBnotSN, DBnotSN, );
ME_FD1_B   lig   (Phi, U_DBnotSN, DBnotSNa, ); // goes only to
ME_INV_C   llb   (DBnotSNa, BuffSNnotDB);      // High drive version

ME_FD1_B   llf0  (Phi, U_SNnotDB, MulLenSel[0], );
ME_FD1_B   llf1  (Phi, U_SNnotDB, MulLenSel[1], );
ME_FD1_B   llf2  (Phi, U_SNnotDB, MulLenSel[2], );
ME_FD1_B   llf3  (Phi, U_SNnotDB, MulLenSel[3], );
ME_FD1_B   llf4  (Phi, U_SNnotDB, MulLenSel[4], );

endmodule
HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Thu Aug 19 11:57:41 1999
From: ../../../sparc_v8/ssparc/fpu/fp_ctl/rtl/lengthlogic.v

Verilog converted to html by v2html 5.0 (written by Costas Calamvokis).Help