Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

synthesis just using nand or nor gates!

Status
Not open for further replies.

ifforums

Newbie level 6
Joined
Nov 5, 2010
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,502
Hello
I appreciate any help regarding synthesising a combinationals to only nand or nor gates using design compiler.


regards,
Farshad F
 

You can use set_dont_use command to select only used standard cells.
 

Actually I have use this command. and Also I have wirte my own librar too:
library(nand) {
cell(NN2) {
area : 2;
pin(A) {
direction : input;
capacitance : 1;
}
pin(B) {
direction : input;
capacitance : 1;
}
pin(Z) {
direction : output;
function : "A*B";
timing() {
intrinsic_rise : 0.48;
intrinsic_fall : 0.77;
rise_resistance : 0.1443;
fall_resistance : 0.0523;
slope_rise : 0.0;
slope_fall : 0.0;
related_pin : "A";
}
timing() {
intrinsic_rise : 0.48;
intrinsic_fall : 0.77;
rise_resistance : 0.1443;
fall_resistance : 0.0523;
slope_rise : 0.0;
slope_fall : 0.0;
related_pin : "B";
}
}
}
}
then I used read_lib and write_lib to convert to .db format. it was ok until this step. but when I used dc_shell -f x.script it prompt that it needs and, or, nor gate too. and it cannot map my circuit to just nand gate.

thanks
Farshad
 

Hi, actually you dont need to modify you lib, even if I can figure out why you want to do so.

You can simply use the “set_dont_use” cmd and cell footprint to tell DC to use nand or nor CELLs in mapping phase.
 

Hi, actually you dont need to modify you lib, even if I can figure out why you want to do so.

You can simply use the “set_dont_use” cmd and cell footprint to tell DC to use nand or nor CELLs in mapping phase.

Hi,
according to suggestions, I have used :

set_dont_use {"saed90nm_max_nth_lvt/AND2X1_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND2X2_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND2X4_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND3X1_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND3X2_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND3X4_LVT"}
..............
set_dont_use {"saed90nm_max_nth_lvt/AND4X1_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND4X2_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AND4X4_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/ANTENNA_LVT"}
set_dont_use {"saed90nm_max_nth_lvt/AO21X1_LVT"}

but DC prompts :
Error: The target library does not contain all required gates.
Either a NOR, or an AND and an OR gate (two-input) is required for mapping. (OPT-102)
 

Hi, which cells in the saed90 library do not have the dont_use property assigned?
 

Hi could you let me know why you want to synthesize a combinational logic to only nand or nor gates.

To be honest, I‘ve never try to do so. But, according to ERRORS from DC, I think It means that, DC can not MAP(translate GETCH LIB to STD CELL)only with the cells in the saed90 library do not have the dont_use property.

When synthesizing, DC will translate the HDL description into GETCH(general purpose function STD lib ) structure. Of course there will be some AND OR NOT … logic in the GETCH. that's why the ERRORS come out.

We often dont use "set_dont_use" to disable such tons of STD CELLs.

I usually use it to disable some CLK_BUFs or big_sized delay CELLs, often these CELLs can be replaced by others.
 

Hi, which cells in the saed90 library do not have the dont_use property assigned?

Hello,
Actually all the cells in the library have the dont-use propert except NAND2X0. because I just wanted to map the circuits to just nand gates. thanks

---------- Post added at 14:29 ---------- Previous post was at 14:19 ----------

Hello, I need to do some BILP (binary integer linear programming) thus I need to use just nand gates. theoretically we could built every gates with nand gates. I seems the straight fwd approach is code a script to replace the and-or with nand gates. btw Actually I faced with another problems too. My case study is ISCAS85 benchmarks for example c432.v. after synthesis process I dont get a flat verilog code as attached bellow ( I have my top-module with some different modules for gates)
I wonder if you could suggest a method to force DC to combine those modules to top modules. because in current verison I should do some scripting to read multiinput gates such as and9-1 and put in the my top module (c432) manually . thanks in advance.

module and9_1_1 ( Z, A, B, C, D, E, F, G, H, I );
input A, B, C, D, E, F, G, H, I;
output Z;
wire n1, n2, n3, n4, n5, n6, n7;

AN2 U1 ( .A(n1), .B(n2), .Z(Z) );
AN2 U2 ( .A(n3), .B(n4), .Z(n2) );
AN2 U3 ( .A(n5), .B(C), .Z(n4) );
AN2 U4 ( .A(B), .B(A), .Z(n5) );
AN2 U5 ( .A(E), .B(D), .Z(n3) );
AN2 U6 ( .A(n6), .B(n7), .Z(n1) );
AN2 U7 ( .A(G), .B(F), .Z(n7) );
AN2 U8 ( .A(I), .B(H), .Z(n6) );
endmodule

................


// Top module :
module c432 ( N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40,
N43, N47, N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86,
N89, N92, N95, N99, N102, N105, N108, N112, N115, N223, N329, N370,
N421, N430, N431, N432 );
input N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40, N43, N47,
N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86, N89, N92,
N95, N99, N102, N105, N108, N112, N115;
output N223, N329, N370, N421, N430, N431, N432;
wire N118, N119, N122, N123, N126, N127, N130, N131, N134, N135, N138,
N139, N142, N143, N146, N147, N150, N151, N154, N157, N158, N159,
N162, N165, N168, N171, N174, N177, N180, N183, N184, N185, N186,
N187, N188, N189, N190, N191, N192, N193, N194, N195, N196, N197,
N198, N199, N203, N213, N224, N227, N230, N233, N236, N239, N242,
N243, N246, N247, N250, N251, N254, N255, N256, N257, N258, N259,
N260, N263, N264, N267, N270, N273, N276, N279, N282, N285, N288,
N289, N290, N291, N292, N293, N294, N295, N296, N300, N301, N302,
N303, N304, N305, N306, N307, N308, N309, N319, N330, N331, N332,
N333, N334, N335, N336, N337, N338, N339, N340, N341, N342, N343,
N344, N345, N346, N347, N348, N349, N350, N351, N352, N353, N354,
N355, N356, N357, N360, N371, N372, N373, N374, N375, N376, N377,
N378, N379, N380, N381, N386, N393, N399, N404, N407, N411, N414,
N415, N416, N417, N418, N419, N420, N422, N425, N428, N429;

