Contoh Tcl Quartus® II: Penetapan Global Non-Bawaan

author-image

Oleh

Dapat berguna untuk meninjau penetapan global dalam desain Anda untuk melihat apakah ada tugas Anda yang berbeda dari pengaturan bawaan. Misalnya, jika performa desain Anda bukan seperti yang Anda harapkan, Anda dapat melihat apakah Anda mengubah pengaturan secara tidak sengaja dari nilai bawaannya.

Contoh ini membuat panel laporan kustom yang mencantumkan pengaturan penetapan global non-bawaan proyek Anda. Perintah untuk membuat panel laporan kustom tersedia dimulai dengan versi 4.1 dari perangkat lunak Quartus II (versi 2.0 dari paket ::quartus::report). Contoh ini menggunakan paket cmdline Tcl untuk memproses argumen baris perintah.

paket laporan load_package
memerlukan pilihan set cmdline
{\ {
    "project.arg" "" "Nama proyek" } \
    { "revisi.arg" "" "Revisi nama"
} } array set
opts [::cmdline::getoptions quartus(args) $options]

project_open $opts(project) -revisi $opts(revisi)

load_report mengatur panel_name
"Non-Default Global Settings"
panel_id [get_report_panel_id $panel_name]

# Anda harus menghapus panel jika ada, sebelum membuatnya.
jika { -1 != $panel_id } {
    delete_report_panel -id $panel_id
} set panel_id

[create_report_panel -table $panel_name]

# Judul kolom untuk panel laporan baru
add_row_to_table -id $panel__ id \
    { "Assignment" "Default Value" "Design Value" }

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

    # Jika nilai berbeda, tambahkan baris ke tabel.
    jika { ! [string sama dengan -nocase $current_value $default_value] } {
        add_row_to_table -id $panel_id \
            [list $name $default_value $current_value]
    } }
save_report_database
project_close

Di prompt perintah sistem, Anda dapat menjalankan skrip yang berisi kode seperti yang ditunjukkan di sini:

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

Meningkatkan Kode Sampel

Salah satu cara untuk meningkatkan kode adalah dengan membuatnya berjalan secara otomatis di akhir setiap kompilasi. Untuk melakukan ini, tambahkan tugas baru ke proyek Anda dan ubah cara argumen baris perintah diproses.

Nama penugasan POST_FLOW_SCRIPT_FILE. Untuk informasi lebih lanjut tentang penetapan ini, lihat contoh Eksekusi Skrip Otomatis. Dengan asumsi skrip diberi nama script.tcl, tambahkan tugas berikut ke File Pengaturan Quartus II Anda (.qsf):

set_global_assignment -name POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl

Karena cara menjalankan skrip dengan penugasan POST_FLOW_SCRIPT_FILE, Anda harus mengubah perintah di bagian atas skrip yang membuka proyek. Skrip dijalankan dengan tiga argumen posisi yang telah ditentukan sebelumnya: nama alur, proyek, dan revisi. Menggunakan paket cmdline tidak perlu dalam hal ini.

Modifikasi bagian atas skrip sebagai berikut:

load_package laporan

foreach { flow_name revisi proyek } $quartus(args) { break }

project_open $project -revisi $revision

Skrip berjalan secara otomatis di akhir setiap kompilasi, terlepas dari apakah Anda memulai kompilasi di GUI Quartus II, di prompt perintah sistem, atau dalam skrip.

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.