asap7.lydrc: V5.M6.AUX.2 and V7.M8.AUX.2 check vertical edges, but M6 and M8 are horizontal, so legal VIA56/VIA78 are flagged
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- ruby
- Área
- backend, testing-qa
Línea de trabajo
Lee flow/platforms/asap7/drc/asap7.lydrc en las comprobaciones V5.M6.AUX.2 y V7.M8.AUX.2; después, compara la selección de ángulos con las orientaciones M6 y M8 en asap7_tech_1x_201209.lef. Reproduce el problema con los diseños de prueba hechos a mano descritos o con el flujo asap7/gcd. El trabajo estará terminado cuando las vías horizontales M6/M8 que cumplen las reglas pasen, las vías más estrechas sigan provocando infracciones y el recuento de infracciones de las demás reglas no cambie.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
flow/platforms/asap7/drc/asap7.lydrc checks that a via is exactly as wide as the metal above it by looking for coincident edges, selecting the edges across the metal's width with with_angle:
- line 377, V3.M4.AUX.2:
.edges.with_angle(0)-- M4 is HORIZONTAL, correct; - lines 423 and 477, V4.M5.AUX.2 and V6.M7.AUX.2:
.edges.with_angle(90)-- M5 and M7 are VERTICAL, correct; - line 431, V5.M6.AUX.2, and line 485, V7.M8.AUX.2:
.edges.with_angle(90), but M6 and M8 are HORIZONTAL inasap7_tech_1x_201209.lef(lines 453 and 574), so the check looks at the wrong edges.
As a result every legal V5 under a horizontal M6 is flagged, including the tech LEF's own VIA56 (lines 683-690: V5 24 x 32 nm under a 32 nm wide M6) and pdngen's wide power vias (e.g. via5_6_120_288_1_2_58_322, a 24 x 288 nm cut under a 288 nm M6 strap).
Evidence
asap7/gcd(with DEF units fixed, see #4737): 81 V5.M6.AUX.2 markers (65 VIA56 x 1, 8 power vias x 2); withwith_angle(0)on the two lines: 0, every other rule count unchanged.- A ~72k-instance block: 8,501 V5.M6.AUX.2 markers, all gone with the change; total 95,010 -> 86,509, nothing else changed.
- Hand-made test layouts: a minimum-width (32 nm) horizontal M6 with a VIA56-shaped V5 is flagged by the current deck and passes with
with_angle(0); a V5 that really is narrower than the M6 (24 nm high under 32 nm) is flagged by both, so the fixed check still catches real violations.
Suggested fix
-v5.not_interacting(m6.enclosing(v5, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(90)).output("V5.M6.AUX.2", ...
+v5.not_interacting(m6.enclosing(v5, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(0)).output("V5.M6.AUX.2", ...
-v7.not_interacting(m8.enclosing(v7, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(90)).output("V7.M8.AUX.2", ...
+v7.not_interacting(m8.enclosing(v7, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(0)).output("V7.M8.AUX.2", ...
ORFS commit c06bf3c; the two lines are unchanged on current master (the deck was last changed 2023-04-05). KLayout 0.28.16.
- Lenguaje dominante
- Verilog
- Estrellas
- 777
- Forks
- 549
- Merge medio
- 2 d 10 h
- PR fusionados (30 d)
- 91
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
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 The-OpenROAD-Project/OpenROAD-flow-scripts
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 71/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4754 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
pr-head should not vote on PRsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4726 ·
Los mantenedores suelen responder en 1 día
-
build_openroad.sh: kepler-formal is installed with an absolute RUNPATH, so a moved or re-pointed install loads another build's librariesPosiblemente ocupada @saikatchatrg la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4717 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Make SYNTH_HDL_FRONTEND=slang defaultQuizá libre de nuevo @jeffng-or la tomó hace 37 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4548 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4764 ·
Los mantenedores suelen responder en 1 día
Todos los issues de The-OpenROAD-Project/OpenROAD-flow-scripts
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
google/go-containerregistry#2491 ·
Los mantenedores suelen responder en 1 día
-
Psalm types a #[ServiceMap] className given as a non-::class constant as the constant's ownerAbiertoagent-ready area:static-analysis bug p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
gacela-project/gacela#1048 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Graphify-Labs/graphify#4860 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
aiac enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Ingredient import validation accepts negative nutrient values and NaNPosiblemente ocupada @LukeSekai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wger-project/wger#2564 ·
Los mantenedores suelen responder en 2 días