inv_1_0 U36 ( .Z(N118), .A(N1) );
inv_1_39 U37 ( .Z(N119), .A(N4) );
inv_1_38 U38 ( .Z(N122), .A(N11) );
inv_1_37 U39 ( .Z(N123), .A(N17) );
inv_1_36 U40 ( .Z(N126), .A(N24) );
inv_1_35 U41 ( .Z(N127), .A(N30) );
inv_1_34 U42 ( .Z(N130), .A(N37) );
inv_1_33 U43 ( .Z(N131), .A(N43) );
inv_1_32 U44 ( .Z(N134), .A(N50) );
inv_1_31 U45 ( .Z(N135), .A(N56) );
inv_1_30 U46 ( .Z(N138), .A(N63) );
inv_1_29 U47 ( .Z(N139), .A(N69) );
inv_1_28 U48 ( .Z(N142), .A(N76) );
inv_1_27 U49 ( .Z(N143), .A(N82) );
inv_1_26 U50 ( .Z(N146), .A(N89) );
inv_1_25 U51 ( .Z(N147), .A(N95) );
inv_1_24 U52 ( .Z(N150), .A(N102) );
inv_1_23 U53 ( .Z(N151), .A(N108) );
nand2_1_0 U54 ( .Z(N154), .A(N118), .B(N4) );
nor2_1_0 U55 ( .Z(N157), .A(N8), .B(N119) );
nor2_1_18 U56 ( .Z(N158), .A(N14), .B(N119) );
nand2_1_63 U57 ( .Z(N159), .A(N122), .B(N17) );
nand2_1_62 U58 ( .Z(N162), .A(N126), .B(N30) );
nand2_1_61 U59 ( .Z(N165), .A(N130), .B(N43) );
nand2_1_60 U60 ( .Z(N168), .A(N134), .B(N56) );
nand2_1_59 U61 ( .Z(N171), .A(N138), .B(N69) );
nand2_1_58 U62 ( .Z(N174), .A(N142), .B(N82) );
nand2_1_57 U63 ( .Z(N177), .A(N146), .B(N95) );
nand2_1_56 U64 ( .Z(N180), .A(N150), .B(N108) );
nor2_1_17 U65 ( .Z(N183), .A(N21), .B(N123) );
nor2_1_16 U66 ( .Z(N184), .A(N27), .B(N123) );
nor2_1_15 U67 ( .Z(N185), .A(N34), .B(N127) );
nor2_1_14 U68 ( .Z(N186), .A(N40), .B(N127) );
nor2_1_13 U69 ( .Z(N187), .A(N47), .B(N131) );
nor2_1_12 U70 ( .Z(N188), .A(N53), .B(N131) );
nor2_1_11 U71 ( .Z(N189), .A(N60), .B(N135) );
nor2_1_10 U72 ( .Z(N190), .A(N66), .B(N135) );
nor2_1_9 U73 ( .Z(N191), .A(N73), .B(N139) );
nor2_1_8 U74 ( .Z(N192), .A(N79), .B(N139) );
nor2_1_7 U75 ( .Z(N193), .A(N86), .B(N143) );
nor2_1_6 U76 ( .Z(N194), .A(N92), .B(N143) );
nor2_1_5 U77 ( .Z(N195), .A(N99), .B(N147) );
nor2_1_4 U78 ( .Z(N196), .A(N105), .B(N147) );
nor2_1_3 U79 ( .Z(N197), .A(N112), .B(N151) );
nor2_1_2 U80 ( .Z(N198), .A(N115), .B(N151) );
and9_1_0 U81 ( .Z(N199), .A(N154), .B(N159), .C(N162), .D(N165), .E(N168),
.F(N171), .G(N174), .H(N177), .I(N180) );
inv_1_22 U82 ( .Z(N203), .A(N199) );
inv_1_21 U83 ( .Z(N213), .A(N199) );
inv_1_20 U84 ( .Z(N223), .A(N199) );
xor2_0 U85 ( .Z(N224), .A(N203), .B(N154) );
xor2_17 U86 ( .Z(N227), .A(N203), .B(N159) );
xor2_16 U87 ( .Z(N230), .A(N203), .B(N162) );
xor2_15 U88 ( .Z(N233), .A(N203), .B(N165) );
xor2_14 U89 ( .Z(N236), .A(N203), .B(N168) );
xor2_13 U90 ( .Z(N239), .A(N203), .B(N171) );
nand2_1_55 U91 ( .Z(N242), .A(N1), .B(N213) );
xor2_12 U92 ( .Z(N243), .A(N203), .B(N174) );
nand2_1_54 U93 ( .Z(N246), .A(N213), .B(N11) );
xor2_11 U94 ( .Z(N247), .A(N203), .B(N177) );
nand2_1_53 U95 ( .Z(N250), .A(N213), .B(N24) );
xor2_10 U96 ( .Z(N251), .A(N203), .B(N180) );
nand2_1_52 U97 ( .Z(N254), .A(N213), .B(N37) );
nand2_1_51 U98 ( .Z(N255), .A(N213), .B(N50) );
nand2_1_50 U99 ( .Z(N256), .A(N213), .B(N63) );
nand2_1_49 U100 ( .Z(N257), .A(N213), .B(N76) );
nand2_1_48 U101 ( .Z(N258), .A(N213), .B(N89) );
nand2_1_47 U102 ( .Z(N259), .A(N213), .B(N102) );
nand2_1_46 U103 ( .Z(N260), .A(N224), .B(N157) );
nand2_1_45 U104 ( .Z(N263), .A(N224), .B(N158) );
nand2_1_44 U105 ( .Z(N264), .A(N227), .B(N183) );
nand2_1_43 U106 ( .Z(N267), .A(N230), .B(N185) );
nand2_1_42 U107 ( .Z(N270), .A(N233), .B(N187) );
nand2_1_41 U108 ( .Z(N273), .A(N236), .B(N189) );
nand2_1_40 U109 ( .Z(N276), .A(N239), .B(N191) );
nand2_1_39 U110 ( .Z(N279), .A(N243), .B(N193) );
nand2_1_38 U111 ( .Z(N282), .A(N247), .B(N195) );
nand2_1_37 U112 ( .Z(N285), .A(N251), .B(N197) );
nand2_1_36 U113 ( .Z(N288), .A(N227), .B(N184) );
nand2_1_35 U114 ( .Z(N289), .A(N230), .B(N186) );
nand2_1_34 U115 ( .Z(N290), .A(N233), .B(N188) );
nand2_1_33 U116 ( .Z(N291), .A(N236), .B(N190) );
nand2_1_32 U117 ( .Z(N292), .A(N239), .B(N192) );
nand2_1_31 U118 ( .Z(N293), .A(N243), .B(N194) );
nand2_1_30 U119 ( .Z(N294), .A(N247), .B(N196) );
nand2_1_29 U120 ( .Z(N295), .A(N251), .B(N198) );
and9_1_2 U121 ( .Z(N296), .A(N260), .B(N264), .C(N267), .D(N270), .E(N273),
.F(N276), .G(N279), .H(N282), .I(N285) );
inv_1_19 U122 ( .Z(N300), .A(N263) );
inv_1_18 U123 ( .Z(N301), .A(N288) );
inv_1_17 U124 ( .Z(N302), .A(N289) );
inv_1_16 U125 ( .Z(N303), .A(N290) );
inv_1_15 U126 ( .Z(N304), .A(N291) );
inv_1_14 U127 ( .Z(N305), .A(N292) );
inv_1_13 U128 ( .Z(N306), .A(N293) );
inv_1_12 U129 ( .Z(N307), .A(N294) );
inv_1_11 U130 ( .Z(N308), .A(N295) );
inv_1_10 U131 ( .Z(N309), .A(N296) );
inv_1_9 U132 ( .Z(N319), .A(N296) );
inv_1_8 U133 ( .Z(N329), .A(N296) );
xor2_9 U134 ( .Z(N330), .A(N309), .B(N260) );
xor2_8 U135 ( .Z(N331), .A(N309), .B(N264) );
xor2_7 U136 ( .Z(N332), .A(N309), .B(N267) );
xor2_6 U137 ( .Z(N333), .A(N309), .B(N270) );
nand2_1_28 U138 ( .Z(N334), .A(N8), .B(N319) );
xor2_5 U139 ( .Z(N335), .A(N309), .B(N273) );
nand2_1_27 U140 ( .Z(N336), .A(N319), .B(N21) );
xor2_4 U141 ( .Z(N337), .A(N309), .B(N276) );
nand2_1_26 U142 ( .Z(N338), .A(N319), .B(N34) );
xor2_3 U143 ( .Z(N339), .A(N309), .B(N279) );
nand2_1_25 U144 ( .Z(N340), .A(N319), .B(N47) );
xor2_2 U145 ( .Z(N341), .A(N309), .B(N282) );
nand2_1_24 U146 ( .Z(N342), .A(N319), .B(N60) );
xor2_1 U147 ( .Z(N343), .A(N309), .B(N285) );
nand2_1_23 U148 ( .Z(N344), .A(N319), .B(N73) );
nand2_1_22 U149 ( .Z(N345), .A(N319), .B(N86) );
nand2_1_21 U150 ( .Z(N346), .A(N319), .B(N99) );
nand2_1_20 U151 ( .Z(N347), .A(N319), .B(N112) );
nand2_1_19 U152 ( .Z(N348), .A(N330), .B(N300) );
nand2_1_18 U153 ( .Z(N349), .A(N331), .B(N301) );
nand2_1_17 U154 ( .Z(N350), .A(N332), .B(N302) );
nand2_1_16 U155 ( .Z(N351), .A(N333), .B(N303) );
nand2_1_15 U156 ( .Z(N352), .A(N335), .B(N304) );
nand2_1_14 U157 ( .Z(N353), .A(N337), .B(N305) );
nand2_1_13 U158 ( .Z(N354), .A(N339), .B(N306) );
nand2_1_12 U159 ( .Z(N355), .A(N341), .B(N307) );
nand2_1_11 U160 ( .Z(N356), .A(N343), .B(N308) );
and9_1_1 U161 ( .Z(N357), .A(N348), .B(N349), .C(N350), .D(N351), .E(N352),
.F(N353), .G(N354), .H(N355), .I(N356) );
inv_1_7 U162 ( .Z(N360), .A(N357) );
inv_1_6 U163 ( .Z(N370), .A(N357) );
nand2_1_10 U164 ( .Z(N371), .A(N14), .B(N360) );
nand2_1_9 U165 ( .Z(N372), .A(N360), .B(N27) );
nand2_1_8 U166 ( .Z(N373), .A(N360), .B(N40) );
nand2_1_7 U167 ( .Z(N374), .A(N360), .B(N53) );
nand2_1_6 U168 ( .Z(N375), .A(N360), .B(N66) );
nand2_1_5 U169 ( .Z(N376), .A(N360), .B(N79) );
nand2_1_4 U170 ( .Z(N377), .A(N360), .B(N92) );
nand2_1_3 U171 ( .Z(N378), .A(N360), .B(N105) );
nand2_1_2 U172 ( .Z(N379), .A(N360), .B(N115) );
nand4_1_0 U173 ( .Z(N380), .A(N4), .B(N242), .C(N334), .D(N371) );
nand4_1_13 U174 ( .Z(N381), .A(N246), .B(N336), .C(N372), .D(N17) );
nand4_1_12 U175 ( .Z(N386), .A(N250), .B(N338), .C(N373), .D(N30) );
nand4_1_11 U176 ( .Z(N393), .A(N254), .B(N340), .C(N374), .D(N43) );
nand4_1_10 U177 ( .Z(N399), .A(N255), .B(N342), .C(N375), .D(N56) );
nand4_1_9 U178 ( .Z(N404), .A(N256), .B(N344), .C(N376), .D(N69) );
nand4_1_8 U179 ( .Z(N407), .A(N257), .B(N345), .C(N377), .D(N82) );
nand4_1_7 U180 ( .Z(N411), .A(N258), .B(N346), .C(N378), .D(N95) );
nand4_1_6 U181 ( .Z(N414), .A(N259), .B(N347), .C(N379), .D(N108) );
inv_1_5 U182 ( .Z(N415), .A(N380) );
and8_1 U183 ( .Z(N416), .A(N381), .B(N386), .C(N393), .D(N399), .E(N404),
.F(N407), .G(N411), .H(N414) );
inv_1_4 U184 ( .Z(N417), .A(N393) );
inv_1_3 U185 ( .Z(N418), .A(N404) );
inv_1_2 U186 ( .Z(N419), .A(N407) );
inv_1_1 U187 ( .Z(N420), .A(N411) );
nor2_1_1 U188 ( .Z(N421), .A(N415), .B(N416) );
nand2_1_1 U189 ( .Z(N422), .A(N386), .B(N417) );
nand4_1_5 U190 ( .Z(N425), .A(N386), .B(N393), .C(N418), .D(N399) );
nand3_1 U191 ( .Z(N428), .A(N399), .B(N393), .C(N419) );
nand4_1_4 U192 ( .Z(N429), .A(N386), .B(N393), .C(N407), .D(N420) );
nand4_1_3 U193 ( .Z(N430), .A(N381), .B(N386), .C(N422), .D(N399) );
nand4_1_2 U194 ( .Z(N431), .A(N381), .B(N386), .C(N425), .D(N428) );
nand4_1_1 U195 ( .Z(N432), .A(N381), .B(N422), .C(N425), .D(N429) );
endmodule

