การตรวจสอบงานที่ได้รับมอบหมายทั่วโลกในการออกแบบของคุณจะเป็นประโยชน์มากหรือไม่ เพื่อดูว่างานที่ได้รับมอบหมายของคุณแตกต่างจากการตั้งค่าเริ่มต้นหรือไม่ ตัวอย่างเช่น หากประสิทธิภาพของการออกแบบของคุณไม่ใช่สิ่งที่คุณต้องการ คุณจะเห็นว่าคุณได้เปลี่ยนการตั้งค่าโดยไม่ได้ตั้งใจจากค่าเริ่มต้นหรือไม่
ตัวอย่างนี้สร้างแผงรายงานแบบกําหนดเองที่แสดงการตั้งค่าการบ้านส่วนกลางที่ไม่ใช่ค่าเริ่มต้นของโครงการของคุณ คําสั่งในการสร้างแผงรายงานแบบกําหนดเองมีให้บริการตั้งแต่เวอร์ชัน 4.1 ของซอฟต์แวร์ Quartus II (เวอร์ชัน 2.0 ของ แพ็คเกจ ::quartus::report) ตัวอย่างนี้ใช้แพคเกจ cmdline Tcl เพื่อประมวลผลการอธิบายบรรทัดคําสั่ง
แพคเกจรายงานload_package ต้องใช้ตัวเลือกชุด cmdline {\ { "project.arg" "" "ชื่อโครงการ" } \ { "revision.arg" "" "" "ชื่อการปรับปรุง" } } ชุดอาร์เรย์เลือก [::cmdline::getoptions quartus(ar ar $options] project_open $opts(project) -revision $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 -table $panel_name] # หัวคอลัมน์สําหรับแผงรายงานใหม่add_row_to_table -id $panel get_global_assignment_id \ { "การบ้าน" "ค่าเริ่มต้น" "ค่าการออกแบบ" } foreach_in_collection asgn [get_all_quartus_defaults] { foreach { section_id name default_value } $asgn { break } set current_value [get_global_assignment -name $name] # หากค่าต่างกัน ให้เพิ่มแถวลงในตาราง ถ้า { ! [string equal -nocase $current_value $default_value] } { add_row_to_table -id $panel_id \ [list $name $default_value $current_value] } } project_close save_report_database
ที่พรอมท์คําสั่งระบบ คุณสามารถเรียกใช้สคริปต์ที่มีโค้ดตามที่แสดงไว้ที่นี่:
quartus_sh -t script.tcl -project myproject -การแก้ไข myrevision
การปรับปรุงรหัสตัวอย่าง
วิธีหนึ่งในการปรับปรุงโค้ดคือการทําให้โค้ดทํางานโดยอัตโนมัติเมื่อสิ้นสุดการคอมไพล์ทุกครั้ง โดยเพิ่มการบ้านใหม่ให้กับโครงการของคุณ และเปลี่ยนวิธีการประมวลผลส่วนต่างๆ ของบรรทัดคําสั่ง
ชื่อการมอบหมายจะถูกPOST_FLOW_SCRIPT_FILE สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการบ้านนี้ โปรดดู ตัวอย่าง การดําเนินการสคริปต์อัตโนมัติ โดยสมมติให้ตั้งชื่อสคริปต์เป็น script.tcl เพิ่มการบ้านต่อไปนี้ไปยังไฟล์การตั้งค่า Quartus II (.qsf):
set_global_assignment -name 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 ที่พรอมต์คําสั่งของระบบ หรือในสคริปต์