ตัวอย่าง Quartus® II Tcl: การบ้านทั่วโลกที่ไม่ใช่ค่าเริ่มต้น

author-image

โดย

การตรวจสอบงานที่ได้รับมอบหมายทั่วโลกในการออกแบบของคุณจะเป็นประโยชน์มากหรือไม่ เพื่อดูว่างานที่ได้รับมอบหมายของคุณแตกต่างจากการตั้งค่าเริ่มต้นหรือไม่ ตัวอย่างเช่น หากประสิทธิภาพของการออกแบบของคุณไม่ใช่สิ่งที่คุณต้องการ คุณจะเห็นว่าคุณได้เปลี่ยนการตั้งค่าโดยไม่ได้ตั้งใจจากค่าเริ่มต้นหรือไม่

ตัวอย่างนี้สร้างแผงรายงานแบบกําหนดเองที่แสดงการตั้งค่าการบ้านส่วนกลางที่ไม่ใช่ค่าเริ่มต้นของโครงการของคุณ คําสั่งในการสร้างแผงรายงานแบบกําหนดเองมีให้บริการตั้งแต่เวอร์ชัน 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 ที่พรอมต์คําสั่งของระบบ หรือในสคริปต์

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้