⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umc18_neg.v

📁 Multiple Numbers Calculator (source code and LAB notes)
💻 V
📖 第 1 页 / 共 5 页
字号:
  or  I11 (CO, t5, t6, t7);  specify    // delay parameters    specparam      tplh$A$S = 1.0,      tphl$A$S = 1.0,      tplh$B$S = 1.0,      tphl$B$S = 1.0,      tplh$C$S = 1.0,      tphl$C$S = 1.0,      tplh$D$S = 1.0,      tphl$D$S = 1.0,      tplh$ICI$S = 1.0,      tphl$ICI$S = 1.0,      tplh$A$CO = 1.0,      tphl$A$CO = 1.0,      tplh$B$CO = 1.0,      tphl$B$CO = 1.0,      tplh$C$CO = 1.0,      tphl$C$CO = 1.0,      tplh$D$CO = 1.0,      tphl$D$CO = 1.0,      tplh$ICI$CO = 1.0,      tphl$ICI$CO = 1.0,      tplh$A$ICO = 1.0,      tphl$A$ICO = 1.0,      tplh$B$ICO = 1.0,      tphl$B$ICO = 1.0,      tplh$C$ICO = 1.0,      tphl$C$ICO = 1.0,      tplh$D$ICO = 1.0,      tphl$D$ICO = 1.0,      tplh$ICI$ICO = 1.0,      tphl$ICI$ICO = 1.0;    // path delays     if (B == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) 	(A *> S) = (tplh$A$S, tphl$A$S);     if (!(B == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) )	(A *> S) = (tplh$A$S, tphl$A$S);     if (A == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) 	(B *> S) = (tplh$B$S, tphl$B$S);     if (!(A == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) )	(B *> S) = (tplh$B$S, tphl$B$S);     if (A == 1'b1 ^ B == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1)	(C *> S) = (tplh$C$S, tphl$C$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1))	(C *> S) = (tplh$C$S, tphl$C$S);     if (A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ ICI == 1'b1)	(D *> S) = (tplh$D$S, tphl$D$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ ICI == 1'b1))	(D *> S) = (tplh$D$S, tphl$D$S);     if (A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ D == 1'b1)	(ICI *> S) = (tplh$ICI$S, tphl$ICI$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ D == 1'b1))	(ICI *> S) = (tplh$ICI$S, tphl$ICI$S);     if (B == 1'b1)	(A  *> ICO) = (tplh$A$ICO,  tphl$A$ICO);     if (B == 1'b0)	(A  *> ICO) = (tplh$A$ICO,  tphl$A$ICO);     if (A == 1'b1)	(B  *> ICO) = (tplh$B$ICO,  tphl$B$ICO);     if (A == 1'b0)	(B  *> ICO) = (tplh$B$ICO,  tphl$B$ICO);     (C  *> ICO) = (tplh$C$ICO,  tphl$C$ICO);     if ((B == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (!(B == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if ((A == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if (!(A == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if ((A == 1'b1 ^ B == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(C  *> CO) = (tplh$C$CO,  tphl$C$CO);     if (!(A == 1'b1 ^ B == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(C  *> CO) = (tplh$C$CO,  tphl$C$CO);     (D  *> CO) = (tplh$D$CO,  tphl$D$CO);     (ICI  *> CO) = (tplh$ICI$CO,  tphl$ICI$CO);   endspecifyendmodule // CMPR42X1`endcelldefine//$Id: cmpr.genpp,v 1.2 2003/02/04 19:26:52 ron Exp $//CONFIDENTIAL AND PROPRIETARY SOFTWARE/DATA OF ARTISAN COMPONENTS, INC.////Copyright (c) 2003 Artisan Components, Inc.  All Rights Reserved.////Use of this Software/Data is subject to the terms and conditions of//the applicable license agreement between Artisan Components, Inc. and//UMC.  In addition, this Software/Data//is protected by copyright law and international treaties.////The copyright notice(s) in this Software/Data does not indicate actual//or intended publication of this Software/Data.`timescale 1ns/10ps`celldefinemodule CMPR42X2 (S, CO, ICO, A, B, C, D, ICI);output S, CO, ICO;input A, B, C, D, ICI;  xor I0 (t1, A, B);  xor I1 (IS, t1, C);  and I2 (t2, A, B);  and I3 (t3, A, C);  and I4 (t4, B, C);  or  I5 (ICO, t2, t3, t4);  xor I6 (ss, IS, D);  xor I7 (S, ss, ICI);  and I8 (t5, IS, D);  and I9 (t6, IS, ICI);  and I10 (t7, D, ICI);  or  I11 (CO, t5, t6, t7);  specify    // delay parameters    specparam      tplh$A$S = 1.0,      tphl$A$S = 1.0,      tplh$B$S = 1.0,      tphl$B$S = 1.0,      tplh$C$S = 1.0,      tphl$C$S = 1.0,      tplh$D$S = 1.0,      tphl$D$S = 1.0,      tplh$ICI$S = 1.0,      tphl$ICI$S = 1.0,      tplh$A$CO = 1.0,      tphl$A$CO = 1.0,      tplh$B$CO = 1.0,      tphl$B$CO = 1.0,      tplh$C$CO = 1.0,      tphl$C$CO = 1.0,      tplh$D$CO = 1.0,      tphl$D$CO = 1.0,      tplh$ICI$CO = 1.0,      tphl$ICI$CO = 1.0,      tplh$A$ICO = 1.0,      tphl$A$ICO = 1.0,      tplh$B$ICO = 1.0,      tphl$B$ICO = 1.0,      tplh$C$ICO = 1.0,      tphl$C$ICO = 1.0,      tplh$D$ICO = 1.0,      tphl$D$ICO = 1.0,      tplh$ICI$ICO = 1.0,      tphl$ICI$ICO = 1.0;    // path delays     if (B == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) 	(A *> S) = (tplh$A$S, tphl$A$S);     if (!(B == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) )	(A *> S) = (tplh$A$S, tphl$A$S);     if (A == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) 	(B *> S) = (tplh$B$S, tphl$B$S);     if (!(A == 1'b1 ^ C == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1) )	(B *> S) = (tplh$B$S, tphl$B$S);     if (A == 1'b1 ^ B == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1)	(C *> S) = (tplh$C$S, tphl$C$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ D == 1'b1 ^ ICI == 1'b1))	(C *> S) = (tplh$C$S, tphl$C$S);     if (A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ ICI == 1'b1)	(D *> S) = (tplh$D$S, tphl$D$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ ICI == 1'b1))	(D *> S) = (tplh$D$S, tphl$D$S);     if (A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ D == 1'b1)	(ICI *> S) = (tplh$ICI$S, tphl$ICI$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ C == 1'b1 ^ D == 1'b1))	(ICI *> S) = (tplh$ICI$S, tphl$ICI$S);     if (B == 1'b1)	(A  *> ICO) = (tplh$A$ICO,  tphl$A$ICO);     if (B == 1'b0)	(A  *> ICO) = (tplh$A$ICO,  tphl$A$ICO);     if (A == 1'b1)	(B  *> ICO) = (tplh$B$ICO,  tphl$B$ICO);     if (A == 1'b0)	(B  *> ICO) = (tplh$B$ICO,  tphl$B$ICO);     (C  *> ICO) = (tplh$C$ICO,  tphl$C$ICO);     if ((B == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (!(B == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if ((A == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if (!(A == 1'b1 ^ C == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if ((A == 1'b1 ^ B == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(C  *> CO) = (tplh$C$CO,  tphl$C$CO);     if (!(A == 1'b1 ^ B == 1'b1) && (D == 1'b1 ^ ICI == 1'b1))	(C  *> CO) = (tplh$C$CO,  tphl$C$CO);     (D  *> CO) = (tplh$D$CO,  tphl$D$CO);     (ICI  *> CO) = (tplh$ICI$CO,  tphl$ICI$CO);   endspecifyendmodule // CMPR42X2`endcelldefine//$Id: add.genpp,v 1.1.1.1 2002/12/05 17:56:00 ron Exp $//CONFIDENTIAL AND PROPRIETARY SOFTWARE/DATA OF ARTISAN COMPONENTS, INC.////Copyright (c) 2003 Artisan Components, Inc.  All Rights Reserved.////Use of this Software/Data is subject to the terms and conditions of//the applicable license agreement between Artisan Components, Inc. and//UMC.  In addition, this Software/Data//is protected by copyright law and international treaties.////The copyright notice(s) in this Software/Data does not indicate actual//or intended publication of this Software/Data.`timescale 1ns/1ps`celldefinemodule AFHCINX2 ( S, CO, A, B, CIN);output S, CO;input A, B, CIN;  not I0 (ci, CIN);  xor I1 (S, A, B, ci);  and I2 (a_and_b, A, B);  and I3 (a_and_ci, A, ci);  and I4 (b_and_ci, B, ci);  or  I5 (CO, a_and_b, a_and_ci, b_and_ci);     specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CO  = 1.0,      tphl$A$CO  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CO  = 1.0,      tphl$B$CO  = 1.0,      tplh$CIN$S  = 1.0,      tphl$CIN$S  = 1.0,      tplh$CIN$CO  = 1.0,      tphl$CIN$CO  = 1.0;     if ((A == 1'b0 && B == 1'b0) || (A == 1'b1 && B == 1'b1))	(CIN *> S)  = (tplh$CIN$S,  tphl$CIN$S);     if ((A == 1'b0 && B == 1'b1) || (A == 1'b1 && B == 1'b0))	(CIN *> S)  = (tplh$CIN$S,  tphl$CIN$S);     if (B == 1'b0 && CIN == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CIN == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b0 && CIN == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CIN == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (A == 1'b0 && CIN == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CIN == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b0 && CIN == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CIN == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     (CIN *> CO) = (tplh$CIN$CO, tphl$CIN$CO);     if (B == 1'b1)	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (B == 1'b0)	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (A == 1'b1)	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if (A == 1'b0)	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);  endspecifyendmodule // AFHCINX2`endcelldefine//$Id: add.genpp,v 1.1.1.1 2002/12/05 17:56:00 ron Exp $//CONFIDENTIAL AND PROPRIETARY SOFTWARE/DATA OF ARTISAN COMPONENTS, INC.////Copyright (c) 2003 Artisan Components, Inc.  All Rights Reserved.////Use of this Software/Data is subject to the terms and conditions of//the applicable license agreement between Artisan Components, Inc. and//UMC.  In addition, this Software/Data//is protected by copyright law and international treaties.////The copyright notice(s) in this Software/Data does not indicate actual//or intended publication of this Software/Data.`timescale 1ns/1ps`celldefinemodule AFHCINX4 ( S, CO, A, B, CIN);output S, CO;input A, B, CIN;  not I0 (ci, CIN);  xor I1 (S, A, B, ci);  and I2 (a_and_b, A, B);  and I3 (a_and_ci, A, ci);  and I4 (b_and_ci, B, ci);  or  I5 (CO, a_and_b, a_and_ci, b_and_ci);     specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CO  = 1.0,      tphl$A$CO  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CO  = 1.0,      tphl$B$CO  = 1.0,      tplh$CIN$S  = 1.0,      tphl$CIN$S  = 1.0,      tplh$CIN$CO  = 1.0,      tphl$CIN$CO  = 1.0;     if ((A == 1'b0 && B == 1'b0) || (A == 1'b1 && B == 1'b1))	(CIN *> S)  = (tplh$CIN$S,  tphl$CIN$S);     if ((A == 1'b0 && B == 1'b1) || (A == 1'b1 && B == 1'b0))	(CIN *> S)  = (tplh$CIN$S,  tphl$CIN$S);     if (B == 1'b0 && CIN == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CIN == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b0 && CIN == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CIN == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (A == 1'b0 && CIN == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CIN == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b0 && CIN == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CIN == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     (CIN *> CO) = (tplh$CIN$CO, tphl$CIN$CO);     if (B == 1'b1)	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (B == 1'b0)	(A  *> CO) = (tplh$A$CO,  tphl$A$CO);     if (A == 1'b1)	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);     if (A == 1'b0)	(B  *> CO) = (tplh$B$CO,  tphl$B$CO);  endspecifyendmodule // AFHCINX4`endcelldefine//$Id: add.genpp,v 1.1.1.1 2002/12/05 17:56:00 ron Exp $//CONFIDENTIAL AND PROPRIETARY SOFTWARE/DATA OF ARTISAN COMPONENTS, INC.////Copyright (c) 2003 Artisan Components, Inc.  All Rights Reserved.////Use of this Software/Data is subject to the terms and conditions of//the applicable license agreement between Artisan Components, Inc. and//UMC.  In addition, this Software/Data//is protected by copyright law and international treaties.////The copyright notice(s) in this Software/Data does not indicate actual//or intended publication of this Software/Data.`timescale 1ns/1ps`celldefinemodule AFHCONX2 ( S, CON, A, B, CI);output S, CON;input A, B, CI;  xor I0 (S, A, B, CI);  and I1 (a_and_b, A, B);  and I2 (a_and_ci, A, CI);  and I3 (b_and_ci, B, CI);  or  I4 (cout, a_and_b, a_and_ci, b_and_ci);     not I5 (CON, cout);  specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CON  = 1.0,      tphl$A$CON  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CON  = 1.0,      tphl$B$CON  = 1.0,      tplh$CI$S  = 1.0,      tphl$CI$S  = 1.0,      tplh$CI$CON  = 1.0,      tphl$CI$CON  = 1.0;     if ((A == 1'b0 && B == 1'b0) || (A == 1'b1 && B == 1'b1))	(CI *> S)  = (tplh$CI$S,  tphl$CI$S);     if ((A == 1'b0 && B == 1'b1) || (A == 1'b1 && B == 1'b0))	(CI *> S)  = (tplh$CI$S,  tphl$CI$S);     if (B == 1'b0 && CI == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CI == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b0 && CI == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (B == 1'b1 && CI == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (A == 1'b0 && CI == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CI == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b0 && CI == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (A == 1'b1 && CI == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     (CI *> CON) = (tplh$CI$CON, tphl$CI$CON);     if (B == 1'b1)	(A  *> CON) = (tplh$A$CON,  tphl$A$CON);     if (B == 1'b0)	(A  *> CON) = (tplh$A$CON,  tphl$A$CON);     if (A == 1'b1)	(B  *> CON) = (tplh$B$CON,  tphl$B$CON);     if (A == 1'b0)	(B  *> CON) = (tplh$B$CON,  tphl$B$CON);  endspecifyendmodule // AFHCONX2`endcelldefine

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -