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

📄 umc18_neg.v

📁 Multiple Numbers Calculator (source code and LAB notes)
💻 V
📖 第 1 页 / 共 5 页
字号:
  not I1 (cin0, CI0N);  xor I2 (s1, A, B, cin1);  xor I3 (s2, A, B, cin0);  and I4 (s3, CS, s1);  not I5 (csn, CS);  and I6 (s4, csn, s2);  or  I7 (S, s3, s4);  and I8 (a_and_b, A, B);  and I9 (a_and_ci0, A, cin0);  and I10 (b_and_ci0, B, cin0);  or  I11 (CO0, a_and_b, a_and_ci0, b_and_ci0);  and I12 (a_and_ci1, A, cin1);  and I13 (b_and_ci1, B, cin1);  or  I14 (CO1, a_and_b, a_and_ci1, b_and_ci1);  specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CO0  = 1.0,      tphl$A$CO0  = 1.0,      tplh$A$CO1  = 1.0,      tphl$A$CO1  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CO0  = 1.0,      tphl$B$CO0  = 1.0,      tplh$B$CO1  = 1.0,      tphl$B$CO1  = 1.0,      tplh$CI0N$S  = 1.0,      tphl$CI0N$S  = 1.0,      tplh$CI0N$CO0  = 1.0,      tphl$CI0N$CO0  = 1.0,      tplh$CI0N$CO1  = 1.0,      tphl$CI0N$CO1  = 1.0,      tplh$CI1N$S  = 1.0,      tphl$CI1N$S  = 1.0,      tplh$CI1N$CO0  = 1.0,      tphl$CI1N$CO0  = 1.0,      tplh$CI1N$CO1  = 1.0,      tphl$CI1N$CO1  = 1.0,      tplh$CS$S  = 1.0,      tphl$CS$S  = 1.0,      tplh$CS$CO0  = 1.0,      tphl$CS$CO0  = 1.0,      tplh$CS$CO1  = 1.0,      tphl$CS$CO1  = 1.0;     if (CS == 1'b1 && A == 1'b0 && CI1N == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b0 && CI1N == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1N == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1N == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0N == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0N == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0N == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0N == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && B == 1'b0 && CI1N == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b0 && CI1N == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1N == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1N == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0N == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0N == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0N == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0N == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && !(A == 1'b1 ^ B == 1'b1))	(CI0N  *> S)  = (tplh$CI0N$S,   tphl$CI0N$S);     if (CS == 1'b0 && (A == 1'b1 ^ B == 1'b1))	(CI0N  *> S)  = (tplh$CI0N$S,   tphl$CI0N$S);     if (CS == 1'b1 && !(A == 1'b1 ^ B == 1'b1))	(CI1N  *> S)  = (tplh$CI1N$S,   tphl$CI1N$S);     if (CS == 1'b1 && (A == 1'b1 ^ B == 1'b1))	(CI1N  *> S)  = (tplh$CI1N$S,   tphl$CI1N$S);     if ((A == 1'b1 ^ B == 1'b1 ^ CI1N == 1'b0) && !(A == 1'b1 ^ B == 1'b1 ^ CI0N == 1'b0))	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ CI1N == 1'b0) && (A == 1'b1 ^ B == 1'b1 ^ CI0N == 1'b0)) 	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (A == 1'b1)	(B  *> CO0) = (tplh$B$CO0,  tphl$B$CO0);     if (A == 1'b0)	(B  *> CO0) = (tplh$B$CO0,  tphl$B$CO0);     if (B == 1'b1)	(A  *> CO0) = (tplh$A$CO0,  tphl$A$CO0);     if (B == 1'b0)	(A  *> CO0) = (tplh$A$CO0,  tphl$A$CO0);     (CI0N  *> CO0) = (tplh$CI0N$CO0,  tphl$CI0N$CO0);     if (A == 1'b1)	(B  *> CO1) = (tplh$B$CO1,  tphl$B$CO1);     if (A == 1'b0)	(B  *> CO1) = (tplh$B$CO1,  tphl$B$CO1);     if (B == 1'b1)	(A  *> CO1) = (tplh$A$CO1,  tphl$A$CO1);     if (B == 1'b0)	(A  *> CO1) = (tplh$A$CO1,  tphl$A$CO1);     (CI1N  *> CO1) = (tplh$CI1N$CO0,  tphl$CI0N$CO1);  endspecifyendmodule // AFCSHCINX4`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 AFCSHCONX2 ( S, CO0N, CO1N, A, B, CI0, CI1, CS);output S, CO0N, CO1N;input A, B, CI0, CI1, CS;  xor I2 (s1, A, B, CI1);  xor I3 (s2, A, B, CI0);  and I4 (s3, CS, s1);  not I5 (csn, CS);  and I6 (s4, csn, s2);  or  I7 (S, s3, s4);  and I8 (a_and_b, A, B);  and I9 (a_and_ci0, A, CI0);  and I10 (b_and_ci0, B, CI0);  or  I11 (cout0, a_and_b, a_and_ci0, b_and_ci0);  and I12 (a_and_ci1, A, CI1);  and I13 (b_and_ci1, B, CI1);  or  I14 (cout1, a_and_b, a_and_ci1, b_and_ci1);  not I15 (CO0N, cout0);  not I16 (CO1N, cout1);  specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CO0N  = 1.0,      tphl$A$CO0N  = 1.0,      tplh$A$CO1N  = 1.0,      tphl$A$CO1N  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CO0N  = 1.0,      tphl$B$CO0N  = 1.0,      tplh$B$CO1N  = 1.0,      tphl$B$CO1N  = 1.0,      tplh$CI0$S  = 1.0,      tphl$CI0$S  = 1.0,      tplh$CI0$CO0N  = 1.0,      tphl$CI0$CO0N  = 1.0,      tplh$CI0$CO1N  = 1.0,      tphl$CI0$CO1N  = 1.0,      tplh$CI1$S  = 1.0,      tphl$CI1$S  = 1.0,      tplh$CI1$CO0N  = 1.0,      tphl$CI1$CO0N  = 1.0,      tplh$CI1$CO1N  = 1.0,      tphl$CI1$CO1N  = 1.0,      tplh$CS$S  = 1.0,      tphl$CS$S  = 1.0,      tplh$CS$CO0N  = 1.0,      tphl$CS$CO0N  = 1.0,      tplh$CS$CO1N  = 1.0,      tphl$CS$CO1N  = 1.0;     if (CS == 1'b1 && A == 1'b0 && CI1 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b0 && CI1 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && B == 1'b0 && CI1 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b0 && CI1 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && !(A == 1'b1 ^ B == 1'b1))	(CI0  *> S)  = (tplh$CI0$S,   tphl$CI0$S);     if (CS == 1'b0 && (A == 1'b1 ^ B == 1'b1))	(CI0  *> S)  = (tplh$CI0$S,   tphl$CI0$S);     if (CS == 1'b1 && !(A == 1'b1 ^ B == 1'b1))	(CI1  *> S)  = (tplh$CI1$S,   tphl$CI1$S);     if (CS == 1'b1 && (A == 1'b1 ^ B == 1'b1))	(CI1  *> S)  = (tplh$CI1$S,   tphl$CI1$S);     if ((A == 1'b1 ^ B == 1'b1 ^ CI1 == 1'b1) && !(A == 1'b1 ^ B == 1'b1 ^ CI0 == 1'b1))	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ CI1 == 1'b1) && (A == 1'b1 ^ B == 1'b1 ^ CI0 == 1'b1)) 	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (A == 1'b1)	(B  *> CO0N) = (tplh$B$CO0N,  tphl$B$CO0N);     if (A == 1'b0)	(B  *> CO0N) = (tplh$B$CO0N,  tphl$B$CO0N);     if (B == 1'b1)	(A  *> CO0N) = (tplh$A$CO0N,  tphl$A$CO0N);     if (B == 1'b0)	(A  *> CO0N) = (tplh$A$CO0N,  tphl$A$CO0N);     (CI0  *> CO0N) = (tplh$CI0$CO0N,  tphl$CI0$CO0N);     if (A == 1'b1)	(B  *> CO1N) = (tplh$B$CO1N,  tphl$B$CO1N);     if (A == 1'b0)	(B  *> CO1N) = (tplh$B$CO1N,  tphl$B$CO1N);     if (B == 1'b1)	(A  *> CO1N) = (tplh$A$CO1N,  tphl$A$CO1N);     if (B == 1'b0)	(A  *> CO1N) = (tplh$A$CO1N,  tphl$A$CO1N);     (CI1  *> CO1N) = (tplh$CI1$CO0N,  tphl$CI0$CO1N);  endspecifyendmodule // AFCSHCONX2`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 AFCSHCONX4 ( S, CO0N, CO1N, A, B, CI0, CI1, CS);output S, CO0N, CO1N;input A, B, CI0, CI1, CS;  xor I2 (s1, A, B, CI1);  xor I3 (s2, A, B, CI0);  and I4 (s3, CS, s1);  not I5 (csn, CS);  and I6 (s4, csn, s2);  or  I7 (S, s3, s4);  and I8 (a_and_b, A, B);  and I9 (a_and_ci0, A, CI0);  and I10 (b_and_ci0, B, CI0);  or  I11 (cout0, a_and_b, a_and_ci0, b_and_ci0);  and I12 (a_and_ci1, A, CI1);  and I13 (b_and_ci1, B, CI1);  or  I14 (cout1, a_and_b, a_and_ci1, b_and_ci1);  not I15 (CO0N, cout0);  not I16 (CO1N, cout1);  specify    specparam      tplh$A$S  = 1.0,      tphl$A$S  = 1.0,      tplh$A$CO0N  = 1.0,      tphl$A$CO0N  = 1.0,      tplh$A$CO1N  = 1.0,      tphl$A$CO1N  = 1.0,      tplh$B$S  = 1.0,      tphl$B$S  = 1.0,      tplh$B$CO0N  = 1.0,      tphl$B$CO0N  = 1.0,      tplh$B$CO1N  = 1.0,      tphl$B$CO1N  = 1.0,      tplh$CI0$S  = 1.0,      tphl$CI0$S  = 1.0,      tplh$CI0$CO0N  = 1.0,      tphl$CI0$CO0N  = 1.0,      tplh$CI0$CO1N  = 1.0,      tphl$CI0$CO1N  = 1.0,      tplh$CI1$S  = 1.0,      tphl$CI1$S  = 1.0,      tplh$CI1$CO0N  = 1.0,      tphl$CI1$CO0N  = 1.0,      tplh$CI1$CO1N  = 1.0,      tphl$CI1$CO1N  = 1.0,      tplh$CS$S  = 1.0,      tphl$CS$S  = 1.0,      tplh$CS$CO0N  = 1.0,      tphl$CS$CO0N  = 1.0,      tplh$CS$CO1N  = 1.0,      tphl$CS$CO1N  = 1.0;     if (CS == 1'b1 && A == 1'b0 && CI1 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b0 && CI1 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && A == 1'b1 && CI1 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b0 && CI0 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0 == 1'b1)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b0 && A == 1'b1 && CI0 == 1'b0)	(B  *> S)  = (tplh$B$S,   tphl$B$S);     if (CS == 1'b1 && B == 1'b0 && CI1 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b0 && CI1 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b1 && B == 1'b1 && CI1 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b0 && CI0 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0 == 1'b1)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && B == 1'b1 && CI0 == 1'b0)	(A  *> S)  = (tplh$A$S,   tphl$A$S);     if (CS == 1'b0 && !(A == 1'b1 ^ B == 1'b1))	(CI0  *> S)  = (tplh$CI0$S,   tphl$CI0$S);     if (CS == 1'b0 && (A == 1'b1 ^ B == 1'b1))	(CI0  *> S)  = (tplh$CI0$S,   tphl$CI0$S);     if (CS == 1'b1 && !(A == 1'b1 ^ B == 1'b1))	(CI1  *> S)  = (tplh$CI1$S,   tphl$CI1$S);     if (CS == 1'b1 && (A == 1'b1 ^ B == 1'b1))	(CI1  *> S)  = (tplh$CI1$S,   tphl$CI1$S);     if ((A == 1'b1 ^ B == 1'b1 ^ CI1 == 1'b1) && !(A == 1'b1 ^ B == 1'b1 ^ CI0 == 1'b1))	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (!(A == 1'b1 ^ B == 1'b1 ^ CI1 == 1'b1) && (A == 1'b1 ^ B == 1'b1 ^ CI0 == 1'b1)) 	(CS  *> S)  = (tplh$CS$S,   tphl$CS$S);     if (A == 1'b1)	(B  *> CO0N) = (tplh$B$CO0N,  tphl$B$CO0N);     if (A == 1'b0)	(B  *> CO0N) = (tplh$B$CO0N,  tphl$B$CO0N);     if (B == 1'b1)	(A  *> CO0N) = (tplh$A$CO0N,  tphl$A$CO0N);     if (B == 1'b0)	(A  *> CO0N) = (tplh$A$CO0N,  tphl$A$CO0N);     (CI0  *> CO0N) = (tplh$CI0$CO0N,  tphl$CI0$CO0N);     if (A == 1'b1)	(B  *> CO1N) = (tplh$B$CO1N,  tphl$B$CO1N);     if (A == 1'b0)	(B  *> CO1N) = (tplh$B$CO1N,  tphl$B$CO1N);     if (B == 1'b1)	(A  *> CO1N) = (tplh$A$CO1N,  tphl$A$CO1N);     if (B == 1'b0)	(A  *> CO1N) = (tplh$A$CO1N,  tphl$A$CO1N);     (CI1  *> CO1N) = (tplh$CI1$CO0N,  tphl$CI0$CO1N);  endspecifyendmodule // AFCSHCONX4`endcelldefine//$Id: xor.genpp,v 1.1.1.1 2002/12/05 17:56:01 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 XNOR3X2 (Y, A, B, C);output Y;input A, B, C;  xnor I0(Y, A, B, C);  specify    // delay parameters    specparam      tplh$A$Y = 1.0,      tphl$A$Y = 1.0,      tplh$B$Y = 1.0,      tphl$B$Y = 1.0,      tplh$C$Y = 1.0,      tphl$C$Y = 1.0;    // path delays     if ((B == 1'b1) && (C == 1'b1))	(A *> Y) = (tplh$A$Y, tphl$A$Y);     if ((B == 1'b1) && (C == 1'b0))	(A *> Y) = (tplh$A$Y, tphl$A$Y);     if ((B == 1'b0) && (C == 1'b1))	(A *> Y) = (tplh$A$Y, tphl$A$Y);     if ((B == 1'b0) && (C == 1'b0))

⌨️ 快捷键说明

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