您好,登錄后才能下訂單哦!
本篇內容介紹了“KeyPoint Mapping status是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Mapping 之后,配對且綁定成功的點被稱作"Mapped Key Points"; 沒有配對或綁定,或即便配了對卻是 "假夫妻" 的統統被稱作 "Unmapped Key Points". 這世上的幸福大抵相似也沒什么好去描述的,而不幸福卻有各自的孤獨,故值得探討。"Unmapped Key Points" 緣于不同原因可被分為三類:
Unreachable key points
Extra key points
Not-mapped key points
Unreachable key points:
這一類是 "假夫妻",因為他們不具功能性。
嚴肅定義:這些key points 不會扇出到任何的primary output 端口、也不會扇出到任何其他時序單元的輸入、也不會扇出到任何black box 的輸入。
說人話:這些key points, 在當前模式下,對整個電路沒有實際的邏輯功能,他們只是在那里占著面積耗著功耗。
原因:一類是:這些key points 在該模式下沒邏輯功能,但在其他模式下有,在該模式下被設置的約束給bypass 掉了,如function 模式下DFT 相關的邏輯;另一類是:被LEC modeling 處理了,如clock gating cell, 在設置了" set flatten modeling -gated_clock " 會被LEC model 成寄存器D pin 的MUX; 另一類是:這些key points 真的就是 "渣渣",它們沒有意義地活著且浪費著資源,多數是由邏輯優化工具優化不徹底造成的。
對待方式:默認,LEC 不會對unreachable key points 做map, 也不建議對unreachable key points 做map, 如果你同情心泛濫非要給它們配對,可以在map 前設置命令 "set mapping method –unreach", 后果是增加compare 的時間且導致更多假的non-eq 點。如果你只想給某一組unreachable key poins 做map 可以用命令 "add mapped points" 設置。
示例:在如下示例中,由于SEL 端被設置成了0, 導致FF2 的輸出永遠不會被傳播下去,成了一個unreachable 的key points.
Extra key points:
這一類是"天注孤",因為命里就沒有對象可與之匹配。
嚴肅定義:這些key points 只存在于Golden 或Revised 其中之一,不會同時存在于兩個設計中。
說人話:這些key poins 可能是primary input, primary output, DFF, Latch, 它們要么是被優化掉的冗余邏輯,要么是被增加的非功能ports。
類別及解決辦法:
由于穿了馬甲,被誤認為"天注孤" 的,對于這一類,需要用戶加一些renaming rule 將其馬甲脫掉,幫其配對成功。
新增加的非功能ports, 如P&R 階段加入的PG pin, 可以用命令"add pin constraints" 將其設為常值。如綜合時加入的DFT ports, 這類ports 不屬于要驗證邏輯功能的范疇,如果是output ports 可以直接用命令"add ignored outputs" 將其逐出,設了ignored 之后不會被計入任何mapping status 類型;如果是input ports 如果這些input ports 是某些key points 的輸入,則需要根據設計意圖用命令 "add pin constraints" 做約束,如scan_enable, 如果這些input ports 不扇出到任何key points 則可以直接無視或用命令"add ignored inputs" 將其逐出。
冗余的的DFF 和Latch, 如無特別設置綜合工具會將冗余邏輯優化掉,大部分情況下,在LEC 中如果設了對應的modeling option, LEC 可以識別出對應的冗余邏輯,并將對其做modeling. 對于一些復雜設計,在compare 之前,LEC 無法確認Not-mapped DFF/Latch 是否是冗余的,在compare 過程中,工具會做更深刻地分析,在比較結束后會將這些Not-mapped DFF/Latch 歸類到Extra key points. 所以在一些case 上會看到比較前后的Extra key points 個數發生變化。
Not-mapped key points:
這一類是"老大難",他們是來歷劫的,是要歷經萬難才能配對成功。
嚴肅定義:由于各種原因,LEC 無法輕易在另一個design 中找到與這些key points 對應的點。
說人話:這類key points 既可能在Golden 中也可能在Revised 中,在無外力協助時,LEC 用盡全力也找不到與其對應的點,而這些點大多都是會導致比較結果失敗的點,所以要施加各種小魔法,在compare 前將其配對成功。只有極少數的點,在compare 過程中,LEC通過深入了解發現它們不是『老大難』而是『天注孤』或『假夫妻』,在compare 后會把他們歸于『天注孤』或『假夫妻』。
類別及解決辦法:
由于穿了馬甲,他就認不出她,對于這一類,需要用戶加一些renaming rule 將其馬甲脫掉,幫其配對成功。
modeling option 設置不全,LEC 未對優化工具的優化行為對應建模,如優化動作:寄存器的復制及合并、被優化掉的常值寄存器、"don't care" 邏輯被優化為常值0/1、將寄存器替換成master-slave latches 、clock gating cell 的插入及復制、冗余寄存器的優化等。對于這類,需要用"set flatten model" 加對應的option 予以解決;也可以用analyze_setup -effort <high | ultra> 來解;也可以用set_analyze_option -effort_analyze_setup <high | ultra> 來解;但要注意effort 越高用的runtime 越多。
在一些case 中,在以上招數都失敗后,需要用"remodel -notmapped < modeling option >" 對剩余的點重新建模及匹配。
如果上述所有招式都用完,還是有notmapped 點,就先run 一次compare 以確定是否有假的『老大難』隱藏其中。
影響:
『老大難』就是那種讓父母操心朋友掛念的人,對世界和諧有諸多不良影響。
Not-mapped 點不會被當做compared 點進行邏輯等效性檢查;如果未按如上步驟解決,或努力了仍未解決掉,那比較結果將被標識成"Incomplete".
如果Not-mapped 點是其他key points 的扇入,則會導致驗證結果失敗,即Non-eq.
如果比較結果無Non-eq 且可證實真沒有對應的點與其匹配,則這類Not-mapped 的點人畜無害可被忽略。
“KeyPoint Mapping status是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。