I have noticed an error message in my magic.drc.lo...
# openlane
w
I have noticed an error message in my magic.drc.log which says:
Cell sky130_fd_sc_hd__o22a_4 couldn't be read
DEF read, Line 159 (Error): Cell sky130_fd_sc_hd__o22a_4 is not defined.  Maybe you have not read the corresponding LEF file?
Cell sky130_fd_sc_hd__a2bb2o_4 couldn't be read
DEF read, Line 160 (Error): Cell sky130_fd_sc_hd__a2bb2o_4 is not defined.  Maybe you have not read the corresponding LEF file?
Cell sky130_fd_sc_hd__xor2_4 couldn't be read
DEF read, Line 161 (Error): Cell sky130_fd_sc_hd__xor2_4 is not defined.  Maybe you have not read the corresponding LEF file?
Cell sky130_fd_sc_hd__inv_8 couldn't be read
DEF read, Line 162 (Error): Cell sky130_fd_sc_hd__inv_8 is not defined.  Maybe you have not read the corresponding LEF file?
Cell sky130_fd_sc_hd__inv_8 couldn't be read
DEF read, Line 163 (Error): Cell sky130_fd_sc_hd__inv_8 is not defined.  Maybe you have not read the corresponding LEF file?
Cell sky130_fd_sc_hd__and2_4 couldn't be read
DEF read, Line 164 (Error): Cell sky130_fd_sc_hd__and2_4 is not defined.  Maybe you have not read the corresponding LEF file?
And the list goes on.. Which LEF is it referring to? The
merged.lef
has these cells included in it. I get the same message when I ran
spm
design as well.
@Amr Gouhar
So I was looking at the
scripts/magic.drc.tcl
The scripts reads:
lef read $::env(TECH_LEF)
#load $::env(magic_result_file_tag).mag
if {  [info exist ::env(EXTRA_LEFS)] } {
set lefs_in $::env(EXTRA_LEFS)
foreach lef_file $lefs_in {
lef read $lef_file
}
Now the lef file it is reading is
techlef/sky130_fd_sc_hd.tlef
which does not contain information of the cells. Rather it is
lef/sky130_fd_sc_hd.lef
which contaiins the cell information. Is that the reason of the error?
a
@Wajeh ul hasan: you don't need the lef, because the magicrc contains pointers to the maglef of each cell. So if the setup is correct, everything should be fine.