香山處理器的第二代微架構(gòu),南湖微架構(gòu),引入了L3 Cache,可配置多核形態(tài),我們完成流片的是雙核版本的南湖。較第一代雁棲湖,設(shè)計(jì)規(guī)模在大幅膨脹,主頻也從1.3GHz提升到2GHz。規(guī)?;髮?duì)DFT設(shè)計(jì)及物理實(shí)現(xiàn)都造成新的挑戰(zhàn),我們的設(shè)計(jì)方法學(xué)也需要與時(shí)俱進(jìn)。
同時(shí)南湖微架構(gòu)的產(chǎn)品化改造(南湖V2),我們以工業(yè)級(jí)產(chǎn)品的要求對(duì)南湖微架構(gòu)進(jìn)行更加細(xì)致的驗(yàn)證與優(yōu)化。產(chǎn)品化改造中核心是PPA(Performance『性能』、Power『功耗』、Area『面積』),我們?cè)趯?shí)現(xiàn)更高性能、更低功耗、更小面積上不斷地尋求最佳路徑。而在定位量產(chǎn)的產(chǎn)品化改造中,DFT(Design For Test)更是一個(gè)繞不開的規(guī)格,在雁棲湖微架構(gòu)上,我們已經(jīng)落實(shí)了一版基本的DFT方案;在南湖V2架構(gòu)上,我們基于PPA對(duì)DFT方案進(jìn)行了更加細(xì)致的優(yōu)化。
本文整理出“南湖”的DFT設(shè)計(jì)范例,同樣包括了生產(chǎn)測(cè)試規(guī)格、DFT設(shè)計(jì)規(guī)格、DFT設(shè)計(jì)數(shù)據(jù)對(duì)比及測(cè)試數(shù)據(jù)預(yù)期,給各大開發(fā)者作一個(gè)參考。
1. 生產(chǎn)測(cè)試規(guī)格
“南湖”是純數(shù)字電路,由時(shí)序邏輯、組合邏輯、Memory組成;設(shè)計(jì)范例考慮常規(guī)soc芯片所需要的生產(chǎn)測(cè)試規(guī)格,若芯片有更高的測(cè)試要求(如車規(guī)芯片),可自行增加測(cè)試規(guī)格及對(duì)應(yīng)的電路開發(fā)。
2. DFT 設(shè)計(jì)規(guī)格
“南湖”仍是采用結(jié)構(gòu)化的DFT,可以通過EDA工具快速對(duì)design插入DFT電路以實(shí)現(xiàn)敏捷開發(fā);“南湖”較“雁棲湖”DFT相關(guān)電路進(jìn)行了精細(xì)化的調(diào)整,“南湖”包含的結(jié)構(gòu)化DFT電路如表所示:
2.1 雁棲湖和南湖的DFT電路對(duì)比
南湖相比于雁棲湖,最大的改動(dòng)是MBIST調(diào)整為基于Sharedbus以減少M(fèi)bist Controller的數(shù)量,edt channel不再以pin-muxed的方式集成,而是通過SSH(Streaming Scan Hosts)對(duì)edt進(jìn)行內(nèi)部集成,整芯片形成一張Streaming Scan Network,以下兩圖展示兩代DFT電路架構(gòu)的差異:
圖1 雁棲湖的DFT電路架構(gòu)
圖2 南湖的DFT電路架構(gòu)
南湖因SSN規(guī)格的引入,DFT端口較雁棲湖相比也進(jìn)行了優(yōu)化。不變的是南湖還是會(huì)通過基于IEEE1687協(xié)議的IJTAG配置網(wǎng)絡(luò)對(duì)MBIST、EDT、OCC以及其他DFT的靜態(tài)信號(hào)進(jìn)行控制。dft_se/edt_update由SSH(Streaming Scan Hosts)本地化生成,edt channel成為了內(nèi)部連接信號(hào),因此調(diào)整edt壓縮比導(dǎo)致的edt channel數(shù)發(fā)生變化以及增加減少edt數(shù)量均不再影響模塊端口,我們稱其為Real Hierarchical Design。
雁棲湖和南湖的DFT新增端口差異如下表所示:
2.2 DFT設(shè)計(jì)流程
“南湖”微結(jié)構(gòu)設(shè)計(jì)是基于chisel語言開發(fā),Chisel作為一種全新的高級(jí)硬件描述語言,相關(guān)的工具鏈生態(tài)還比較薄弱;因此Chisel支持編譯成RTL以兼容傳統(tǒng)的芯片開發(fā)流程包括綜合、DFT設(shè)計(jì)以及基于UVM框架的驗(yàn)證等等。
Chisel由編譯器編譯出來的RTL,自然也非常利于工具解析,規(guī)避掉很多語法識(shí)別問題,這個(gè)可以更好地支持DFT RTL Flow;MBIST等邏輯在rtl flow進(jìn)行,大部分情況下可獲得更好的PPA指標(biāo)。設(shè)計(jì)范例中選取了與綜合工具配套的SCAN工具,可以在綜合環(huán)境當(dāng)中完成Scan Insert,以應(yīng)對(duì)帶物理信息的綜合流程。而業(yè)界當(dāng)中也有很多設(shè)計(jì)采用DFT Gate Flow,這也是完全沒有問題,下圖為大致的DFT設(shè)計(jì)流程示意圖:
圖3 DFT設(shè)計(jì)流程
3. DFT 的集成與設(shè)計(jì)
從“南湖”開始,我們?cè)诖a設(shè)計(jì)中加入了一些DFT相關(guān)接口,便于開發(fā)者實(shí)現(xiàn)更加具有競(jìng)爭(zhēng)力的DFT方案。其中DFT相關(guān)接口包括ATPG測(cè)試相關(guān)接口以及MBIST測(cè)試相關(guān)接口。
開發(fā)者在基于南湖微架構(gòu)實(shí)現(xiàn)DFT方案的時(shí)候,需要清晰地知道相關(guān)接口的集成方式,以便保證具體DFT設(shè)計(jì)的正確性且能達(dá)到預(yù)期覆蓋。
3.1 時(shí)鐘樹設(shè)計(jì)及測(cè)試時(shí)鐘
隨著處理器主頻不斷提高,邏輯規(guī)模不斷地增大,時(shí)鐘網(wǎng)絡(luò)的分布也越來越大、規(guī)模不斷增加,由此帶來芯片時(shí)序收斂及功耗優(yōu)化的壓力凸顯?!澳虾钡臅r(shí)鐘樹設(shè)計(jì)上,采取了H-Tree的時(shí)鐘樹設(shè)計(jì),來降低芯片時(shí)鐘網(wǎng)絡(luò)功耗并克服巨大時(shí)鐘網(wǎng)絡(luò)分布受片上工藝偏差(OCV,On Chip Variation)影響而帶來的時(shí)鐘偏斜(clock skew),從而加速設(shè)計(jì)時(shí)序收斂。
圖4 南湖的時(shí)鐘樹設(shè)計(jì)
DFT的時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)上也進(jìn)行了修改,一方面來應(yīng)對(duì)H-Tree的時(shí)鐘樹網(wǎng)絡(luò),另一方面是適配新引入的SSN規(guī)格:
圖5 南湖的DFT時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)
其中CLK_COPY_GEN與H-Tree末端TAP點(diǎn)、與OCC的連接關(guān)系如下圖所示:
圖6 CLK_COPY_GEN的電路連接關(guān)系
“南湖”主時(shí)鐘頻率為2GHz,ssn_bus_clk頻率設(shè)定為200MHz,EDT及模塊寄存器shift頻率設(shè)定為100MHz。
3.2 復(fù)位的DFT可控處理
南湖采用異步復(fù)位、同步撤離的復(fù)位電路結(jié)構(gòu),功能模式僅在低頻時(shí)鐘下進(jìn)行復(fù)位撤離。復(fù)位模塊在代碼設(shè)計(jì)中加入以下DFT可控電路,以便于復(fù)位操作及滿足SCAN DRC。后續(xù)功能模式將支持高頻復(fù)位及撤離,復(fù)位dft可控電路結(jié)構(gòu)也會(huì)持續(xù)演進(jìn)。
圖7 復(fù)位的DFT可控處理
其中dft_mode、scan_mode由IJTAG集成,dft_lgc_rst_n復(fù)位信號(hào)加入了測(cè)試點(diǎn)處理,以滿足pattern retarget的規(guī)格實(shí)現(xiàn)。
3.3 ATPG接口信號(hào)處理
考慮到ATPG測(cè)試的一些需求,南湖微架構(gòu)設(shè)計(jì)中加入與ATPG測(cè)試相關(guān)的DFT接口。
以下為ATPG DFT信號(hào)列表:
dft_mode/scan_mode/dft_lgc_rst_n
參考南湖復(fù)位的DFT可控處理
dftcgen/dft_mcp_hold/dft_l3dataram_clk/dft_l3dataramclk_bypass
圖8 L3 Dataram的時(shí)鐘門控處理
南湖微架構(gòu)在L3 dataram時(shí)鐘上進(jìn)行了分頻門控處理,代碼設(shè)計(jì)上對(duì)該結(jié)構(gòu)也進(jìn)行了DFT可控處理。
dftcgen連接的是集成門控的TE端,該信號(hào)在scan shift階段保證有效,scan capture階段由測(cè)試點(diǎn)控制打開/關(guān)閉,可有效測(cè)試門控本身及支持stuck-at ATPG的ram sequential向量生成。
dft_mcp_hold可以強(qiáng)制關(guān)閉門控以在at-speed ATPG的時(shí)候阻止multicycle paths帶來的X-pollution。
若STA約束對(duì)L3 Dataram的輸入設(shè)置hold multicycle,設(shè)計(jì)范例將dft_l3dataram_clk掛載在低頻的OCC上,利用兩個(gè)OCC之間的hold multicycle來實(shí)現(xiàn)L3 Dataram的stuck-at ram sequential向量生成。
dft_ram_hold/dft_ram_bypass/dft_ram_bp_clken
南湖微架構(gòu)采用基于sharedbus的MBIST設(shè)計(jì)方法,EDA生成的Mbist Controller和sharedbus接口對(duì)接,不再對(duì)Memory周邊插入MBIST及支持ram sequential的電路處理。因此南湖微架構(gòu)設(shè)計(jì)中進(jìn)行了支持ram sequential的信號(hào)處理,有3個(gè)dft信號(hào)dft_ram_hold/dft_ram_bypass/dft_ram_bp_clken送到sram_array上。
我們約定在sram_array模塊中讓用戶例化真實(shí)SRAM。在例化真實(shí)SRAM的時(shí)候可以參照以下電路自行加入相關(guān)DFT可控邏輯,其中mbist_selectOH(~dft_ram_hold)在sram_array中對(duì)sram的片選鉗位處理是必須的,保證scan shift的時(shí)候RAM處于片選無效,而ram bypass logic則是可選。ram bypass logic的加入可以進(jìn)一步提高memory shadow logic的覆蓋率,但也對(duì)memory周邊時(shí)序產(chǎn)生負(fù)影響,用戶可以根據(jù)產(chǎn)品的測(cè)試需求來權(quán)衡。設(shè)計(jì)范例中對(duì)sram_array均加入ram bypass logic處理。
圖9 sram_array的DFT處理
3.4 MBIST集成與設(shè)計(jì)
基于南湖微架構(gòu)中的Cache結(jié)構(gòu),結(jié)合對(duì)Memory測(cè)試定位便利性及測(cè)試時(shí)間的均衡,sharedbus對(duì)CPU整系統(tǒng)的MBIST總線劃分如下:
圖10 南湖MBIST總線劃分
Mbist總線接口具體層次如下列表所示:
MBIST總線(綠色部分)在南湖微架構(gòu)代碼中落實(shí)
MBIST Controller(藍(lán)色部分)通過EDA工具插入與MBIST總線對(duì)接
DFT設(shè)計(jì)范例基于雙核版本的南湖微架構(gòu),共設(shè)計(jì)了8組MBIST總線,對(duì)應(yīng)8個(gè)MBIST Controller,相比于雁棲湖,MBIST Controller大幅減少。
3.4.1 Sharedbus相關(guān)文件配套
Sharedbus相關(guān)文件配套包含描述MBIST總線接口到Memory映射關(guān)系的csv格式文件;該文件可以直接文本打開或者通過excel打開:
MBIST_L1.csvMBIST_L2.csvMBIST_L3S0.csvMBIST_L3S1.csvMBIST_L3S2.csv
MBIST_L3S3.csv
Sharedbus相關(guān)文件配套也提供了轉(zhuǎn)換腳本通過csv文件轉(zhuǎn)換成主流EDA工具的MBIST輸入件,以實(shí)現(xiàn)MBIST設(shè)計(jì)流程的高度自動(dòng)化:
MbistIntfTcdGen.py –csv MBIST_L1.csvMbistIntfBuscfgGen.py –csv MBIST_L1.csv
3.4.2 L3 Dataram的讀寫Latency
南湖L3 cache 中的BankData RAM/DataEcc RAM工作在分頻時(shí)鐘下,Mbist測(cè)試模式通過mbist_readen/mbist_writeen進(jìn)行門控控制,電路結(jié)構(gòu)如下:
圖11 L3 Dataram的時(shí)鐘門控處理
MBIST Controller對(duì)mbist_readen/mbist_writeen進(jìn)行隔拍發(fā)送。L3 Dataram的MBIST讀寫時(shí)序如下圖波形所示:
圖12 二分頻的sharedbus讀寫時(shí)序
從MBIST Controller發(fā)起讀使能開始,控制器需要過多少拍之后才去采集有效的mbist_outdata,這里涉及到Read Total Cycles的計(jì)算。下圖展示了Read Total Cycles的構(gòu)成:
圖13 Read Total Cycles計(jì)算
3.4.3 超大寬度Logical Memory的mbist_selectOH處理
sharedbus總線為了控制面積,mbist_data寬度最高限制在256,不過設(shè)計(jì)當(dāng)中有一些Logical Memory的數(shù)據(jù)寬度超過了256(如PTW_L3_RAM寬度達(dá)到1380);在sharedbus設(shè)計(jì)對(duì)這類Logical Memory進(jìn)行拆分,使用mbist_selectOH信號(hào)進(jìn)行Mbistarray區(qū)分;sharedbus設(shè)計(jì)中有以下電路將mbist_selectOH信號(hào)送到sram_array上:
圖14 超大寬度Logical Memory的mbist_selectOH處理
mbist_selectOH功能模式下默認(rèn)值為全1。
在sram_array中是實(shí)例化SRAM同時(shí),使用mbist_selectOH對(duì)Memory寫使能/片選進(jìn)行與門鉗位。
mbist_selectOH信號(hào)也被復(fù)用為(~dft_ram_hold)
3.4.4 Memory Repair
設(shè)計(jì)范例中L3 Slice中的BankData RAM和DataEcc RAM均使能了Redundancy,DFT對(duì)存在Redundancy的SRAM進(jìn)行MBISR(Memory Built-In Self-Repair)電路設(shè)計(jì)以謀求在量產(chǎn)測(cè)試中提高芯片良率。EDA工具可以在Sharedbus架構(gòu)下自動(dòng)完成MBISR相關(guān)的電路生成。MBISR在整芯片的集成架構(gòu)如下圖所示:
圖15 整芯片MBISR集成架構(gòu)
3.4.5 MBIST設(shè)計(jì)數(shù)據(jù)
Cache Size及MBIST規(guī)格數(shù)據(jù)對(duì)比:
圖16 雁棲湖與南湖面積增長對(duì)比
如上圖雁棲湖與南湖面積增長對(duì)比,公平起見,南湖Pre DFT不包含sharedbus邏輯,Post DFT均為實(shí)現(xiàn)完全DFT規(guī)格后的綜合面積(包括ijtag、mbist、occ、edt、scan replacement、scan stitching的面積增長),其中南湖Post DFT還包括SSN相關(guān)電路。
雁棲湖與南湖XSTile的Instances規(guī)模相當(dāng),兩者面積進(jìn)行對(duì)比
DFT面積增長從21.3%優(yōu)化到12.7%受益于工藝制程,整體面積降46.6%
對(duì)比XSTile與XSTop,Cache Size越大,Sharedbus架構(gòu)收益更明顯
由于Sharedbus架構(gòu),組內(nèi)memory串行測(cè)試帶來測(cè)試時(shí)間增長,但MBIST測(cè)試時(shí)間并不是測(cè)試時(shí)間占比大頭,這部分后續(xù)通過ATPG向量優(yōu)化把整體測(cè)試時(shí)間降下來。
3.5 集成與設(shè)計(jì)
采用全掃描電路,南湖采取層次化的設(shè)計(jì),XSTile與XSTop分別插入掃描鏈。
不同scan chain長度盡量保持平衡
為了方便timing收斂,一條scan chain上只對(duì)應(yīng)同一個(gè)功能時(shí)鐘域,鏈尾統(tǒng)一加上LOCKUP
Scan shift頻率從雁棲湖的48MHz提升到100MHz
shift_capture_clock為ssn_bus_clk的generate clock,scan enable由SSH本地化生成
模塊使能wrapper chain,加入wrapper cell原則為share first,reuse_threshold閾值設(shè)置為20
模塊wrapper cell統(tǒng)計(jì),物理實(shí)現(xiàn)需關(guān)注被加入Dedicate Wrapper Cell的功能接口時(shí)序:
時(shí)鐘、dft相關(guān)端口不加入wrapper cell
3.6 集成與設(shè)計(jì)
南湖整體的EDT/SSH的集成框架如下圖所示:
圖17 南湖EDT/SSH集成框架
針對(duì)XSTile的輸出SSN DataPath進(jìn)行bypass處理應(yīng)對(duì)XSTile掉電隔離
SSN DataPath在模塊接口均加入Pipeline
使能On-chip Compare
XSTop/XSTile的SSH Nodes加入On-chip Compare電路便于Partical good die的測(cè)試分bin及indentical cores(XSTile)的測(cè)試向量優(yōu)化;edt output channel影響Expect/Mask的數(shù)據(jù)量,edt output channel需盡量少。
SSH工作頻率為200MHz,由外部時(shí)鐘ssn_bus_clk輸入,EDT工作頻率為100MHz
edt_update由SSH本地化生成,edt_clk為ssn_bus_clk的generate clock,SSH中使用stdcell庫提供的clock shaper cell便于簡化時(shí)鐘約束及CTS時(shí)鐘處理。
圖18 clock shaper cell的電路結(jié)構(gòu)
Clock shaper cell由兩個(gè)latch以及一個(gè)mux組成,可以很好地實(shí)現(xiàn)分頻時(shí)鐘的生成以及保證時(shí)鐘占空比:
圖19 clock shaper cell的電路時(shí)序
每一個(gè)block設(shè)計(jì)兩個(gè)EDT,1個(gè)SSH
普通scan chain、reserved chain壓縮到int edt當(dāng)中occ chain、gt_se_chain、sti chain、wrp chain壓縮到wrp edt當(dāng)中,同時(shí)壓縮到int edt當(dāng)中模塊edt chain/channel設(shè)置,SSH 的bus_width設(shè)置:
對(duì)EDT的Compactor進(jìn)行打拍,避免組合邏輯深度過深
兩個(gè)EDT的channel均集成到SSH當(dāng)中
EDT使能lowpowershift,min_switching_threshold_percentage設(shè)置為15(翻轉(zhuǎn)率)
3.7 Streaming Through IJTAG
LPCT(Low Pin Count Test)是增強(qiáng)板級(jí)定位的測(cè)試手段,同時(shí)也可以服務(wù)于芯片的裝備測(cè)試。Low Pin Count Test顧名思義是用極少的管腳數(shù)量完成芯片的測(cè)試,常見于通過IEEE 1149.1協(xié)議的JTAG接口完成LPCT,因?yàn)楣δ苣J胶虳FT模式都會(huì)使用JTAG接口,可以很好地復(fù)用。使用pin-muxed集成edt的方式,需要額外地加入LPCT Controller及相關(guān)連接才能實(shí)現(xiàn)LPCT,通過SSN的方式集成edt,其架構(gòu)本身則利于LPCT的實(shí)現(xiàn),在SSH內(nèi)部IJTAG接口可輕松地對(duì)bus_clk/bus_data完成接管,我們稱之為Streaming through IJTAG,結(jié)構(gòu)如下圖所示:
圖20 Streaming Through IJTAG
Scan data通過TDI、TDO移進(jìn)/移出,shift_capture clock通過TCK實(shí)現(xiàn)
借助于現(xiàn)有的IJTAG網(wǎng)絡(luò),完成TAP到ScanHost nodes的scan data傳遞
OCC需要支持inject tck
支持internal 及external capture
支持測(cè)試所有的ATPG fault models
模塊正常生成的Retargetable Pattern可以重定向成LPCT的測(cè)試Pattern
支持同時(shí)測(cè)試所有的ScanHost nodes
3.8 設(shè)計(jì)數(shù)據(jù)
靈活的Pattern Retarget粒度
設(shè)計(jì)中通過合理分配OCC、SSH、EDT、Wrapper Chain所插入的位置,以實(shí)現(xiàn)XSTile、XSTop獨(dú)立的Retargetable Pattern生成,或者以XSTop flatten為粒度進(jìn)行Retargetable Pattern生成
ATPG Data Pin-muxed vs SSN
在進(jìn)行基于SSN的ATPG設(shè)計(jì)數(shù)據(jù)收集同時(shí),我們對(duì)pin-muxed集成方式進(jìn)行對(duì)比。在pin-muxed集成方式下,edt的input channel與output channel保持和SSN一致,XSTile的edt input channel采用信號(hào)廣播的方式進(jìn)行集成。Pin-muxed/SSN的集成方式下,SCAN所占端口資源對(duì)比:
Pin-muxed/SSN的ATPG覆蓋率及向量數(shù)對(duì)比:
覆蓋率具體情況:
unwrapped模式下的Stuck-at向量對(duì)比:
圖21 unwrapped模式下的Stuck-at向量
unwrapped模式的Transition向量對(duì)比:
圖22 unwrapped模式下的Transition向量
對(duì)于XSTop Only在edt channel明顯少于SSN bus的寬度情況下,在向量數(shù)上有明顯的優(yōu)化;對(duì)于XSTop Only以及XSTop Flatten的SSN ATPG Generation,共啟動(dòng)了3個(gè)SSH Nodes,各SSH Nodes間的Capture會(huì)對(duì)齊,從ATPG數(shù)據(jù)上看UC+UO的比例稍微比Pin-muxed的ATPG多一點(diǎn)點(diǎn),但整體差異并不大。
基于SSN的ATPG向量機(jī)制
SSN Bus如同一個(gè)管道,SSH如同開關(guān)閥門,Scan data如同管道中的水流向每一個(gè)模塊當(dāng)中。管道帶寬Bandwidth=Bus Width*Bus Frequency,在IO資源(Bus Width)有限的情況下,通過提升Bus Frequency來增加管道帶寬。因此南湖當(dāng)中SSN bus設(shè)定為200MHz。SSN Bus的邏輯和時(shí)鐘均與功能邏輯解耦,placement和cts均可DFT自己控制,200MHz的時(shí)序收斂相對(duì)來說風(fēng)險(xiǎn)可控。
圖23 SSN Bus Bandwidth
SSN bus當(dāng)中的Scan data,有區(qū)別于傳統(tǒng)ATPG的普通激勵(lì),其格式為Packet-based,普通的Packet Format中帶有模塊標(biāo)記,以便于對(duì)應(yīng)模塊的SSH將Packet payload卸載到EDT當(dāng)中,具體格式如下所示:
Packet Format:I,其中I表示ScanIn
普通的Packet Format常用于測(cè)試non-identical core,下圖展示Packet-based數(shù)據(jù)如何通過SSN bus送到對(duì)應(yīng)的EDT當(dāng)中:
圖24 Normal SSN Packet Formats
當(dāng)我們使用On-chip Compare模式測(cè)試identical cores的時(shí)候,Packet Format會(huì)發(fā)生變化,如下圖所示,例子中為6個(gè)identical cores,status groups分為a、b兩個(gè)group,Packet data中除了ScanIn之外,還有Expect、Mask 、Status,因此Packet Format中input time slots有I、E、M這幾個(gè)labels,output time slots有status groups的labels。
圖25 SSN Packet Formats When Using On-chip Compare
基于SSN的ATPG向量收益
SSN較傳統(tǒng)Pin-muxed的集成架構(gòu)上發(fā)生了比較大的變化,且SSH增加了電路面積,這塊的代價(jià)肯定希望可以換來收益的。傳統(tǒng)的Pin-muxed集成方式下,scan enable為全局信號(hào),因此在ATPG向量上各模塊的capture必須對(duì)齊,shift cycle比較少的模塊需要加入Padding cycle補(bǔ)齊。
圖26 Pin-muxed Retargeting with aligned capture
在SSN集成方式下,scan enable為SSH本地生成,wrapper cores在retargeting的時(shí)候可以獨(dú)立shift/capture。值得注意的是,在IDDQ向量以及多個(gè)SSH Nodes一起ATPG Generation的時(shí)候,多個(gè)SSH Nodes之間的Capture還是會(huì)對(duì)齊。
圖27 SSN Retargeting with independent shift/capture
獨(dú)立shift/capture帶來幾個(gè)好處:一個(gè)可以減少wrapper cores間因shift cycle不一致而導(dǎo)致產(chǎn)生的padding cycle,在SSN Retargeting的時(shí)候可以靈活地進(jìn)行Bandwidth tuning;另外一個(gè)是錯(cuò)開capture時(shí)刻點(diǎn)可以降低capture的峰值功耗,從而減輕IR drop。傳統(tǒng)Pin-muxed集成方式所完成的ATPG,測(cè)試時(shí)間容易因?yàn)槟硞€(gè)模塊的Test cycle特別多而成為瓶頸,實(shí)際上造成了帶寬的浪費(fèi);下圖展示通過SSN Retargeting的Bandwidth tuning,可有效降低整體測(cè)試時(shí)間。
圖28 Traditional hierarchical ATPG retargeting
圖29 Bandwidth tuning during SSN retargeting
而對(duì)于設(shè)計(jì)中存在多個(gè)identical cores,SSN Bandwidth tuning的作用有限,此時(shí)我們可以通過on-chip Compare來減少測(cè)試時(shí)間。盡管indentical core(XSTile)的SSN DataPath是串接起來的,在On-chip Compare模式下也可以將同一份Scan data廣播到每一個(gè)indentical core,數(shù)據(jù)比對(duì)通過identical cores中的sticky bit本地完成。
圖30 non-identical cores SSN ATPG Test
圖31 identical cores Test in On-chip Compare Mode
但由于On-chip Compare的ATPG向量方式和普通ATPG向量不太一樣,診斷流程也有所差別,是否可直接診斷受test_setup當(dāng)中的on_chip_compare_contribution以及status group的分組影響,在向量開發(fā)的時(shí)候需要額外注意。
4. 眾核香山處理器Pin_muxed vs SSN
從上一章節(jié)的SSN ATPG向量收益來看,SSN的優(yōu)勢(shì)更多地發(fā)揮在整芯片集成上;為了進(jìn)一步地比對(duì),本章節(jié)構(gòu)造了一個(gè)眾核版本的香山處理器,從整芯片集成的角度去分析兩個(gè)技術(shù)上的差異。眾核香山處理器基于雙核南湖微架構(gòu)作為CLUSTER,由8個(gè)CLUSTER組成tile-base design,65個(gè)可供SCAN復(fù)用的GPIO,IO最高測(cè)試速率100MHz,分別用Pin-muxed和SSN方式完成SCAN集成。
4.1 Pin-muxed集成
受限于IO資源,Pin-muxed的集成不能支持所有CLUSTER同時(shí)進(jìn)行測(cè)試,IO復(fù)用我們?cè)O(shè)置3個(gè)reuse group,其中將8個(gè)CLUSTER的intest,分兩次進(jìn)行測(cè)試,reuse group如下表所示:
Pin-muxed的集成示意圖如下圖所示(受限于篇幅,圖中沒有畫出XSTile):
圖32 眾核香山處理器的Pin-muxed集成
4.2 SSN集成
南湖微架構(gòu)當(dāng)中的SSN bus為200MHz,而IO最高測(cè)試速率為100MHz。針對(duì)此,我們?cè)谕葞捪?,?duì)Bus Width和Bus Frequency進(jìn)行互換。在SSN Bus的輸入,我們利用BusFrequencyMultiplier將32 Bus Width*100MHz轉(zhuǎn)換成16 Bus Width*200MHz;又在SSN Bus的輸出,利用BusFrequencyDivider將16 Bus Width*200MHz轉(zhuǎn)換成32Bus Width*100MHz。加上ssn_bus_clk,SCAN的IO復(fù)用也是65個(gè)?;赟SN的集成方式,可以對(duì)所有的CLUSTER同時(shí)進(jìn)行測(cè)試。ssn的集成方式如下圖所示(受限于篇幅,圖中沒有畫出XSTile):
圖33 眾核香山處理器的SSN集成
從Pin-muxed及SSN的集成方式對(duì)比可以看出,Pin-muxed的測(cè)試并行度受限于IO資源,而SSN則不受影響,具有很好的擴(kuò)展性;SSN可以實(shí)現(xiàn)模塊間更少的信號(hào)交互,頂層集成更加地清晰。
4.3 Pin-muxed與SSN的測(cè)試時(shí)間
在測(cè)試時(shí)間上,SSN集成方式可以做得更優(yōu),這樣可以有效地降低測(cè)試成本。在此,我們選取兩種集成方式的兩個(gè)Test Group進(jìn)行比較,先列出兩個(gè)Test Group的測(cè)試內(nèi)容:
Test Group的Stuck-at/Transition測(cè)試時(shí)間統(tǒng)計(jì)如下:
首先SSN的Retargetable Pattern可以拆得更細(xì),提高向量開發(fā)并行度,縮短向量開發(fā)周期;在最終整體測(cè)試時(shí)間上,SSN的測(cè)試時(shí)間也僅是Pin-muxed的55.7%。
再對(duì)比于3.86Million Instances的雁棲湖stuck-at+transition需要434.4ms完成測(cè)試,而8個(gè)CLUSTER共63.2Million Instances的南湖微架構(gòu)眾核香山處理器stuck-at+transition僅需要283.4ms完成測(cè)試,這是測(cè)試頻率提升及集成架構(gòu)優(yōu)化帶來的收益。
4.4 SSN的擴(kuò)展性
常見的商業(yè)CPU,通常一個(gè)CLUSTER帶4個(gè)Core,在SSN的集成上較于雙核,只需要把增加兩個(gè)Core的SSH Nodes串接起來即可,也不需要改變外部接口,憑借On-chip Compare測(cè)試,整體測(cè)試上從16 Core到32 Core,測(cè)試時(shí)間并不會(huì)發(fā)生明顯的變化。
圖34 四核南湖微架構(gòu)的SSN集成
在chiplet的2.D封裝集成上,Intel給出用了利用SSN完成die-to-die SCAN集成的示例:
圖35 2.5D die-to-die的SSN集成
對(duì)于3D IC的垂直堆疊,行業(yè)標(biāo)準(zhǔn)上IEEE 1838定義了新的3D-DFT標(biāo)準(zhǔn)用來測(cè)試堆疊芯片。IEEE 1838當(dāng)中FPP(Flexible parallel port)提供了并行的測(cè)試訪問接口,而利用SSN來完成FPP的集成,也是很好的解決方案。
圖36 IEEE 1838 schematic overview
另外,SSN結(jié)合Serdes高速接口(1149.10 HSIO )及高速數(shù)字機(jī)臺(tái),用更少的IO、更快的速率實(shí)現(xiàn)高帶寬的SCAN測(cè)試。下圖為愛德萬展示1149.10+SSN結(jié)合的電路架構(gòu):
圖37 1149.10+SSN
5. 測(cè)試數(shù)據(jù)預(yù)期
Broadcom在使用SSN集成上提供了一些實(shí)測(cè)數(shù)據(jù),也希望香山處理器在實(shí)測(cè)當(dāng)中也可以達(dá)到類似的效果。Broadcom在shmoo test中顯示,在測(cè)試同等數(shù)量cores的情況下,SSN相比于Pin-muxed可以獲得30mv的Vmin收益。上面的章節(jié)也提到,SSN可以讓每個(gè)Core實(shí)現(xiàn)獨(dú)立的capture來降低capture的峰值功耗,從而減輕IR drop。
圖38 SSN ATPG Test Shmoo
因?yàn)閛n chip compare測(cè)試不需要將數(shù)據(jù)cycle-to-cycle地移到SSN output上比較,不受IO速率和機(jī)臺(tái)數(shù)據(jù)抓取速率瓶頸的影響,shift時(shí)序收斂與實(shí)測(cè)可以Match上。
圖39 SSN On chip compare Vmin
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228817 -
DFT
+關(guān)注
關(guān)注
2文章
224瀏覽量
22654 -
微架構(gòu)
+關(guān)注
關(guān)注
0文章
22瀏覽量
7028 -
香山處理器
+關(guān)注
關(guān)注
0文章
6瀏覽量
672
原文標(biāo)題:香山處理器“南湖”DFT設(shè)計(jì)范例
文章出處:【微信號(hào):全棧芯片工程師,微信公眾號(hào):全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論