Quartus® II Tcl: เกมพลิกโฉม

author-image

โดย

รหัสการจับเวลาของยานเกราะควตัส II จํานวน timing net advanced_timing list และ id 14888 จํานวนสูงสุดของ CSSE, CSE, 1, 2, 2015, 2015, 2015, 1,000,000,000,000,000,000,000,000,000,000, 1,000,000,000, 1,000, 2015, 2015, 2018, 2018, 2018 เพื่อหาชื่อที่คุณระบุและส่งคืน ID ของโหนดที่ตรงกัน หรือ -1 หากไม่มีโหนดนั้นอยู่

30000 ต่อ $node
    
    $name $node
            $node
get_timing_node_info node_name get_timing_nodes foreach_in_collection node_id advanced_timing 10000000 ต่อ 10000000 ต่อ 10000000...

ในสคริปต์ Tcl คุณสามารถเรียกขั้นตอนดังกล่าวตามที่แสดงในตัวอย่างต่อไปนี้:

set id [find clk_33MHz]
หาก { $id == -1 } { post_message
    -type "ดีสปีดเบสพิวลิสพิวนิกส์"
}

การปรับปรุงรหัสตัวอย่าง

มีหลายวิธีที่สามารถปรับปรุงรหัสตัวอย่างได้

เพิ่ม Wildcard สําหรับเพิ่มและเพิ่มความคมกริบ

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

เนื่องจากสัญลักษณ์ตัวแทนสามารถมีชื่อตรงกันได้มากกว่าหนึ่งชื่อ จึงจําเป็นที่จะต้องรองรับรหัสที่ส่งคืนหลายตัว วิธีง่ายๆ ในการทําเช่นนี้คือการส่งคืนรายการรหัสโหนดทั้งหมดที่มีชื่อที่ตรงกับรูปแบบ หากไม่มีชื่อใดตรงกับรูปแบบ จะมีการส่งคืนรายการที่ว่างเปล่า

ต่อไปนี้เป็นส่วนย่อยของ Netlist ที่ใช้งานในโปรแกรม ( Netlist) และเวิร์คโฟลว์รหัสประจําตัวที่มีรหัสประจําตัวที่มีรหัสประจําตัวทั้งหมด (ตรงกับตรงกับ ssm. tcl glob) และ tcl glob มาตราส่วน (*) และตัวจับ ([])

0000 advanced_timing 00000 ต่อ 1000000 และ $return return_ids $node
    
    $pattern $node

        $node get_timing_node_info node_name get_timing_nodes foreach_in_collection node_id
return_ids 100000 ต่อ 100000 ต่อ 1000000 ต่อ 100000000.

tcler 3444 Tclตัวจับต้องได้A10] และ Addr0[10]

ภาพยุติการตั้ง [find addr[10]]

ASR 2018 D escape_brackets 4455 และ 4444555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

การยุติการตั้ง [หา [escape_brackets addr[10]]

ส่วนคําสั่งescape_bracketsหมวดและหลวมๆ

เพิ่มการกรองประเภทโหนด

1000 ต่อ get_timing_nodes 1000 หรือ 1000 ต่อ 1000 หรือ 1,000,000 หรือ1,000,000 ,000, 1,000, 1,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,000, 2,0

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

Tcl Quartus II และ 1000 Tcl 10000 Tcl 1600000000000000

แพคเกจแพคเกจ ::quartus:advanced_timing
packageต้องเป็น cmdline

proc { args } { args } {
    
    ตัวเลือก {\
        {{"pattern.arg" "*" "Pattern to search" } \
        { "type.arg" "all" "ประเภท" "type.arg" "all" "," "progs" " " "type. args" } \
    } return_ids

    $options foreach_in_collection node_id
    [get_timing_nodes -type $opts(type)]node_name {

        get_timing_node_info [get_timing_node_info -$node id]
           
        [ string match $opts (pattern) $node_name ] }
            lappend return_ids $node_id
        }
    } return   
    
    $return_ids
}

รหัสต่อไปนี้แสดงวิธีการใช้ตัวอย่างก่อนหน้านี้บางวิธี

# ส่งคืน ID โหนด Netlist จํานวน
ค่าเริ่มต้นของรูปแบบ * จํานวน
ค่าตั้งต้นของ Type โดยที่ค้นหา # Returns node ID, พินทรานแซคชัน #รูปแบบการคืนค่า # รูปแบบ pins เริ่มต้น ของ

pins เริ่มต้น -
addr* -type

pins # Returns node ID id ofบิต 0
bus find -pattern [escape_brackets *[0]] -type reg]

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