Writing /share/Web/wiki/data/cache/0/009548f58a8b916947be2becf96a5ad5.metadata failed
edastudy:verdi:vc_apps_npi
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| edastudy:verdi:vc_apps_npi [2023/03/15 09:34] – [4.1 使用举例] zhangguo | edastudy:verdi:vc_apps_npi [2023/07/23 07:50] (当前版本) – [9.1 trace driver] zhangguo | ||
|---|---|---|---|
| 行 80: | 行 80: | ||
| resultList ::= { {srcHdl scopeHdl isPassThrough numSigUse useHdl sigHdlList}* } | resultList ::= { {srcHdl scopeHdl isPassThrough numSigUse useHdl sigHdlList}* } | ||
| srcHdl : The tracing source handle of this use handle. | srcHdl : The tracing source handle of this use handle. | ||
| - | scopeHdl: The scope handle of this use handle. | + | scopeHdl: The scope handle of this use handle. |
| isPassThrough: | isPassThrough: | ||
| numSigUse: Indicate how many times of source handle be traced in this use handle. | numSigUse: Indicate how many times of source handle be traced in this use handle. | ||
| - | | + | |
| - | useHdl: Target use handle. The definition of use handle, refer to Use and Vh Use. | + | useHdl: Target use handle. The definition of use handle, refer to Use and Vh Use. |
| - | sigHdlList: The driver signal handles of this use handle. | + | sigHdlList: The driver signal handles of this use handle. |
| | | ||
| 行 282: | 行 282: | ||
| connection. \\ | connection. \\ | ||
| 3. npiLowConn will indicate the lower (further from the top module) port connection.</ | 3. npiLowConn will indicate the lower (further from the top module) port connection.</ | ||
| + | |||
| + | ===== - 实例 ===== | ||
| + | |||
| + | ==== - trace driver ==== | ||
| + | |||
| + | <code tcl [enable_line_numbers=" | ||
| + | #source $env(NPIL1_PATH)/ | ||
| + | |||
| + | proc prepare_Netlist_setting {} { | ||
| + | schSetPreference -detailRTL on -detailMux on -recogFSM off -expandGenBlock on -detailLevel 101 -InferenceLibCell on | ||
| + | } | ||
| + | |||
| + | proc dump_res_list { resList targetFileHdl } { | ||
| + | set size [ llength $resList ] | ||
| + | for { set i 0 } { $i < $size } { incr i } { | ||
| + | set dlStruct [lindex $resList $i] | ||
| + | puts $targetFileHdl " $i source: [ npi_util_get_hdl_info [lindex $dlStruct 0] | ||
| + | ]" | ||
| + | puts $targetFileHdl " | ||
| + | puts $targetFileHdl " | ||
| + | puts $targetFileHdl " | ||
| + | puts $targetFileHdl " | ||
| + | ]" | ||
| + | set sigList [lindex $dlStruct 5] | ||
| + | set sigSize [llength $sigList] | ||
| + | for { set l 0 } { $l < $sigSize } { incr l } { | ||
| + | puts $targetFileHdl " | ||
| + | } | ||
| + | |||
| + | |||
| + | set hdl [lindex $dlStruct 4] | ||
| + | set tmp [npi_get_str -property npiType -object $hdl] | ||
| + | puts $targetFileHdl " | ||
| + | set tmpStr [ npi_util_decompile_t:: | ||
| + | puts $targetFileHdl " | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | proc main { output_log } { | ||
| + | prepare_Netlist_setting | ||
| + | set LOG [open $output_log " | ||
| + | |||
| + | puts $LOG " | ||
| + | puts $LOG "" | ||
| + | |||
| + | # | ||
| + | :: | ||
| + | puts $LOG "" | ||
| + | puts $LOG "" | ||
| + | puts $LOG "" | ||
| + | |||
| + | |||
| + | set resList {} | ||
| + | set sigHdl [ npi_handle_by_name -name {top.a2} -scope "" | ||
| + | :: | ||
| + | dump_res_list $resList $LOG | ||
| + | |||
| + | |||
| + | close $LOG | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | trace log如下: | ||
| + | < | ||
| + | ================================================================================ | ||
| + | |||
| + | npiNet, top.a2, {/ | ||
| + | Need pass through | ||
| + | <1> source: a2, scope: top | ||
| + | <D> npiContAssign, | ||
| + | npiConstant, | ||
| + | npiNet, top.a1, {/ | ||
| + | |||
| + | |||
| + | |||
| + | 0 source: npiNet, top.a2, {/ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | npiConstant, | ||
| + | npiNet, top.a1, {/ | ||
| + | t: | ||
| + | tmpStr: | ||
| + | </ | ||
edastudy/verdi/vc_apps_npi.1678844084.txt.gz · 最后更改: 2023/03/17 10:12 (外部编辑)