Continue to Site

Welcome to

Welcome to our site! 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.

Liberate characterization of std cells with sequential behavior

Not open for further replies.


Newbie level 3
Apr 13, 2015
Reaction score
Trophy points
Activity points

I am trying to perform characterization with Liberate on a custom cell library containing cells with sequential behavior (not FF or latch).

The tool doesn't seem to recognize the feedback inside the cells and thus I do not get the correct arcs to take into account all possible transitions with respect to the previous output. I know that it is possible to use state tables (like the ones used in scan chains). However I cannot find any documentation of the format. I would appreciate if someone could give me a hint about the use of state tables or alternatives for the sequential element's characterization.

Thank you in advance!

Liberate doesn't understand a finite state machine (more than 1 flops connected in a "complicated" way). Liberate understands multi-bit flops but not if you have flops connected in arbitrary fashion to design a standard cell block.
The only way is to write vectors for individual arcs making sure that you have a complete set. Also these will not be synthesizable as the synthesis tools wont understand these designs. They are done custom, characterization is custom and inserting into the design is also custom. Be it liberate or siliconsmart...none of these tools understand the state_tables of a complex block. the state_tables are for a different purpose.
So if there is a "real" advantage of doing a FSM in standard cells, then only it should be done. else it is better to write an RTL with individual flops and synthesizing it ....letting the timing tools take care of timing closure.

Thank you for the response.
I have tried to put the specific arcs but I as I see the results ,Liberate is generating the arcs like 'shots' at the inputs and I cannot check the dependance due to the previous output.
I mean is there anyway I could force my output to a value and then apply an input vector in order to see the changes with respect to the previous value?

Not open for further replies.

Part and Inventory Search

Welcome to