Exemplo de Quartus® II Tcl: Atribuições globais não padrão

author-image

Por

Pode ser útil rever missões globais em seu design para ver se alguma de suas atribuições é diferente da configuração padrão. Por exemplo, se o desempenho do seu design não for o que você espera, você pode ver se você alterou uma configuração acidentalmente a partir do seu valor padrão.

Este exemplo cria um painel de relatório personalizado que lista as configurações de atribuição global não padrão do seu projeto. Os comandos para criar painéis de relatório personalizados estão disponíveis a partir da versão 4.1 do software Quartus II (versão 2.0 do pacote ::quartus::report). Este exemplo usa o pacote cmdline Tcl para processar argumentos de linha de comando.

load_package pacote de relatório exige opções de conjunto
de
cmdline {\ {
    "project.arg" "" "Nome do projeto" }
    \ { "revision.arg" "" "" "Nome da revisão" } } conjunto de matriz
optes [:cmdline::getoptions quartus(arg $options)

project_open $opts(project) -revision $opts(revision) load_report set panel_name "Configurações globais não padrão" definir
panel_id
[get_report_panel_id $panel_name]

#
Você deve excluir o painel se ele existir, antes de criar. se { -1 != $panel_id } { delete_report_panel -id $panel_id } definir panel_id [create_report_panel -table $panel_name] # Títulos de coluna para o novo painel de relatório
add_row_to_table
-id $panel_id \
    { "Atribuição" "Valor padrão" "Valor de projeto" }

foreach_in_collection asgn [get_all_quartus_defaults] {
    
    foreach { nome section_id default_value } $asgn { quebrar } definir
    current_value [get_global_assignment -name $name]

    # Se os valores são diferentes, adicione uma linha à tabela.
    se { ! [string equal -nocase $current_value $default_value] } {
        add_row_to_table -id $panel_id \
            [lista $name $default_valor $current_value] }
    } save_report_database
project_close

Em um prompt de comando do sistema, você pode executar um script que contém o código conforme mostrado aqui:

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

Melhorando o código de amostra

Uma maneira de melhorar o código é fazê-lo funcionar automaticamente no final de cada compilação. Para fazer isso, adicione uma nova atribuição ao seu projeto e altere a maneira como os argumentos da linha de comando são processados.

O nome da atribuição é POST_FLOW_SCRIPT_FILE. Para obter mais informações sobre esta atribuição, consulte os exemplos de execução automática de script. Supondo que o script seja nomeado script.tcl, adicione a seguinte atribuição ao seu Arquivo de configurações Quartus II (.qsf):

set_global_assignment-name POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl

Devido à maneira como o script é executado com a POST_FLOW_SCRIPT_FILE, você deve alterar os comandos na parte superior do script que abre o projeto. O script é executado com três argumentos posicionais predefinidos: os nomes de fluxo, projeto e revisão. O uso do pacote cmdline é desnecessário neste caso.

Modifique a parte superior do script da seguinte forma:

load_package relatório foreach { flow_name revisão do projeto

} $quartus(args) { quebrar }

project_open $project -revisão $revision

O script é executado automaticamente no final de cada compilação, independentemente de você iniciar a compilação na GUI Quartus II, em um prompt de comando do sistema ou em um script.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.