¿Cómo restringir el ajustador para asignar señales a una entrada LE específica en Quartus II?

-1

Me he dado cuenta de que el retardo de tiempo a través de una celda combinatoria en un LE puede depender significativamente (hasta .1 ns en mi placa DE-0 Nano Cyclone IV) de la entrada, de la A a la D, a la que se asigna la entrada. Para este fin, estoy midiendo sistemáticamente los retrasos de tiempo a través de LE específicas y entradas específicas a esas LE. Sé que puedo restringir funciones combinatorias específicas a través del Editor de asignaciones, pero ¿hay alguna forma de restringir qué entrada se usa? En este momento, mi flujo de trabajo apesta: cambie las restricciones en el editor de Asignaciones, presione compilar, use la Orden de cambio de ingeniería en el planificador de chips para cambiar todas las máscaras y entradas de LUT, revise y compile, y luego cargue. ¿Hay alguna forma de deshacerse de la segunda compilación, de modo que la primera compilación haga lo que quiero?

(Para aquellos que se preguntan por qué me estoy molestando: mi circuito está desbloqueado y es sensible a los retrasos específicos de las LE utilizadas. Este es un proyecto de investigación de dinámica no lineal / teoría del caos. Por lo tanto, la sensibilidad es algo que quiero . Por lo tanto, necesito saber qué valores toma mi circuito experimental para analizarlo correctamente. Si TimeQuest y / o ModelSim proporcionan esa información, con mucho gusto evitaría experimentos monótonos. y la recopilación de datos, pero no veo cómo podrían saber nada acerca de los defectos de fabricación, la temperatura de silicio y el voltaje de suministro, etc.)     

pregunta Andrew

1 respuesta

1

No pueden proporcionar esa información. La única información que tienen es el "mejor caso" y el "peor caso". Es imposible saber cómo funcionará un chip individual a menos que vaya a medir el chip específico en el que está interesado. El rendimiento de temporización de los elementos lógicos solo se garantiza en algún lugar dentro del "mejor caso" y el "peor caso" sobre el Voltaje especificado y rango de temperatura. A las partes que no caen en este rango se les asigna un grado de velocidad más bajo o se descartan. Si obtiene un chip diferente (incluso uno del mismo lote), los retrasos podrían variar en todos los lugares dentro de estos límites.

Este es uno de los motivos principales por los que los diseños asincrónicos no son tan agradables en los FPGA: el rendimiento podría variar entre los FPGA lo suficiente como para afectar el funcionamiento normal. Tal vez no fallará a menos que llegue a un rincón de TV, pero es un riesgo. En general, el análisis de tiempo realmente solo funciona correctamente para diseños síncronos.

Si su diseño es sensible a los retrasos de los elementos en esta resolución, hay dos opciones: rediseñarlo para que no lo sea, o crear una especie de rutina de autocalibración para calibrar los retrasos. Naturalmente, la segunda opción solo funciona en casos muy específicos (por ejemplo, el núcleo de tiempo a digital del CERN). De lo contrario, eres básicamente SOL.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas