檢視設計中的全球作業,查看您的任何作業是否與預設設定不同,可能很有用。舉例來說,如果您的設計效能不是您所期待的,則可以看出您是否意外地從其預設值變更設定。
此範例會建立自訂報告面板,列出專案非預設的全球分配設定。建立自訂報告面板的命令可從 Quartus II 軟體的版本 4.1 開始( 版本 2.0:quartus::report Package)。此範例使用 cmdline Tcl 套件來處理命令列參數。
load_package報告 套件需要 cmdline 設定選項 {\"project.arg""專案名稱" \ \ \"revision.arg"""修訂版名稱" \ Array set opts [:cmdline::getoptions quartus (args) $options] project_open $opts(專案)-修訂版$opts(修訂版 )load_report 設定為panel_name「非預設全球設定」 集panel_id[get_report_panel_id $panel_name]# 若存在,您必須先刪除面板,然後再建立。 如果 { -1 != $panel_id = { delete_report_panel -id $panel_id = 設定為 panel_id [create_report_panel -表 $panel_name] # 全新報告面板 標題 add_row_to_table -id $panel_id \ \「分配」「預設值」「設計價值」[ foreach_in_collection asgn [get_all_quartus_defaults] { { foreach { section_id名稱 default_value \ $asgn { break { 設定current_value [get_global_assignment-名稱 $name] # 如果值不同,請在表格中新增一排。 如果 { ![字串等於 -nocase $current_value $default_value]{ add_row_to_table -id $panel_id \ [列$name $default_value $current_value] = save_report_database project_close
在系統命令提示下,您可以執行包含代碼的腳本,如下所示:
quartus_sh -t script.tcl -project myproject -修訂版 myrevision
改善範例代碼
改進程式碼的方法之一,就是在每次編譯結束時自動執行程式。為了達到這個目標,請在您的專案中新增一項任務,並改變處理命令線參數的方式。
作業名稱為POST_FLOW_SCRIPT_FILE。如需此作業的詳細資訊,請參閱 自動腳本執行 範例。假設腳本已命名為腳本.tcl,請將下列作業新增到您的 Quartus II 設定檔案 (.qsf):
set_global_assignment───名稱 POST_FLOW_SCRIPT_FILE quartus_sh:script.tcl
由於POST_FLOW_SCRIPT_FILE作業執行腳本的方式,您必須變更開啟專案之腳本頂部的命令。本腳本以三個預先定義的位置論據執行:流程、專案和修訂版名稱。在這種情況下,使用 cmdline 套件是不必要的。
修改腳本頂部如下:
load_package報告 前述 { flow_name 專案修訂版 [ $quartus (args) { break = project_open $project -修訂版$revision
無論您是在 Quartus II GUI 中、在系統命令提示下,還是在腳本中開始編譯,腳本都會在每個編譯結束時自動執行。