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.

Question about synthesizing the "Inverter Chain" b

Status
Not open for further replies.

ckcson

Newbie level 3
Joined
Aug 29, 2006
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,309
Dear All:

I have an important question about synthesize the inverter chain by using the
Synopsys Design Compiler.

I want to make a odd-number inverter chain to build a digital oscillator.
But the Design Compiler will optimize my design.
What can I do ?

I have try to use the "dont_munch" description , but it still can't fit my idea.

these are my verilog code:

module ring_osc(enable,out1,out2,out3,out4,fout);
input enable;
output fout;

output out1; //synopsys dont_munch "out1"
output out2; //synopsys dont_munch "out2"
output out3; //synopsys dont_munch "out3"
output out4; //synopsys dont_munch "out4"

nand (out1,enable,fout);
not (out2,out1);
not (out3,out2);
not (out4,out3);
not (fout,out4);

endmodule



Thanks a lot for your suggestion.
 

Re: Question about synthesizing the "Inverter Chain&amp

if u r question is to build up a odd number inverter chain then
try to put dont_use even number inverter cells in the synopsys setup file and the DC will use u r odd number inverters for the optimization..hope u got what i am trying to say.

and also specify "set_max_delay" ...depending up on the specified delay it will build up the inverter chain.

Regards,
dcreddy
 

you must use dont_touch on library cell, not math logic.
synopsys will translate math logic to GTECH library, then map to target library. If you want delay chain.
Just use target cell directly. then set_dont_touch on them.
 

Re: Question about synthesizing the "Inverter Chain&amp

wkong_zhu said:
you must use dont_touch on library cell, not math logic.
synopsys will translate math logic to GTECH library, then map to target library. If you want delay chain.
Just use target cell directly. then set_dont_touch on them.

when I read the "inverter_chain.v" file in,it will automatically translate to G_tech library. The schematic has been optimize(already not the original schematic what I want) ,what can I do with that?

Thanks^^

Added after 2 minutes:

dcreddy1980 said:
if u r question is to build up a odd number inverter chain then
try to put dont_use even number inverter cells in the synopsys setup file and the DC will use u r odd number inverters for the optimization..hope u got what i am trying to say.

and also specify "set_max_delay" ...depending up on the specified delay it will build up the inverter chain.

Regards,
dcreddy

Sorry,I didn't got your point.
Use the even number inverter in setup file?
Could you describe more detail?
Thanks
 

Re: Question about synthesizing the "Inverter Chain&amp

what i meant is...in your synopsys setup file...u can specify which of the cells from the standard cell library shouldn't be used during synthesis...

For example :

set_dont_use *IV*2
set_dont_use *IV*4

The above two commands should be present in the setup file and once they are in the setup file...u r inverter chain will not have inverters with X2 or X4 at all in the final netlist.

I hope ...u did get my point.

Regards,
dcreddy
 

Maybe I have to make myself understandably.
If I try to form a inverter chain like this:
In---inverter---out1---inverter---out2---inverter---out3----inverter---out4----inverter---out
When I read the verilog file in the DC,the schematic view will be translated to this (with G_tech)
**broken link removed**

Thanks for your helping.
I'm very appreciated :)
 

Re: Question about synthesizing the "Inverter Chain&amp

Did u get what u want?

or Still u have doubhts regarding the approach?

Regards,
dcreddy1980
 

Dear All:

I have an important question about synthesize the inverter chain by using the
Synopsys Design Compiler.

I want to make a odd-number inverter chain to build a digital oscillator.
But the Design Compiler will optimize my design.
What can I do ?

I have try to use the "dont_munch" description , but it still can't fit my idea.

these are my verilog code:

module ring_osc(enable,out1,out2,out3,out4,fout);
input enable;
output fout;

output out1; //synopsys dont_munch "out1"
output out2; //synopsys dont_munch "out2"
output out3; //synopsys dont_munch "out3"
output out4; //synopsys dont_munch "out4"

nand (out1,enable,fout);
not (out2,out1);
not (out3,out2);
not (out4,out3);
not (fout,out4);

endmodule



Thanks a lot for your suggestion.

U can separate it as a cell and set_dont_touch, then it will not be optimized
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top