https://open-source-silicon.dev logo
u

20Mhz

07/19/2020, 8:53 PM
by the way the dont use variable needs escaped ” on my platform does it work as is for you?
m

mehdi

07/19/2020, 10:21 PM
It works for me in gf12lp
u

20Mhz

07/19/2020, 10:32 PM
maybe is just the way the .lib is written
Copy code
Opening file for replace: objects/sw130/copperv/merged.lib.tmp
(^\s*cell\s*\(\s*("sky130_fd_sc_hs__dlymetal6s6s_1"|"sky130_fd_sc_hs__buf_2"|"sky130_fd_sc_hs__clkbuf_4"|"sky130_fd_sc_hs__dfxtp_1")\)\s*\{)
Marked 4 cells as dont_use
From .lib
Copy code
cell ("sky130_fd_sc_hs__buf_2") {
So from how the pattern was defined, it was expecting the quotes to be passed, if I don’t escape them, they get lost in the make assignment
m

mehdi

07/19/2020, 10:35 PM
I think that needs to be removed from .libs
I will log a ticket
u

20Mhz

07/19/2020, 10:36 PM
maybe is better to add something like [“]+ to the pattern
m

mehdi

07/19/2020, 10:37 PM
I just checked versus other commercial pdks and there are no quotes
you meant in the make timing script
u

20Mhz

07/19/2020, 10:50 PM
I meant to fix it on util/markDontUse.py to make it more robust
Copy code
pattern = r"(^\s*cell\s*\(\s*("+"|".join(patternList)+")\)\s*\{)"
I checked on my end and I see both ways w and wo “, even on production libs.
m

mehdi

07/19/2020, 10:51 PM
okay I will make that chnage
👍 1
thank you
@20Mhz Does this work better:
pattern = r"(^\s*cell\s*\([\"]\s*("+"|".join(patternList)+")\[\"])\s*\{)"
u

20Mhz

07/20/2020, 2:06 AM
more like:
Copy code
pattern = r"(^\s*cell\s*\(\s*([\"]*"+"[\"]*|[\"]*".join(patternList)+"[\"]*)\)\s*\{)"
👍 1