|
终于出现了一个successful,可以小激动一下了。可话说回来,这只是基础的一小步。上图中可以看出一些信息,如一共有6个schematic转换成了verilog Netlist,但是还有两个p33和n33的管子,这个怎么个情况呢?
要办事先摸路,将产生的网表拿出来看一看。在brasilia目录下键入ls命令,会看到多了一个twobitadder.run1这个目录,不难从前面的操作中发现,这个目录就是刚刚运行全部的操作的工作目录。进入该目录中的ihnl子目录,我们刚才产生的网表文件分布在这个子目录下的cds0~cds5目录中,接下来见证奇迹的时刻,运行命令:cat cds*/netlist > twobitaddr.v
如此就能得到完整的网表文件了,至于cat这个非常有用的命令式什么意思,请百度it!这里,将生成的网表拿出来分析一下:
// LAST TIME SAVED: Jul  2 09:43:03 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module RS_XOR2_A ( O, I1, I2 );
output  O;
input  I1, I2;
specify 
    specparam CDS_LIBNAME  = "bcdee_sc";
    specparam CDS_CELLNAME = "RS_XOR2_A";
    specparam CDS_VIEWNAME = "schematic";
endspecify
p33  m12 ( .D(O), .B(cds_globals.vcc_), .G(net46),
     .S(cds_globals.vcc_));
p33  m10 ( .D(net18), .B(cds_globals.vcc_), .G(cdsNet0), .S(net46));
p33  m9 ( .D(net26), .B(cds_globals.vcc_), .G(I2), .S(net46));
p33  m4 ( .D(cds_globals.vss_), .B(cds_globals.vss_), .G(net26),
     .S(net18));
p33  m11 ( .D(net18), .B(cds_globals.vcc_), .G(net26),
     .S(cds_globals.vcc_));
p33  m1 ( .D(cds_globals.vss_), .B(cds_globals.vss_), .G(I1),
     .S(net26));
p33  m7 ( .D(net26), .B(cds_globals.vcc_), .G(I1),
     .S(cds_globals.vcc_));
p33  m6 ( .D(cdsNet0), .B(cds_globals.vcc_), .G(I2),
     .S(cds_globals.vcc_));
n33  m5 ( .D(O), .B(cds_globals.vss_), .G(net46),
     .S(cds_globals.vss_));
n33  m3 ( .D(net18), .B(cds_globals.vss_), .G(I2), .S(net46));
n33  m2 ( .D(net26), .B(cds_globals.vss_), .G(cdsNet0), .S(net46));
n33  m0 ( .D(cdsNet0), .B(cds_globals.vss_), .G(I2),
     .S(cds_globals.vss_));
endmodule
// Library - bcdee_sc, Cell - RS_INV_A, View - schematic
// LAST TIME SAVED: Jul  2 08:55:40 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module RS_INV_A ( O, I );
output  O;
input  I;
specify 
    specparam CDS_LIBNAME  = "bcdee_sc";
    specparam CDS_CELLNAME = "RS_INV_A";
    specparam CDS_VIEWNAME = "schematic";
endspecify
p33  m1 ( .D(O), .B(cds_globals.vcc_), .G(I), .S(cds_globals.vcc_));
n33  m0 ( .D(O), .B(cds_globals.vss_), .G(I), .S(cds_globals.vss_));
endmodule
// Library - bcdee_sc, Cell - RS_NR2_A, View - schematic
// LAST TIME SAVED: Jul  2 08:51:46 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module RS_NR2_A ( O, I1, I2 );
output  O;
input  I1, I2;
specify 
    specparam CDS_LIBNAME  = "bcdee_sc";
    specparam CDS_CELLNAME = "RS_NR2_A";
    specparam CDS_VIEWNAME = "schematic";
endspecify
p33  m3 ( .D(O), .B(cds_globals.vcc_), .G(I2), .S(net11));
p33  m2 ( .D(net11), .B(cds_globals.vcc_), .G(I1),
     .S(cds_globals.vcc_));
n33  m1 ( .D(O), .B(cds_globals.vss_), .G(I2), .S(cds_globals.vss_));
n33  m0 ( .D(O), .B(cds_globals.vss_), .G(I1), .S(cds_globals.vss_));
endmodule
// Library - bcdee_sc, Cell - RS_ND2_A, View - schematic
// LAST TIME SAVED: Jul  2 08:40:16 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module RS_ND2_A ( O, I1, I2 );
output  O;
input  I1, I2;
specify 
    specparam CDS_LIBNAME  = "bcdee_sc";
    specparam CDS_CELLNAME = "RS_ND2_A";
    specparam CDS_VIEWNAME = "schematic";
endspecify
p33  m3 ( .D(O), .B(cds_globals.vcc_), .G(I2), .S(cds_globals.vcc_));
p33  m2 ( .D(O), .B(cds_globals.vcc_), .G(I1), .S(cds_globals.vcc_));
n33  m1 ( .D(net16), .B(cds_globals.vss_), .G(I1),
     .S(cds_globals.vss_));
n33  m0 ( .D(O), .B(cds_globals.vss_), .G(I2), .S(net16));
endmodule
// Library - adder, Cell - fulladder, View - schematic
// LAST TIME SAVED: Aug  9 19:32:32 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module fulladder ( Cout, Sum, A, B, Cin );
output  Cout, Sum;
input  A, B, Cin;
specify 
    specparam CDS_LIBNAME  = "adder";
    specparam CDS_CELLNAME = "fulladder";
    specparam CDS_VIEWNAME = "schematic";
endspecify
RS_XOR2_A I6 ( .O(Sum), .I1(net9), .I2(Cin));
RS_XOR2_A I5 ( .O(net9), .I1(A), .I2(B));
RS_INV_A I4 ( .O(net12), .I(net14));
RS_NR2_A I3 ( .O(net14), .I1(A), .I2(B));
RS_ND2_A I2 ( .O(net20), .I1(net12), .I2(Cin));
RS_ND2_A I1 ( .O(Cout), .I1(net23), .I2(net20));
RS_ND2_A I0 ( .O(net23), .I1(A), .I2(B));
endmodule
// Library - adder, Cell - twobitadder, View - schematic
// LAST TIME SAVED: Aug  9 20:01:39 2014
// NETLIST TIME: Aug  9 20:10:38 2014
`timescale 1ns / 1ns 
module twobitadder ( Cout, Sum, A, B, Cin );
output  Cout;
input  Cin;
output [1:0]  Sum;
input [1:0]  A;
input [1:0]  B;
specify 
    specparam CDS_LIBNAME  = "adder";
    specparam CDS_CELLNAME = "twobitadder";
    specparam CDS_VIEWNAME = "schematic";
endspecify
 /1
 /1 