2008-12-10 16 views
5

Estoy usando Altera Quartus 2 para hacer un procesador personalizado de 8 bits y me lleva una eternidad compilarlo en mi computadora portátil. Solo estoy usando simulaciones y haciendo que mi procesador sea esquemático (diagrama de bloques) y VHDL. En este momento toma alrededor de 10 minutos compilar, lo cual es un problema ya que estoy más en la fase de depuración del proyecto donde tengo que arreglar el tiempo interno y hacer muchos pequeños cambios para ver qué pasa.¿Cómo puedo hacer que Quartus II compile más rápido?

No estoy realmente poniéndolo en un FPGA, entonces ¿necesito las fases de compilación de "instalador" y "ensamblador"?

¿Puedo cambiar el contenido de un archivo de memoria de un lpm_ram_dq y probarlo en simulación sin volver a compilar?

En resumen, ¿alguien sabe cómo hacer que se compile más rápido?

Respuesta

2

En orden de disminuir importante.

  • Más memoria. 4 GB para un sistema operativo de 32 bits. Algunos diseños necesitan más que eso y requieren un sistema operativo de 64 bits.
  • No exageres el diseño.
  • Cambie las opciones de compilación para no intentar como difícil. Eso es en asignaciones> configuraciones> Configuración del dispositivo> Ajuste rápido (o ajuste automático)
  • 8.1 admite varios núcleos.
  • La compilación Hiearchical ayuda, especialmente si tiene varias instancias del mismo bloque.

2 minutos es realmente corto, estoy de acuerdo con el cartel anterior. Una sola puerta tomará mucho tiempo.

+0

1: Mi computadora portátil tiene memoria de 2GB, debería ser suficiente para mi proyecto 2: ¿Qué quiere decir? 3: Eso no funcionó, todavía lleva mucho tiempo en el Fitter 4: ¿Cómo hago eso? No puedo hacer que use el 100% de mi CPU 5: Tengo muchas instancias del mismo bloque, ¿cómo hago una compilación jerárquica? – Hoffmann

+0

Lo siento, mi error. la segunda observación funcionó. Se redujo a la mitad el tiempo del instalador, se redujo de 8 min a 4 min. ¡Gracias! – Hoffmann

2

Algunas cosas:

  • Si usted no está poniendo en una FPGA, ¿por qué compilar con Quartus? Simplemente simúlelo con Modelsim o ActiveHDL o cualquier simulador que tenga.
  • 2 minutos es un muy corto tiempo de compilación. Realmente :-)
  • Trate Quartus 8, que es mucho más rápido que 7 y mayor
  • Para comprobar que el código sintetiza correctamente y ver la lista de conexiones, que de hecho no necesita el mecánico y de los pasos
+0

1: No es una opción, estoy haciendo una tarea universitaria y el profesor requiere la simulación de Quartus II. 2: Mi proyecto ahora está en tiempo de compilación de 10 minutos, aproximadamente 6 minutos está en la fase de ajuste. 3: Estoy usando Quartus 8.1 4: No entendí eso, ¿puedes explicar mejor? Soy un diseñador de hardware novato ... – Hoffmann

+1

Simplemente haga algunas simulaciones iterativas con la versión Altera de ModelSim, luego ejecute el simulador Quartus una vez que crea que tiene las cosas funcionando. Y como se mencionó, no hagas la compilación completa si no estás apuntando a un FPGA, solo haz la parte de análisis y síntesis. –

2

Si solo necesita simular en Quartus, no tiene que ejecutar una compilación completa. Si presiona Ctrl-K, solo se realiza el análisis y la elaboración. El simulador de quartus debería hacer esto por ti.

OTH, como se menciona por varios otros: 10 minutos, un tiempo de compilación muy corto. Para diseños reales no es inusual dejarlo funcionando durante al menos una hora.

2

Algunos indicadores útiles para hacer que Quartus se sintetice más rápido si no te importa optimizar por completo tus resultados y solo quieres obtener una estimación pesimista o hacer comparaciones.

set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT FAST 

Especifica la cantidad de esfuerzo, en términos de tiempo de compilación, síntesis física debe utilizar.Fast usa menos tiempo de compilación, pero puede reducir la ganancia de rendimiento que la síntesis física puede lograr.

set_global_assignment -name FITTER_EFFORT    FAST_FIT 

Fast Fit disminuye esfuerzo de optimización para reducir el tiempo de compilación, que puede degradar el rendimiento de diseño.

Y en vez de execute_flow -compile, utilice:

execute_flow -implement 

opción para ejecutar la compilación hasta la fase de ruta y saltar todos los tiempos algoritmos intensivos después.

En una reunión con los ingenieros de Intel/Altera, utilizando -implement esta era de bola estacionado en alrededor de 20% más rápido que -compile, y fue recomendado cuando se repite en los resultados de tiempo-cierre.

También puede probar lo siguiente:

set_global_assignment -name SYNTHESIS_EFFORT   FAST 

Nota: Esto tiene la advertencia a continuación, aunque tiendo a ver carreras en general más rápido en algunos diseños.

Cuando se establece en Rápido, se omiten algunos pasos para realizar la síntesis más rápidamente; sin embargo, puede haber algún costo de rendimiento y recursos. Altera recomienda establecer esta opción en Rápido solo cuando se ejecuta una estimación de tiempo anticipada. La ejecución de una síntesis "rápida" produce una lista de redes que es un poco más difícil de encaminar, por lo que el proceso de ajuste global es más lento, lo que anula los aumentos de rendimiento logrados como resultado de la síntesis "rápida".

+0

Creo que obtienes la insignia "sepulturero" para cosas como esta. ¡Esta pregunta tiene 9 años! Pero el QA hablaba de hacer optimizaciones de tiempo. No puede realizar estas optimizaciones si cambia la configuración del esfuerzo de síntesis. La implementación diferirá de la compilación completa. – JHBonarius

+0

Eso es cierto en el sentido de que no optimizará realmente su diseño compilado y verá los resultados de la vida real, pero cuando itera sobre las modificaciones de cierre del tiempo y desea ver su progreso todavía puede usar estos indicadores para hacer manzanas comparaciones integrales para ver si sus actualizaciones mejoran Fmax. –

Cuestiones relacionadas