日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 艾思后端實現(xiàn)

在使用靜態(tài)時序分析工具的時候,通常會遇到case analysis的情形,但是由于時序分析工具的靜態(tài)分析屬性,工具會自動傳播case value,常規(guī)的時序分析命令不能很好的表達case value的形態(tài),這里介紹一種比較簡潔的方法來處理這類情形,閑言少敘,ICer GO!

case value的配置和傳播(propagation )

靜態(tài)時序分析工具對于SDC里邊的case analysis配置(set_case_analysis)會進行靜態(tài)傳播:

  • 組合邏輯:Z <= A * B (與門)
    • 如果A==0,B沒有case,則Z=0,case 傳播
    • 如果A==1,B沒有case,則Z不確定,case 不傳播
  • 時序邏輯:Q <= CP_edge * D
    • 由于Q是一個CP的edge來傳遞D,并非直接的靜態(tài)傳播,所以無論CP/D被配置成何種case,都不會傳播到Q上。

基于上述原理,工具在對SDC進行分析的時候,會先把SDC里的case analysis進行傳播分析,而后會得到每一個被確定的case value,用戶可以使用使用下面兩種方法獲得設(shè)計中的case value (這里以S家的工具為例)

  • report_case_analysis -all: 獲得數(shù)據(jù)庫中所有被施加(case analysis或者靜態(tài)傳播)的pin 和對應(yīng)的case value
  • get_attribute [get_pin $pin] case_value: 獲得制定pin ($pin)上的case value

case value對于report_timing的影響

但是,基于靜態(tài)時序分析的原理,如果一個pin具了case value的屬性(0/1/rise/fall etc.),那么它就不具備時序傳播的屬性了。簡言之就是:case value會把timing arc的傳播結(jié)果所復(fù)寫,這樣會導(dǎo)致常規(guī)的時序分析命令沒法去報告具備case value上的路徑信息了(PS:這個也也符合常理,你都擁有靜態(tài)的case value了,那么時序分析也就沒有意義了)。如果用戶嘗試去報告這樣一個節(jié)點,通常會遇到下面的No paths的情形:
在這里插入圖片描述
這個是因為EP上的常值導(dǎo)致的:
在這里插入圖片描述

分析case value傳播(propagation )的正確方式

但是對于某些情形,用戶對pin上的case value有了疑問,這個時候就需要去查驗這個pin上的case 的傳播源頭(propagation source),用戶就需要跳脫傳統(tǒng)的report_timing指令,而換為使用下面的方法進行追溯了(trace)
在這里插入圖片描述

面對case_analysis的定義,由于芯片的規(guī)模越來越大,在不同模式下,工具需要通過當前模式下的SDC對整個設(shè)計的case_analysis進行演算,從而讓可以確定的常數(shù)進行全芯片傳播,這樣才能達到靜態(tài)分析芯片的目的。
對于需要當前數(shù)據(jù)庫中的某一個點的case value來源的需求,通常常值傳播是不能使用report_timing來報告路徑的,
  • all_fanin -trace_arc enabled -to $input_pin:剔除case analysis影響下,返回所有enabled fanin 信息的一個集合
  • report_transitive_fanin -to $input_pin -trace_arc enabled:剔除case analysis影響下,返回enabled fanin 傳播路徑的細節(jié)
    如果是為了追溯case value的傳播路徑,這里推薦使用第二個命令,示例如下:
    在這里插入圖片描述
    在這里插入圖片描述
    對應(yīng)的transitive類似下圖:在這里插入圖片描述

當然,PT默認的報告只是打印了case的傳播路徑,但還不是很明顯的看到case的傳播影響,這里使用一個proc就可以生成下列的一個對用戶更為友好的報告:
在這里插入圖片描述

從上圖可看到,這個case的源頭是來自于:mode/O的這個case,具體到transitive連接如下圖所示:

在這里插入圖片描述

所以可以看到,PT提供了這個命令可以很好的trace case value的傳播,從而抵達實際驅(qū)動ff節(jié)點,對于用戶分析case value提供了跟多的選項,當然,proc的作用也是可以讓每個節(jié)點的case value直接輸出到report里邊,這樣就可以很好的去判斷case 的傳播路徑。
類似的,除過查看扇入fanin,PT也有提供扇出fanout的類似如下命令:

  • all_fanout -trace_arc enabled -from $output_pin:剔除case analysis影響下,返回所有enabled fanout 信息的一個集合
  • report_transitive_fanout -from $output_pin -trace_arc enabled:剔除case analysis影響下,返回enabled fanout 傳播路徑的細節(jié)

PS:具體PT的proc腳本會上傳到星球,請各位按需取拿

【敲黑板劃重點】

在大型芯片里邊的case 傳播會非常的復(fù)雜,很多時候不是很好分析,利用PT的命令結(jié)合自研proc,可以很好的追溯出case value的傳播路徑,以前可能需要用verdi查看的問題,從現(xiàn)在開始,就可以使用靜態(tài)工具進行高效分析了


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