IHP-GmbH / IHP-Open-PDK

130nm BiCMOS Open Source PDK, dedicated for Analog, Mixed Signal and RF Design
Apache License 2.0
287 stars 34 forks source link

Unsupported expression for cell sg13g2_sdfbbp_1 #80

Open dnltz opened 1 week ago

dnltz commented 1 week ago

I found the following warning in OpenROAD and it looks like the stdcell lib has a type included: https://github.com/IHP-GmbH/IHP-Open-PDK/blob/dceb7e6bd1a877182c3ba32c2e238be08368fa3f/ihp-sg13g2/libs.ref/sg13g2_stdcell/lib/sg13g2_stdcell_typ_1p50V_25C.lib#L27289

Warning: Found unsupported expression 'SCE*SCD+SCE'*D' in pin attribute of cell 'sg13g2_sdfbbp_1' - skipping.

I can send a fix but can someone confirm this is a typo?

dnltz commented 1 week ago

@KrzysztofHerman

KrzysztofHerman commented 1 week ago

@dnltz thank you for reproducing this as well because we are aware of this warning. The person in charge has it in his pipeline but it you can provide the fix such as typo go ahead and do so so we can check it out using other tools as well.

dnltz commented 1 week ago

See https://github.com/IHP-GmbH/IHP-Open-PDK/pull/83

sergeiandreyev commented 5 days ago

Hi @dnltz , this is not a typo - this is an inversion, if you remove this symbol the function will not be correct. An option will be to change this symbol to !: (SCE*SCD)+(!SCE*D) Could you please try to change the function:

ff (IQ,IQN) {
      clear : "!RESET_B";
      clear_preset_var1 : "H";
      clear_preset_var2 : "L";
      clocked_on : "CLK";
      next_state : "(SCE*SCD)+(!SCE*D)";
      preset : "!SET_B";
      }

and give us your feedback whether it passes now.

dnltz commented 1 day ago

@sergeiandreyev still the same warning. I wonder if this expression is allowed at all and should be replaced by boolean operations since it defines the next state of a flip-flop.