Vijayan Krishnan
07/02/2022, 8:00 AMcore_debug[7] |core_debug[7]
core_debug[8] |core_debug[6] **Mismatch**
core_debug[6] |core_debug[8] **Mismatch**
core2dmem_addr_o[7] |core2dmem_addr_o[7]
Mitch Bailey
07/02/2022, 8:16 AMcore_debug[6]
and core_debug[8]
?Vijayan Krishnan
07/02/2022, 9:04 AMMitch Bailey
07/02/2022, 9:12 AMMitch Bailey
07/02/2022, 9:12 AMVijayan Krishnan
07/02/2022, 9:13 AMMitch Bailey
07/02/2022, 9:14 AMVijayan Krishnan
07/02/2022, 9:17 AMVijayan Krishnan
07/02/2022, 9:19 AMycr_core_top.gds ycr_core_top.klayout.gds
shall I share?Vijayan Krishnan
07/02/2022, 9:33 AMMitch Bailey
07/02/2022, 12:03 PMVijayan Krishnan
07/02/2022, 12:12 PMMitch Bailey
07/02/2022, 1:10 PMdecap
cells in it.Tim Edwards
07/02/2022, 2:18 PMsky130_fd_sc_hd__buf_2 _40295_ (
.A(\i_pipe_top.exu2idu_rdy ),
.X(core_debug[6])
);
...
sky130_fd_sc_hd__buf_2 _40297_ (
.A(\i_pipe_top.exu2idu_rdy ),
.X(core_debug[8])
);
So core_debug[6] and core_debug[8] are connected to the same signal. If I trace the layout, these signals are clearly connected to different nets. There seems to be much more going on here than just a pin swap. But if it really is just the two pins connected to the same net, then you should set ext2spice short resistor
in magic before doing extraction, so that it will keep the two port names separated.Mitch Bailey
07/02/2022, 2:28 PMcore_debug[6]
and core_debug[8]
are connected to the same signal, but rather that they are outputs of 2 separate buffers with the same input, meaning that they are interchangeable from a topological standpoint (unless they are connected to something else). I thought netgen does a port check after the topology check to resolve these types of automorphisms.Tim Edwards
07/02/2022, 2:35 PMVijayan Krishnan
07/02/2022, 3:05 PMMitch Bailey
07/02/2022, 3:10 PMVijayan Krishnan
07/02/2022, 3:11 PMVijayan Krishnan
07/02/2022, 3:15 PMVijayan Krishnan
07/02/2022, 3:23 PMMitch Bailey
07/02/2022, 3:32 PMcore_debug[6]
and core_debug[8]
as outputs of 2 separate buffers with the same input. However, tracing these nets in the layout, has core_debug[6]
as a buffer output, but core_debug[8]
is not only an output of a buffer, but also input to 3 logic gates. I'll take a look at the repo data on Monday.Tim Edwards
07/02/2022, 9:25 PMVijayan Krishnan
07/04/2022, 7:14 AMMitch Bailey
07/04/2022, 11:13 AMycr_gds.zip
doesn't appear to match your lvs results. In the netlist, the difference between core_debug[6]
and core_debug[8]
is the number of diodes connected to the previous buffer input. They are logically equivalent.Vijayan Krishnan
07/04/2022, 11:27 AMMitch Bailey
07/04/2022, 11:57 AM