---------- Post added at 15:13 ---------- Previous post was at 14:29 ----------

Thanks. I have found :
compile -ungroup_all
this command combines all modules in 1 single module.

Hello,
Actually all the cells in the library have the dont-use propert except NAND2X0. because I just wanted to map the circuits to just nand gates. thanks

---------- Post added at 14:29 ---------- Previous post was at 14:19 ----------

Hello, I need to do some BILP (binary integer linear programming) thus I need to use just nand gates. theoretically we could built every gates with nand gates. I seems the straight fwd approach is code a script to replace the and-or with nand gates. btw Actually I faced with another problems too. My case study is ISCAS85 benchmarks for example c432.v. after synthesis process I dont get a flat verilog code as attached bellow ( I have my top-module with some different modules for gates)
I wonder if you could suggest a method to force DC to combine those modules to top modules. because in current verison I should do some scripting to read multiinput gates such as and9-1 and put in the my top module (c432) manually . thanks in advance.

module and9_1_1 ( Z, A, B, C, D, E, F, G, H, I );
input A, B, C, D, E, F, G, H, I;
output Z;
wire n1, n2, n3, n4, n5, n6, n7;

AN2 U1 ( .A(n1), .B(n2), .Z(Z) );
AN2 U2 ( .A(n3), .B(n4), .Z(n2) );
AN2 U3 ( .A(n5), .B(C), .Z(n4) );
AN2 U4 ( .A(B), .B(A), .Z(n5) );
AN2 U5 ( .A(E), .B(D), .Z(n3) );
AN2 U6 ( .A(n6), .B(n7), .Z(n1) );
AN2 U7 ( .A(G), .B(F), .Z(n7) );
AN2 U8 ( .A(I), .B(H), .Z(n6) );
endmodule

