<@U018LA3KZCJ> I'm struggling to get `spef -path` ...
# openroad
a
@User I'm struggling to get
spef -path
to work:
Copy code
read_spef -path microwatt_0.soc0.processor.register_file_0.register_file_0
Gives me:
Copy code
[ERROR STA-0433] path instance 'microwatt_0.soc0.processor.register_file_0.register_file_0' not found.
But it seems like it should be there:
Copy code
sta::get_name [lindex [sta::get_cells microwatt_0.soc0.processor.register_file_0.register_file_0*] 0]
microwatt_0.soc0.processor.register_file_0.register_file_0/FILLER_0_1006
d
read_spef format was read_spef -path <instance path> <spef file> example: read_spef -path mprj $::env(USER_ROOT)/spef/user_project_wrapper.spef
m
are you reading in the verilog or just the DEF?
the escaped name in verilog \microwatt_0.soc0.processor.register_file_0.register_file_0 probably requires some escaping when passed to read_spef otherwise it will interpret the . as hier delim
a
I did think it could be that and tried various combinations like
{microwatt_0\.soc0.processor\.register_file_0\.register_file_0}
but haven't found one that works yet.
m
I can see from your read_lef that you are running this in openroad. You need to run it in standalone 'sta'. OR doens't support verilog hierarchy but sta does
sta sta.tcl gives no read_spef errors for me
a
Thanks @User I missed that detail, and I was using the openroad executable. Looks to be working now! Thank you
👍 1