My intention was to run LVS on each of the caravel sub-block gds and verilog and then run the top level caravel LVS with the top gds and combined verilog netlists.
caravel_clocking
passed standalone LVS, but the instantiation of this block inside
caravel
is different from the standalone
caravel_clocking
gds. And since the
caravel_clocking
gds matches the
verilog/gl/caravel_clocking.v
netlist, the netlist will not match
caravel_clocking
in
caravel.gds
.
caravel_clocking.gds
has one instance of
sky130_fd_sc_hd__dlymetal6s2s_1
while
caravel_clocking
in
caravel.gds
has three instances of
sky130_fd_sc_hd__dlymetal6s2s_1
.
As I was saying before, if we can convert the verilog to spice, we can run CVC-RV on that. However, it needs to pass LVS to be reliable.
2 files