................


// Top module :
module c432 ( N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40,
N43, N47, N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86,
N89, N92, N95, N99, N102, N105, N108, N112, N115, N223, N329, N370,
N421, N430, N431, N432 );
input N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40, N43, N47,
N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86, N89, N92,
N95, N99, N102, N105, N108, N112, N115;
output N223, N329, N370, N421, N430, N431, N432;
wire N118, N119, N122, N123, N126, N127, N130, N131, N134, N135, N138,
N139, N142, N143, N146, N147, N150, N151, N154, N157, N158, N159,
N162, N165, N168, N171, N174, N177, N180, N183, N184, N185, N186,
N187, N188, N189, N190, N191, N192, N193, N194, N195, N196, N197,
N198, N199, N203, N213, N224, N227, N230, N233, N236, N239, N242,
N243, N246, N247, N250, N251, N254, N255, N256, N257, N258, N259,
N260, N263, N264, N267, N270, N273, N276, N279, N282, N285, N288,
N289, N290, N291, N292, N293, N294, N295, N296, N300, N301, N302,
N303, N304, N305, N306, N307, N308, N309, N319, N330, N331, N332,
N333, N334, N335, N336, N337, N338, N339, N340, N341, N342, N343,
N344, N345, N346, N347, N348, N349, N350, N351, N352, N353, N354,
N355, N356, N357, N360, N371, N372, N373, N374, N375, N376, N377,
N378, N379, N380, N381, N386, N393, N399, N404, N407, N411, N414,
N415, N416, N417, N418, N419, N420, N422, N425, N428, N429;

