In the latest evaluator.cpp, line 598: total_wl += wire_counter[z][x][y] * m_graph.cell_height(y); and line 218: int cell_height(int y) const { return m_y_coords[y + 1] - m_y_coords[y];} . If a pin is located at the edge,for example(mempool_group.net):
group_id_i[1]
(
[(5, 899, 2416)]
[(0, 925, 2261), (0, 925, 2262)]
[(0, 938, 1887)]
)
pin (5, 899, 2416) is located at the edge, cell_width(2416) need to use m_y_coords[2417] for calculation. In line356-361, init_y_coords will only create a vector with a length of 2416. So it will lead to cross-border access.
In the latest evaluator.cpp, line 598: total_wl += wire_counter[z][x][y] * m_graph.cell_height(y); and line 218: int cell_height(int y) const { return m_y_coords[y + 1] - m_y_coords[y];} . If a pin is located at the edge,for example(mempool_group.net): group_id_i[1] ( [(5, 899, 2416)] [(0, 925, 2261), (0, 925, 2262)] [(0, 938, 1887)] ) pin (5, 899, 2416) is located at the edge, cell_width(2416) need to use m_y_coords[2417] for calculation. In line356-361, init_y_coords will only create a vector with a length of 2416. So it will lead to cross-border access.