El control 'práctico' explícito de la ruta parece una buena idea, pero no lo es.
Recuerda los días en que los programadores de ensambladores podrían exprimir un poco más el rendimiento de un algoritmo mediante el uso de un código de ensamblaje manual en lugar de un compilador. Hay tanta complejidad que puedes pensar a tu manera. A medida que el objetivo se vuelve más complejo, las tablas de predicción de bifurcaciones, los núcleos múltiples, los procesos de ejecución profunda, el microtrabado, se vuelven poco prácticos. Estoy escribiendo aquí como alguien que escribió el código de ensamblaje para una TI C6000 DSP, 8 unidades de ejecución y una tubería de 5 profundos para cargar / guardar memoria, ¡una pesadilla!
Sólo los entusiastas entusiastas escriben ensambladores en estos días, las personas que quieren hacer el trabajo aprenden a restringir y ayudar al compilador.
De todos modos, el enrutamiento implica múltiples tipos de recursos (líneas largas, medias líneas, directamente a través de un mux, líneas locales adyacentes, por mencionar solo algunas), múltiples restricciones de tiempo (solo algunas de las cuales son críticas) y un lote de ambos.
La conclusión es que si está colocando un solo pestillo D, probablemente pueda ver su camino alrededor del enrutamiento. Si está haciendo algo de un tamaño que valga la pena, entonces no quiere, y no puede ser, conducir el enrutamiento directamente. Lo que desea hacer es restringir y ayudar al optimizador de enrutamiento. ¿Cómo?
Comprende tus restricciones de tiempo. Comprende cuáles son críticos y cuáles no. No se limite en exceso por razones de seguridad, el enrutador ya está teniendo en cuenta el proceso del peor de los casos con el peor de los casos de temperatura y voltaje, por eso las tablas de tiempo son tan complicadas. Si sobre-restringe, el enrutador luchará más. Solo restringir fuertemente las líneas críticas.
Utilice el diseño de planta, aquí es donde puede intervenir con un poco de experiencia humana de “Puedo ver lo que quiero”. El placer no siempre lo hace bien. Si el enrutador falla, vea lo que ha hecho el placer y, si es necesario, mueva algunos bloques desde posiciones "estúpidas" para una ubicación más sensata. Luego deje que el enrutador vuelva a funcionar. Iterice ese ciclo, pero deje que el enrutador haga lo suyo.