Exemple de Quartus® II Tcl : affectations mondiales non par défaut

author-image

Par

Il peut être utile d’examiner les affectations globales dans votre conception pour voir si une de vos affectations est différente du paramètre par défaut. Par exemple, si les performances de votre conception ne correspondent pas à celles que vous attendez, vous pouvez voir si vous avez modifié accidentellement un paramètre par rapport à sa valeur par défaut.

Cet exemple crée un panneau de rapport personnalisé qui répernumère les paramètres d’affectation globaux non par défaut de votre projet. Les commandes de création de panneaux de rapport personnalisés sont disponibles à partir de la version 4.1 du logiciel Quartus II (version 2.0 du package ::quartus::report). Cet exemple utilise le package cmdline Tcl pour traiter les arguments en ligne de commande.

load_package package de rapport nécessitent des options de
jeu de cmdline
{\ { «
    project.arg » « » « Project Name » }
    \ { « revision.arg » « » « Revision name »
} } array set
opts [::cmdline::getoptions quartus(args) $options]

project_open $opts(project) -révision $opts(révision)

load_report défini panel_name
paramètres globaux non par
défaut » défini panel_id [get_report_panel_id $panel_name]

# Vous devez supprimer le panneau s’il existe, avant
de le créer. si {-1 != $panel_id } {
    delete_report_panel -id $panel_id
}

défini panel_id [create_report_panel -table $panel_name] # colonnes dans le nouveau panneau de

rapport add_row_to_table
-id $panel foreach_in_collection

asgn [get_all_quartus_defaults] {
    
    foreach { nom section_id default_value } $asgn { break }
    set current_value [get_global_assignment -name $name]

    # Si les valeurs sont différentes, ajoutez une ligne au tableau.
    si { ! [chaîne égale -nocase $current_value $default_value] } {
        add_row_to_table -id $panel_id \
            [liste $name $default_value $current_value]
    } }
save_report_database
project_close

À l’invite de commandes d’un système, vous pouvez exécuter un script qui contient le code comme illustré ici :

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

Améliorer l’exemple de code

Un moyen d’améliorer le code est de le faire fonctionner automatiquement à la fin de chaque compilation. Pour ce faire, ajoutez une nouvelle affectation à votre projet et modifiez la façon dont les arguments de ligne de commande sont traités.

Le nom de la affectation est POST_FLOW_SCRIPT_FILE. Pour plus d’informations sur cette affectation, reportez-vous aux exemples d’exécution automatique du script. En supposant que le script soit nommé script.tcl, ajoutez la cession suivante à votre fichier de paramètres Quartus II (.qsf) :

set_global_assignment nom POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl

En raison de la façon dont le script est exécuté avec l’POST_FLOW_SCRIPT_FILE affectation, vous devez modifier les commandes en haut du script qui ouvrent le projet. Le script est exécuté avec trois arguments de position prédéfinis : le flux, le projet et les noms de révision. Dans ce cas, l’utilisation du package cmdline n’est pas nécessaire.

Modifiez le haut du script comme suit :

load_package rapport

foreach { flow_name révision du projet } $quartus(args) { break }

project_open $project -révision $revision

Le script fonctionne automatiquement à la fin de chaque compilation, quel que soit le démarrage de la compilation dans l’interface graphique Quartus II, à l’invite de commande du système ou dans un script.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.