inv_1_0 U36 ( .Z(N118), .A(N1) );
inv_1_39 U37 ( .Z(N119), .A(N4) );
inv_1_38 U38 ( .Z(N122), .A(N11) );
inv_1_37 U39 ( .Z(N123), .A(N17) );
inv_1_36 U40 ( .Z(N126), .A(N24) );
inv_1_35 U41 ( .Z(N127), .A(N30) );
inv_1_34 U42 ( .Z(N130), .A(N37) );
inv_1_33 U43 ( .Z(N131), .A(N43) );
inv_1_32 U44 ( .Z(N134), .A(N50) );
inv_1_31 U45 ( .Z(N135), .A(N56) );
inv_1_30 U46 ( .Z(N138), .A(N63) );
inv_1_29 U47 ( .Z(N139), .A(N69) );
inv_1_28 U48 ( .Z(N142), .A(N76) );
inv_1_27 U49 ( .Z(N143), .A(N82) );
inv_1_26 U50 ( .Z(N146), .A(N89) );
inv_1_25 U51 ( .Z(N147), .A(N95) );
inv_1_24 U52 ( .Z(N150), .A(N102) );
inv_1_23 U53 ( .Z(N151), .A(N108) );
nand2_1_0 U54 ( .Z(N154), .A(N118), .B(N4) );
nor2_1_0 U55 ( .Z(N157), .A(N8), .B(N119) );
nor2_1_18 U56 ( .Z(N158), .A(N14), .B(N119) );
nand2_1_63 U57 ( .Z(N159), .A(N122), .B(N17) );
nand2_1_62 U58 ( .Z(N162), .A(N126), .B(N30) );
nand2_1_61 U59 ( .Z(N165), .A(N130), .B(N43) );
nand2_1_60 U60 ( .Z(N168), .A(N134), .B(N56) );
nand2_1_59 U61 ( .Z(N171), .A(N138), .B(N69) );
nand2_1_58 U62 ( .Z(N174), .A(N142), .B(N82) );
nand2_1_57 U63 ( .Z(N177), .A(N146), .B(N95) );
nand2_1_56 U64 ( .Z(N180), .A(N150), .B(N108) );
nor2_1_17 U65 ( .Z(N183), .A(N21), .B(N123) );
nor2_1_16 U66 ( .Z(N184), .A(N27), .B(N123) );
nor2_1_15 U67 ( .Z(N185), .A(N34), .B(N127) );
nor2_1_14 U68 ( .Z(N186), .A(N40), .B(N127) );
nor2_1_13 U69 ( .Z(N187), .A(N47), .B(N131) );
nor2_1_12 U70 ( .Z(N188), .A(N53), .B(N131) );
nor2_1_11 U71 ( .Z(N189), .A(N60), .B(N135) );
nor2_1_10 U72 ( .Z(N190), .A(N66), .B(N135) );
nor2_1_9 U73 ( .Z(N191), .A(N73), .B(N139) );
nor2_1_8 U74 ( .Z(N192), .A(N79), .B(N139) );
nor2_1_7 U75 ( .Z(N193), .A(N86), .B(N143) );
nor2_1_6 U76 ( .Z(N194), .A(N92), .B(N143) );
nor2_1_5 U77 ( .Z(N195), .A(N99), .B(N147) );
nor2_1_4 U78 ( .Z(N196), .A(N105), .B(N147) );
nor2_1_3 U79 ( .Z(N197), .A(N112), .B(N151) );
nor2_1_2 U80 ( .Z(N198), .A(N115), .B(N151) );
and9_1_0 U81 ( .Z(N199), .A(N154), .B(N159), .C(N162), .D(N165), .E(N168),
.F(N171), .G(N174), .H(N177), .I(N180) );
inv_1_22 U82 ( .Z(N203), .A(N199) );
inv_1_21 U83 ( .Z(N213), .A(N199) );
inv_1_20 U84 ( .Z(N223), .A(N199) );
xor2_0 U85 ( .Z(N224), .A(N203), .B(N154) );
xor2_17 U86 ( .Z(N227), .A(N203), .B(N159) );
xor2_16 U87 ( .Z(N230), .A(N203), .B(N162) );
xor2_15 U88 ( .Z(N233), .A(N203), .B(N165) );
xor2_14 U89 ( .Z(N236), .A(N203), .B(N168) );
xor2_13 U90 ( .Z(N239), .A(N203), .B(N171) );
nand2_1_55 U91 ( .Z(N242), .A(N1), .B(N213) );
xor2_12 U92 ( .Z(N243), .A(N203), .B(N174) );
nand2_1_54 U93 ( .Z(N246), .A(N213), .B(N11) );
xor2_11 U94 ( .Z(N247), .A(N203), .B(N177) );
nand2_1_53 U95 ( .Z(N250), .A(N213), .B(N24) );
xor2_10 U96 ( .Z(N251), .A(N203), .B(N180) );
nand2_1_52 U97 ( .Z(N254), .A(N213), .B(N37) );
nand2_1_51 U98 ( .Z(N255), .A(N213), .B(N50) );
nand2_1_50 U99 ( .Z(N256), .A(N213), .B(N63) );
nand2_1_49 U100 ( .Z(N257), .A(N213), .B(N76) );
nand2_1_48 U101 ( .Z(N258), .A(N213), .B(N89) );
nand2_1_47 U102 ( .Z(N259), .A(N213), .B(N102) );
nand2_1_46 U103 ( .Z(N260), .A(N224), .B(N157) );
nand2_1_45 U104 ( .Z(N263), .A(N224), .B(N158) );
nand2_1_44 U105 ( .Z(N264), .A(N227), .B(N183) );
nand2_1_43 U106 ( .Z(N267), .A(N230), .B(N185) );
nand2_1_42 U107 ( .Z(N270), .A(N233), .B(N187) );
nand2_1_41 U108 ( .Z(N273), .A(N236), .B(N189) );
nand2_1_40 U109 ( .Z(N276), .A(N239), .B(N191) );
nand2_1_39 U110 ( .Z(N279), .A(N243), .B(N193) );
nand2_1_38 U111 ( .Z(N282), .A(N247), .B(N195) );
nand2_1_37 U112 ( .Z(N285), .A(N251), .B(N197) );
nand2_1_36 U113 ( .Z(N288), .A(N227), .B(N184) );
nand2_1_35 U114 ( .Z(N289), .A(N230), .B(N186) );
nand2_1_34 U115 ( .Z(N290), .A(N233), .B(N188) );
nand2_1_33 U116 ( .Z(N291), .A(N236), .B(N190) );
nand2_1_32 U117 ( .Z(N292), .A(N239), .B(N192) );
nand2_1_31 U118 ( .Z(N293), .A(N243), .B(N194) );
nand2_1_30 U119 ( .Z(N294), .A(N247), .B(N196) );
nand2_1_29 U120 ( .Z(N295), .A(N251), .B(N198) );
and9_1_2 U121 ( .Z(N296), .A(N260), .B(N264), .C(N267), .D(N270), .E(N273),
.F(N276), .G(N279), .H(N282), .I(N285) );
inv_1_19 U122 ( .Z(N300), .A(N263) );
inv_1_18 U123 ( .Z(N301), .A(N288) );
inv_1_17 U124 ( .Z(N302), .A(N289) );
inv_1_16 U125 ( .Z(N303), .A(N290) );
inv_1_15 U126 ( .Z(N304), .A(N291) );
inv_1_14 U127 ( .Z(N305), .A(N292) );
inv_1_13 U128 ( .Z(N306), .A(N293) );
inv_1_12 U129 ( .Z(N307), .A(N294) );
inv_1_11 U130 ( .Z(N308), .A(N295) );
inv_1_10 U131 ( .Z(N309), .A(N296) );
inv_1_9 U132 ( .Z(N319), .A(N296) );
inv_1_8 U133 ( .Z(N329), .A(N296) );
xor2_9 U134 ( .Z(N330), .A(N309), .B(N260) );
xor2_8 U135 ( .Z(N331), .A(N309), .B(N264) );
xor2_7 U136 ( .Z(N332), .A(N309), .B(N267) );
xor2_6 U137 ( .Z(N333), .A(N309), .B(N270) );
nand2_1_28 U138 ( .Z(N334), .A(N8), .B(N319) );
xor2_5 U139 ( .Z(N335), .A(N309), .B(N273) );
nand2_1_27 U140 ( .Z(N336), .A(N319), .B(N21) );
xor2_4 U141 ( .Z(N337), .A(N309), .B(N276) );
nand2_1_26 U142 ( .Z(N338), .A(N319), .B(N34) );
xor2_3 U143 ( .Z(N339), .A(N309), .B(N279) );
nand2_1_25 U144 ( .Z(N340), .A(N319), .B(N47) );
xor2_2 U145 ( .Z(N341), .A(N309), .B(N282) );
nand2_1_24 U146 ( .Z(N342), .A(N319), .B(N60) );
xor2_1 U147 ( .Z(N343), .A(N309), .B(N285) );
nand2_1_23 U148 ( .Z(N344), .A(N319), .B(N73) );
nand2_1_22 U149 ( .Z(N345), .A(N319), .B(N86) );
nand2_1_21 U150 ( .Z(N346), .A(N319), .B(N99) );
nand2_1_20 U151 ( .Z(N347), .A(N319), .B(N112) );
nand2_1_19 U152 ( .Z(N348), .A(N330), .B(N300) );
nand2_1_18 U153 ( .Z(N349), .A(N331), .B(N301) );
nand2_1_17 U154 ( .Z(N350), .A(N332), .B(N302) );
nand2_1_16 U155 ( .Z(N351), .A(N333), .B(N303) );
nand2_1_15 U156 ( .Z(N352), .A(N335), .B(N304) );
nand2_1_14 U157 ( .Z(N353), .A(N337), .B(N305) );
nand2_1_13 U158 ( .Z(N354), .A(N339), .B(N306) );
nand2_1_12 U159 ( .Z(N355), .A(N341), .B(N307) );
nand2_1_11 U160 ( .Z(N356), .A(N343), .B(N308) );
and9_1_1 U161 ( .Z(N357), .A(N348), .B(N349), .C(N350), .D(N351), .E(N352),
.F(N353), .G(N354), .H(N355), .I(N356) );
inv_1_7 U162 ( .Z(N360), .A(N357) );
inv_1_6 U163 ( .Z(N370), .A(N357) );
nand2_1_10 U164 ( .Z(N371), .A(N14), .B(N360) );
nand2_1_9 U165 ( .Z(N372), .A(N360), .B(N27) );
nand2_1_8 U166 ( .Z(N373), .A(N360), .B(N40) );
nand2_1_7 U167 ( .Z(N374), .A(N360), .B(N53) );
nand2_1_6 U168 ( .Z(N375), .A(N360), .B(N66) );
nand2_1_5 U169 ( .Z(N376), .A(N360), .B(N79) );
nand2_1_4 U170 ( .Z(N377), .A(N360), .B(N92) );
nand2_1_3 U171 ( .Z(N378), .A(N360), .B(N105) );
nand2_1_2 U172 ( .Z(N379), .A(N360), .B(N115) );
nand4_1_0 U173 ( .Z(N380), .A(N4), .B(N242), .C(N334), .D(N371) );
nand4_1_13 U174 ( .Z(N381), .A(N246), .B(N336), .C(N372), .D(N17) );
nand4_1_12 U175 ( .Z(N386), .A(N250), .B(N338), .C(N373), .D(N30) );
nand4_1_11 U176 ( .Z(N393), .A(N254), .B(N340), .C(N374), .D(N43) );
nand4_1_10 U177 ( .Z(N399), .A(N255), .B(N342), .C(N375), .D(N56) );
nand4_1_9 U178 ( .Z(N404), .A(N256), .B(N344), .C(N376), .D(N69) );
nand4_1_8 U179 ( .Z(N407), .A(N257), .B(N345), .C(N377), .D(N82) );
nand4_1_7 U180 ( .Z(N411), .A(N258), .B(N346), .C(N378), .D(N95) );
nand4_1_6 U181 ( .Z(N414), .A(N259), .B(N347), .C(N379), .D(N108) );
inv_1_5 U182 ( .Z(N415), .A(N380) );
and8_1 U183 ( .Z(N416), .A(N381), .B(N386), .C(N393), .D(N399), .E(N404),
.F(N407), .G(N411), .H(N414) );
inv_1_4 U184 ( .Z(N417), .A(N393) );
inv_1_3 U185 ( .Z(N418), .A(N404) );
inv_1_2 U186 ( .Z(N419), .A(N407) );
inv_1_1 U187 ( .Z(N420), .A(N411) );
nor2_1_1 U188 ( .Z(N421), .A(N415), .B(N416) );
nand2_1_1 U189 ( .Z(N422), .A(N386), .B(N417) );
nand4_1_5 U190 ( .Z(N425), .A(N386), .B(N393), .C(N418), .D(N399) );
nand3_1 U191 ( .Z(N428), .A(N399), .B(N393), .C(N419) );
nand4_1_4 U192 ( .Z(N429), .A(N386), .B(N393), .C(N407), .D(N420) );
nand4_1_3 U193 ( .Z(N430), .A(N381), .B(N386), .C(N422), .D(N399) );
nand4_1_2 U194 ( .Z(N431), .A(N381), .B(N386), .C(N425), .D(N428) );
nand4_1_1 U195 ( .Z(N432), .A(N381), .B(N422), .C(N425), .D(N429) );
endmodule


