※ 引述《ilovepachaya (我是好牛肉)》之銘言:
: ※ 引述《zxvc (執著)》之銘言:
: : 使用Design Compiler時,如果有加scan chain DFT,
: : insert_dft後要用write_scan_def寫出scan chians的資訊給後面的APR tool使用。
: : 我有個design是在core-level作synthesis,也寫出了scan def檔。
: : 後來再包一層top-level(或chip-level)連接scan chain。
: : 問題來了,我在APR(如IC Compiler)時不能以core-level產生的scan def檔讀入,
: : 會出現hierarchy path不正確的問題,這是因為我多加了一層chip-level module
: 是的 因為您的design是 CHIP chip level 但您的scandef而是core level
: 所以會出現hierarchy path不正確
: : 請問我要如何在chip-level寫出scan def檔?
: : 我己試到把core netlist與chip module都讀進Design Compiler,
: : 但怎麼試就是寫不出正確的scan def,
: : 有時候甚至寫出的檔案是沒有任何scan chain。
: : 正確的操作步驟為何?
: 兩種方式解決
: 1.一樣執行core-level synthesis並寫出scandef
: 之後修改scandef的內容,例如 本來是從top/scan_out
: 可能要改成 opad_scan_out/O
: 就是自行修改成CHIP level的格式
core-level syn scandef檔我打開看過,不過不確定要如何改。
是每一個paths都要改嗎?
: 2.直接執行CHIP level synthesis
: 這方法較簡單 寫出來的scandef直接使用不需修改
其實我知道chip-level syn可以避開這個問題。
但我之所以這次不用chip-level syn的原因是:
我用的製程(UMC 90nm)的IO pads是bidirectional pads。
每個pad不止兩個pins,還有一些control pins。
在scan chain insertion時,Design Compiler(DC)會依據
你用set_dft_signal所指定的port去串。DC會從port跨過pad
接到core。問題是因為bidirectional pads有太多pins,
DC無法判定跨過pads後要往哪個pins接到core,所以有可能發生接錯的情形。
像我chip-level syn的結果,我的scan data in ports就沒接到我的core。
: 請你參考
謝謝你的建議。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.71.32