Ejemplo de Tcl de Quartus® II: Asignaciones globales no predeterminadas

author-image

Por

Puede ser útil revisar las asignaciones globales en su diseño para ver si alguna de las asignaciones es diferente a la configuración predeterminada. Por ejemplo, si el desempeño de su diseño no es lo que espera, puede ver si modificó accidentalmente una configuración de su valor predeterminado.

Este ejemplo crea un panel de informe personalizado que enumera la configuración de asignación global no predeterminada del proyecto. Los comandos para crear paneles de informe personalizados están disponibles a partir de la versión 4.1 del software Quartus II (versión 2.0 del paquete ::quartus::report). Este ejemplo utiliza el paquete cmdline Tcl para procesar argumentos de línea de comandos.

load_package paquete de informes
requiere opciones de conjunto cmdline
{\ {
    "project.res" "" "Nombre del proyecto" } \
    { "revision.res" "" "Nombre de revisión" } } conjunto de
matrices opts [::cmdline::getivos quartus(rogas) $options

project_open $opts(proyecto) -revision $opts(revision)

load_report establecer panel_name
"Configuración global no predeterminada"
establecido panel_id [get_report_panel_id $panel_name]

# Debe eliminar el panel si existe, antes de crearlo.
if { -1 != $panel_id } {
    delete_report_panel -id $panel_id
} establece panel_id

[create_report_panel -table $panel_name]

# Encabezados de columna para el nuevo panel de informe add_row_to_table
-id $panel_id \
    { "Asignación" "Valor predeterminado" "Valor de diseño" }

foreach_in_collection asgn [get_all_quartus_defaults] {
    
    forecad { section_id nombre default_value } $asgn { break }
    establecido current_value [get_global_assignment -name $name]

    # Si los valores son diferentes, agregue una fila a la tabla.
    if { ! [cadena igual a -nocase $current_value $default_value] } {
        add_row_to_table -id $panel_id \
            [list $name $default_value $current_value]
    } save_report_database
project_close

En un indicador de comandos del sistema, puede ejecutar un script que contenga el código como se muestra aquí:

quartus_sh -t script.tcl -project myproject -revision myrevision

Mejora del código de muestra

Una forma de mejorar el código es hacer que se ejecute automáticamente al final de cada compilación. Para hacer esto, agregue una nueva asignación al proyecto y cambie la forma en que se procesan los argumentos de la línea de comandos.

El nombre de la asignación es POST_FLOW_SCRIPT_FILE. Para obtener más información sobre esta asignación, consulte los ejemplos de ejecución automática de script. Suponiendo que el script se nombre script.tcl, añada la siguiente asignación a su archivo de configuración de Quartus II (.qsf):

set_global_assignment -name POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl

Debido a la forma en que se ejecuta el script con la asignación de POST_FLOW_SCRIPT_FILE, debe cambiar los comandos en la parte superior del script que abre el proyecto. El script se ejecuta con tres argumentos posicionacionales predefinidos: el flujo, el proyecto y los nombres de revisión. En este caso, no es necesario utilizar el paquete cmdline.

Modifique la parte superior del script de la siguiente manera:

informe load_package

foreconference { revisión de proyecto flow_name } $quartus(conversaciones) { interrupción }

project_open $project revisión $revision

El script se ejecuta automáticamente al final de cada compilación, independientemente de si inicia la compilación en la GUI Quartus II, en un indicador de comandos del sistema o en un script.

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.