---------- Post added at 15:47 ---------- Previous post was at 15:13 ----------

hello again.
I have found that with nand+nor+inv set or by and+or_inv set it works. and also these commands:
set_flatten true -design name
compile -ungroup_all

thanks
Hello,
Actually all the cells in the library have the dont-use propert except NAND2X0. because I just wanted to map the circuits to just nand gates. thanks

---------- Post added at 14:29 ---------- Previous post was at 14:19 ----------

Hello, I need to do some BILP (binary integer linear programming) thus I need to use just nand gates. theoretically we could built every gates with nand gates. I seems the straight fwd approach is code a script to replace the and-or with nand gates. btw Actually I faced with another problems too. My case study is ISCAS85 benchmarks for example c432.v. after synthesis process I dont get a flat verilog code as attached bellow ( I have my top-module with some different modules for gates)
I wonder if you could suggest a method to force DC to combine those modules to top modules. because in current verison I should do some scripting to read multiinput gates such as and9-1 and put in the my top module (c432) manually . thanks in advance.

module and9_1_1 ( Z, A, B, C, D, E, F, G, H, I );
input A, B, C, D, E, F, G, H, I;
output Z;
wire n1, n2, n3, n4, n5, n6, n7;

AN2 U1 ( .A(n1), .B(n2), .Z(Z) );
AN2 U2 ( .A(n3), .B(n4), .Z(n2) );
AN2 U3 ( .A(n5), .B(C), .Z(n4) );
AN2 U4 ( .A(B), .B(A), .Z(n5) );
AN2 U5 ( .A(E), .B(D), .Z(n3) );
AN2 U6 ( .A(n6), .B(n7), .Z(n1) );
AN2 U7 ( .A(G), .B(F), .Z(n7) );
AN2 U8 ( .A(I), .B(H), .Z(n6) );
endmodule

................


// Top module :
module c432 ( N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40,
N43, N47, N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86,
N89, N92, N95, N99, N102, N105, N108, N112, N115, N223, N329, N370,
N421, N430, N431, N432 );
input N1, N4, N8, N11, N14, N17, N21, N24, N27, N30, N34, N37, N40, N43, N47,
N50, N53, N56, N60, N63, N66, N69, N73, N76, N79, N82, N86, N89, N92,
N95, N99, N102, N105, N108, N112, N115;
output N223, N329, N370, N421, N430, N431, N432;
wire N118, N119, N122, N123, N126, N127, N130, N131, N134, N135, N138,
N139, N142, N143, N146, N147, N150, N151, N154, N157, N158, N159,
N162, N165, N168, N171, N174, N177, N180, N183, N184, N185, N186,
N187, N188, N189, N190, N191, N192, N193, N194, N195, N196, N197,
N198, N199, N203, N213, N224, N227, N230, N233, N236, N239, N242,
N243, N246, N247, N250, N251, N254, N255, N256, N257, N258, N259,
N260, N263, N264, N267, N270, N273, N276, N279, N282, N285, N288,
N289, N290, N291, N292, N293, N294, N295, N296, N300, N301, N302,
N303, N304, N305, N306, N307, N308, N309, N319, N330, N331, N332,
N333, N334, N335, N336, N337, N338, N339, N340, N341, N342, N343,
N344, N345, N346, N347, N348, N349, N350, N351, N352, N353, N354,
N355, N356, N357, N360, N371, N372, N373, N374, N375, N376, N377,
N378, N379, N380, N381, N386, N393, N399, N404, N407, N411, N414,
N415, N416, N417, N418, N419, N420, N422, N425, N428, N429;

