Deep DRC can miss violations when a cell has many shapes
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #2547 de @nikosavola — cerrado sin fusionar
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- computer-graphics, testing
Línea de trabajo
Read the box_scanner2 sweep and the instance to shape interaction scan in dbHierProcessor.cc, focusing on how reported pairs are keyed and how layer ids enter the scan. Reproduce the issue with the small box_scanner2 test described in the report, using duplicate insertions with different properties and enough boxes to cross the threshold. Done means the sweep reports both pairs and the deep DRC result retains all 4296 markers.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
On a clipped deep DRC run of the vexriscv layout, a via1 in metal1 enclosure check loses 2127 of its 4296 markers. Forcing the brute force path everywhere gives all 4296. Almost every via either keeps all of its markers or loses all of them.
The cause is in the box_scanner2 sweep. It remembers the pairs it has already reported in a set, and that set is keyed on the two object pointers only. In the instance to shape interaction scan in dbHierProcessor.cc the same shape can be inserted twice with two different intruder layer ids. The second pair then looks like a duplicate and is dropped. Small cells don't use the sweep, so there both pairs are reported and the result depends on how many shapes a cell has. A small box_scanner2 test shows the same thing when one object is inserted twice with different properties and there are enough other boxes to go over the threshold.
- Lenguaje dominante
- C++
- Estrellas
- 1.2k
- Forks
- 305
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 11
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de KLayout/klayout
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
KLayout/klayout#2554 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
KLayout/klayout#2412 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
DRC functions not working properly with clip in placePosiblemente ocupada @klayoutmatthias la tomó hoy. Abiertobug
KLayout/klayout#2553 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
Los mantenedores suelen responder en 1 día
-
Python API: edge neighborhood nodes retain visitors after leaving scopePosiblemente ocupada @klayoutmatthias la tomó hace 4 días. Abiertobug
KLayout/klayout#2542 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de KLayout/klayout
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Integer underflow and buffer overrun in detail::count_rows on disconnected distance matricesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
LaneDibello/Kotor-Patch-Manager#375 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día