inv_1_0 U36 ( .Z(N118), .A(N1) );
inv_1_39 U37 ( .Z(N119), .A(N4) );
inv_1_38 U38 ( .Z(N122), .A(N11) );
inv_1_37 U39 ( .Z(N123), .A(N17) );
inv_1_36 U40 ( .Z(N126), .A(N24) );
inv_1_35 U41 ( .Z(N127), .A(N30) );
inv_1_34 U42 ( .Z(N130), .A(N37) );
inv_1_33 U43 ( .Z(N131), .A(N43) );
inv_1_32 U44 ( .Z(N134), .A(N50) );
inv_1_31 U45 ( .Z(N135), .A(N56) );
inv_1_30 U46 ( .Z(N138), .A(N63) );
inv_1_29 U47 ( .Z(N139), .A(N69) );
inv_1_28 U48 ( .Z(N142), .A(N76) );
inv_1_27 U49 ( .Z(N143), .A(N82) );
inv_1_26 U50 ( .Z(N146), .A(N89) );
inv_1_25 U51 ( .Z(N147), .A(N95) );
inv_1_24 U52 ( .Z(N150), .A(N102) );
inv_1_23 U53 ( .Z(N151), .A(N108) );
nand2_1_0 U54 ( .Z(N154), .A(N118), .B(N4) );
nor2_1_0 U55 ( .Z(N157), .A(N8), .B(N119) );
nor2_1_18 U56 ( .Z(N158), .A(N14), .B(N119) );
nand2_1_63 U57 ( .Z(N159), .A(N122), .B(N17) );
nand2_1_62 U58 ( .Z(N162), .A(N126), .B(N30) );
nand2_1_61 U59 ( .Z(N165), .A(N130), .B(N43) );
nand2_1_60 U60 ( .Z(N168), .A(N134), .B(N56) );
nand2_1_59 U61 ( .Z(N171), .A(N138), .B(N69) );
nand2_1_58 U62 ( .Z(N174), .A(N142), .B(N82) );
nand2_1_57 U63 ( .Z(N177), .A(N146), .B(N95) );
nand2_1_56 U64 ( .Z(N180), .A(N150), .B(N108) );
nor2_1_17 U65 ( .Z(N183), .A(N21), .B(N123) );
nor2_1_16 U66 ( .Z(N184), .A(N27), .B(N123) );
nor2_1_15 U67 ( .Z(N185), .A(N34), .B(N127) );
nor2_1_14 U68 ( .Z(N186), .A(N40), .B(N127) );
nor2_1_13 U69 ( .Z(N187), .A(N47), .B(N131) );
nor2_1_12 U70 ( .Z(N188), .A(N53), .B(N131) );
nor2_1_11 U71 ( .Z(N189), .A(N60), .B(N135) );
nor2_1_10 U72 ( .Z(N190), .A(N66), .B(N135) );
nor2_1_9 U73 ( .Z(N191), .A(N73), .B(N139) );
nor2_1_8 U74 ( .Z(N192), .A(N79), .B(N139) );
nor2_1_7 U75 ( .Z(N193), .A(N86), .B(N143) );
nor2_1_6 U76 ( .Z(N194), .A(N92), .B(N143) );
nor2_1_5 U77 ( .Z(N195), .A(N99), .B(N147) );
nor2_1_4 U78 ( .Z(N196), .A(N105), .B(N147) );
nor2_1_3 U79 ( .Z(N197), .A(N112), .B(N151) );
nor2_1_2 U80 ( .Z(N198), .A(N115), .B(N151) );
and9_1_0 U81 ( .Z(N199), .A(N154), .B(N159), .C(N162), .D(N165), .E(N168),
.F(N171), .G(N174), .H(N177), .I(N180) );
inv_1_22 U82 ( .Z(N203), .A(N199) );
inv_1_21 U83 ( .Z(N213), .A(N199) );
inv_1_20 U84 ( .Z(N223), .A(N199) );
xor2_0 U85 ( .Z(N224), .A(N203), .B(N154) );
xor2_17 U86 ( .Z(N227), .A(N203), .B(N159) );
xor2_16 U87 ( .Z(N230), .A(N203), .B(N162) );
xor2_15 U88 ( .Z(N233), .A(N203), .B(N165) );
xor2_14 U89 ( .Z(N236), .A(N203), .B(N168) );
xor2_13 U90 ( .Z(N239), .A(N203), .B(N171) );
nand2_1_55 U91 ( .Z(N242), .A(N1), .B(N213) );
xor2_12 U92 ( .Z(N243), .A(N203), .B(N174) );
nand2_1_54 U93 ( .Z(N246), .A(N213), .B(N11) );
xor2_11 U94 ( .Z(N247), .A(N203), .B(N177) );
nand2_1_53 U95 ( .Z(N250), .A(N213), .B(N24) );
xor2_10 U96 ( .Z(N251), .A(N203), .B(N180) );
nand2_1_52 U97 ( .Z(N254), .A(N213), .B(N37) );
nand2_1_51 U98 ( .Z(N255), .A(N213), .B(N50) );
nand2_1_50 U99 ( .Z(N256), .A(N213), .B(N63) );
nand2_1_49 U100 ( .Z(N257), .A(N213), .B(N76) );
nand2_1_48 U101 ( .Z(N258), .A(N213), .B(N89) );
nand2_1_47 U102 ( .Z(N259), .A(N213), .B(N102) );
nand2_1_46 U103 ( .Z(N260), .A(N224), .B(N157) );
nand2_1_45 U104 ( .Z(N263), .A(N224), .B(N158) );
nand2_1_44 U105 ( .Z(N264), .A(N227), .B(N183) );
nand2_1_43 U106 ( .Z(N267), .A(N230), .B(N185) );
nand2_1_42 U107 ( .Z(N270), .A(N233), .B(N187) );
nand2_1_41 U108 ( .Z(N273), .A(N236), .B(N189) );
nand2_1_40 U109 ( .Z(N276), .A(N239), .B(N191) );
nand2_1_39 U110 ( .Z(N279), .A(N243), .B(N193) );
nand2_1_38 U111 ( .Z(N282), .A(N247), .B(N195) );
nand2_1_37 U112 ( .Z(N285), .A(N251), .B(N197) );
nand2_1_36 U113 ( .Z(N288), .A(N227), .B(N184) );
nand2_1_35 U114 ( .Z(N289), .A(N230), .B(N186) );
nand2_1_34 U115 ( .Z(N290), .A(N233), .B(N188) );
nand2_1_33 U116 ( .Z(N291), .A(N236), .B(N190) );
nand2_1_32 U117 ( .Z(N292), .A(N239), .B(N192) );
nand2_1_31 U118 ( .Z(N293), .A(N243), .B(N194) );
nand2_1_30 U119 ( .Z(N294), .A(N247), .B(N196) );
nand2_1_29 U120 ( .Z(N295), .A(N251), .B(N198) );
and9_1_2 U121 ( .Z(N296), .A(N260), .B(N264), .C(N267), .D(N270), .E(N273),
.F(N276), .G(N279), .H(N282), .I(N285) );
inv_1_19 U122 ( .Z(N300), .A(N263) );
inv_1_18 U123 ( .Z(N301), .A(N288) );
inv_1_17 U124 ( .Z(N302), .A(N289) );
inv_1_16 U125 ( .Z(N303), .A(N290) );
inv_1_15 U126 ( .Z(N304), .A(N291) );
inv_1_14 U127 ( .Z(N305), .A(N292) );
inv_1_13 U128 ( .Z(N306), .A(N293) );
inv_1_12 U129 ( .Z(N307), .A(N294) );
inv_1_11 U130 ( .Z(N308), .A(N295) );
inv_1_10 U131 ( .Z(N309), .A(N296) );
inv_1_9 U132 ( .Z(N319), .A(N296) );
inv_1_8 U133 ( .Z(N329), .A(N296) );
xor2_9 U134 ( .Z(N330), .A(N309), .B(N260) );
xor2_8 U135 ( .Z(N331), .A(N309), .B(N264) );
xor2_7 U136 ( .Z(N332), .A(N309), .B(N267) );
xor2_6 U137 ( .Z(N333), .A(N309), .B(N270) );
nand2_1_28 U138 ( .Z(N334), .A(N8), .B(N319) );
xor2_5 U139 ( .Z(N335), .A(N309), .B(N273) );
nand2_1_27 U140 ( .Z(N336), .A(N319), .B(N21) );
xor2_4 U141 ( .Z(N337), .A(N309), .B(N276) );
nand2_1_26 U142 ( .Z(N338), .A(N319), .B(N34) );
xor2_3 U143 ( .Z(N339), .A(N309), .B(N279) );
nand2_1_25 U144 ( .Z(N340), .A(N319), .B(N47) );
xor2_2 U145 ( .Z(N341), .A(N309), .B(N282) );
nand2_1_24 U146 ( .Z(N342), .A(N319), .B(N60) );
xor2_1 U147 ( .Z(N343), .A(N309), .B(N285) );
nand2_1_23 U148 ( .Z(N344), .A(N319), .B(N73) );
nand2_1_22 U149 ( .Z(N345), .A(N319), .B(N86) );
nand2_1_21 U150 ( .Z(N346), .A(N319), .B(N99) );
nand2_1_20 U151 ( .Z(N347), .A(N319), .B(N112) );
nand2_1_19 U152 ( .Z(N348), .A(N330), .B(N300) );
nand2_1_18 U153 ( .Z(N349), .A(N331), .B(N301) );
nand2_1_17 U154 ( .Z(N350), .A(N332), .B(N302) );
nand2_1_16 U155 ( .Z(N351), .A(N333), .B(N303) );
nand2_1_15 U156 ( .Z(N352), .A(N335), .B(N304) );
nand2_1_14 U157 ( .Z(N353), .A(N337), .B(N305) );
nand2_1_13 U158 ( .Z(N354), .A(N339), .B(N306) );
nand2_1_12 U159 ( .Z(N355), .A(N341), .B(N307) );
nand2_1_11 U160 ( .Z(N356), .A(N343), .B(N308) );
and9_1_1 U161 ( .Z(N357), .A(N348), .B(N349), .C(N350), .D(N351), .E(N352),
.F(N353), .G(N354), .H(N355), .I(N356) );
inv_1_7 U162 ( .Z(N360), .A(N357) );
inv_1_6 U163 ( .Z(N370), .A(N357) );
nand2_1_10 U164 ( .Z(N371), .A(N14), .B(N360) );
nand2_1_9 U165 ( .Z(N372), .A(N360), .B(N27) );
nand2_1_8 U166 ( .Z(N373), .A(N360), .B(N40) );
nand2_1_7 U167 ( .Z(N374), .A(N360), .B(N53) );
nand2_1_6 U168 ( .Z(N375), .A(N360), .B(N66) );
nand2_1_5 U169 ( .Z(N376), .A(N360), .B(N79) );
nand2_1_4 U170 ( .Z(N377), .A(N360), .B(N92) );
nand2_1_3 U171 ( .Z(N378), .A(N360), .B(N105) );
nand2_1_2 U172 ( .Z(N379), .A(N360), .B(N115) );
nand4_1_0 U173 ( .Z(N380), .A(N4), .B(N242), .C(N334), .D(N371) );
nand4_1_13 U174 ( .Z(N381), .A(N246), .B(N336), .C(N372), .D(N17) );
nand4_1_12 U175 ( .Z(N386), .A(N250), .B(N338), .C(N373), .D(N30) );
nand4_1_11 U176 ( .Z(N393), .A(N254), .B(N340), .C(N374), .D(N43) );
nand4_1_10 U177 ( .Z(N399), .A(N255), .B(N342), .C(N375), .D(N56) );
nand4_1_9 U178 ( .Z(N404), .A(N256), .B(N344), .C(N376), .D(N69) );
nand4_1_8 U179 ( .Z(N407), .A(N257), .B(N345), .C(N377), .D(N82) );
nand4_1_7 U180 ( .Z(N411), .A(N258), .B(N346), .C(N378), .D(N95) );
nand4_1_6 U181 ( .Z(N414), .A(N259), .B(N347), .C(N379), .D(N108) );
inv_1_5 U182 ( .Z(N415), .A(N380) );
and8_1 U183 ( .Z(N416), .A(N381), .B(N386), .C(N393), .D(N399), .E(N404),
.F(N407), .G(N411), .H(N414) );
inv_1_4 U184 ( .Z(N417), .A(N393) );
inv_1_3 U185 ( .Z(N418), .A(N404) );
inv_1_2 U186 ( .Z(N419), .A(N407) );
inv_1_1 U187 ( .Z(N420), .A(N411) );
nor2_1_1 U188 ( .Z(N421), .A(N415), .B(N416) );
nand2_1_1 U189 ( .Z(N422), .A(N386), .B(N417) );
nand4_1_5 U190 ( .Z(N425), .A(N386), .B(N393), .C(N418), .D(N399) );
nand3_1 U191 ( .Z(N428), .A(N399), .B(N393), .C(N419) );
nand4_1_4 U192 ( .Z(N429), .A(N386), .B(N393), .C(N407), .D(N420) );
nand4_1_3 U193 ( .Z(N430), .A(N381), .B(N386), .C(N422), .D(N399) );
nand4_1_2 U194 ( .Z(N431), .A(N381), .B(N386), .C(N425), .D(N428) );
nand4_1_1 U195 ( .Z(N432), .A(N381), .B(N422), .C(N425), .D(N429) );
endmodule

---------- Post added at 15:13 ---------- Previous post was at 14:29 ----------

Thanks. I have found :
compile -ungroup_all
this command combines all modules in 1 single module.
 

Hi,

1) maybe you could recode the function that is producing the XOR gate to help the synthesis tool map to NANDS

2) Is there a map_effort on compile? if so, you could place with that setting.

3) Are you applying any timing/area constraints?

4) Your library probably has technology constraints like max_fanout and such. the tool is trying to meet these requirements.
 

you should try SIS tool for converting ISCAS85 benchmarks
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top