【導(dǎo)讀】在芯片設(shè)計(jì)的精密體系中,復(fù)位信號(hào)本是保障功能啟動(dòng)的“安全錨點(diǎn)”,但當(dāng)復(fù)位邏輯突破單一域的限制、跨越不同域邊界時(shí),這個(gè)原本可靠的“錨點(diǎn)”卻可能演變?yōu)闈摬叵到y(tǒng)風(fēng)險(xiǎn)的“隱形裂縫”??鐝?fù)位域(RDC)問(wèn)題正是這樣一種隱蔽的挑戰(zhàn):它讓功能仿真顯示“一切正?!?,卻在芯片回片后的復(fù)雜工況下,因復(fù)位信號(hào)的異步釋放、時(shí)序偏差等觸發(fā)隨機(jī)功能錯(cuò)誤,輕則導(dǎo)致系統(tǒng)異常,重則造成流片失敗。對(duì)于追求高可靠性的現(xiàn)代芯片開(kāi)發(fā)而言,建立一套可靠的RDC簽核流程是確保一次流片成功的關(guān)鍵。
核心概念:什么是復(fù)位域與RDC?
要理解RDC,首先要明確“復(fù)位域”的概念。復(fù)位域是指由同一個(gè)異步復(fù)位信號(hào)控制的一組寄存器或邏輯模塊。根據(jù)復(fù)位策略的復(fù)雜度,系統(tǒng)可以分為:
單復(fù)位域系統(tǒng):整個(gè)芯片使用一個(gè)全局復(fù)位信號(hào),這是最簡(jiǎn)單、理想的情況。
多復(fù)位域系統(tǒng):不同功能模塊(如CPU核心、DMA控制器、外設(shè))使用各自獨(dú)立控制的復(fù)位信號(hào)。這些信號(hào)可能異步釋放,也就是釋放時(shí)間不同、甚至來(lái)自不同的邏輯區(qū)塊或電源域。現(xiàn)代復(fù)雜的片上系統(tǒng)(SoC),從手機(jī)處理器到數(shù)據(jù)中心AI芯片,幾乎都是復(fù)雜的多復(fù)位域系統(tǒng)。
跨復(fù)位域(RDC),就是指一個(gè)信號(hào)從一個(gè)復(fù)位域傳輸?shù)搅硪粋€(gè)復(fù)位域的路徑。當(dāng)這兩個(gè)域的復(fù)位信號(hào)在類(lèi)型、時(shí)序或相位關(guān)系上存在差異時(shí),RDC風(fēng)險(xiǎn)就產(chǎn)生了。
為何RDC是危險(xiǎn)的“芯片殺手”?
RDC風(fēng)險(xiǎn)容易被忽視,通常緣于復(fù)位網(wǎng)絡(luò)在大型設(shè)計(jì)中不像時(shí)鐘網(wǎng)絡(luò)那么復(fù)雜,設(shè)計(jì)者容易對(duì)此掉以輕心。然而其發(fā)生的后果與異步時(shí)鐘域交叉引起的后果同樣致命。RDC的核心風(fēng)險(xiǎn)源于復(fù)位的異步性,寄存器的異步復(fù)位輸出由于缺乏時(shí)序上的約束,使得后續(xù)的時(shí)序電路可能引發(fā)一系列問(wèn)題:
亞穩(wěn)態(tài)風(fēng)險(xiǎn):這是最經(jīng)典也最危險(xiǎn)的問(wèn)題。如果發(fā)送域的復(fù)位先激活,其輸出信號(hào)開(kāi)始變化,而此時(shí)接收域的寄存器仍處于活躍狀態(tài),其時(shí)鐘沿可能恰好采到正在變化的信號(hào),導(dǎo)致寄存器輸出陷入既非“0”又非“1”的亞穩(wěn)態(tài),并將這個(gè)不確定狀態(tài)傳播到后續(xù)電路,導(dǎo)致功能性錯(cuò)誤。
復(fù)位毛刺傳播:如果異步復(fù)位信號(hào)由組合邏輯產(chǎn)生,復(fù)位信號(hào)可能由于組合邏輯不同輸入路徑延遲不同產(chǎn)生毛刺,從而對(duì)時(shí)序電路進(jìn)行未預(yù)期的復(fù)位,導(dǎo)致功能紊亂。
復(fù)位同步后的再匯聚問(wèn)題:當(dāng)兩個(gè)源自相同復(fù)位域或不同步復(fù)位域的信號(hào),經(jīng)過(guò)不同路徑(如不同長(zhǎng)度的同步器鏈)同步到同一復(fù)位域后再次匯聚時(shí),可能由于復(fù)位同步路徑上的延遲差異而失去數(shù)據(jù)上的關(guān)聯(lián)性,導(dǎo)致邏輯錯(cuò)誤。
這些錯(cuò)誤的隱蔽性極強(qiáng),傳統(tǒng)的驗(yàn)證方法,如STA或常規(guī)的功能仿真,很難捕捉到它們,因?yàn)閱?wèn)題只在特定、罕見(jiàn)的復(fù)位時(shí)序組合下才會(huì)被觸發(fā)。 一旦帶有RDC問(wèn)題的芯片流入市場(chǎng),故障現(xiàn)象間歇性出現(xiàn),診斷和修復(fù)的成本極其高昂。
設(shè)計(jì)實(shí)踐:從源頭防范RDC
優(yōu)秀的芯片設(shè)計(jì)不僅依靠后期驗(yàn)證,更在于前期的架構(gòu)規(guī)避。工程師們有一系列成熟的設(shè)計(jì)準(zhǔn)則來(lái)減少RDC風(fēng)險(xiǎn):
首要原則-復(fù)位架構(gòu)簡(jiǎn)化:在系統(tǒng)架構(gòu)設(shè)計(jì)階段,應(yīng)盡量減少不必要的異步復(fù)位源。對(duì)于同一時(shí)鐘域內(nèi)的模塊,盡量使用同步復(fù)位或統(tǒng)一的異步復(fù)位,從根本上減少異步復(fù)位跨域路徑。
電路隔離與約束技術(shù):對(duì)于電路中存在從“異步復(fù)位中”信號(hào)到“未復(fù)位”信號(hào)的路徑,可以在路徑上插入復(fù)位隔離單元,在發(fā)送域復(fù)位有效期間將輸出鉗位到已知安全值。
復(fù)位機(jī)制保障:對(duì)于數(shù)據(jù)流確定的電路,通過(guò)電路設(shè)計(jì)保證上游電路先于下游電路復(fù)位,或者下游電路永遠(yuǎn)跟隨上游電路同時(shí)復(fù)位,這些復(fù)位機(jī)制能保證數(shù)據(jù)在跨復(fù)位域傳輸時(shí)消除風(fēng)險(xiǎn)。
現(xiàn)代驗(yàn)證利器:RDC專(zhuān)用簽核工具
即使遵循了最佳設(shè)計(jì)實(shí)踐,在數(shù)億門(mén)級(jí)規(guī)模的復(fù)雜芯片中,人工審查所有潛在的RDC路徑也是不可能的。這時(shí),專(zhuān)業(yè)的RDC簽核工具就成為了保證流片成功的必備。英諾達(dá)EnAltius?跨域檢查工具,繼支持時(shí)鐘域交叉(CDC)檢查功能后,將進(jìn)一步推出RDC簽核檢查功能,幫助芯片開(kāi)發(fā)者快速完成RDC的驗(yàn)證和收斂。
總結(jié)
跨復(fù)位域問(wèn)題體現(xiàn)了現(xiàn)代芯片設(shè)計(jì)中異步復(fù)位架構(gòu)的復(fù)雜性,行業(yè)內(nèi)的成功實(shí)踐表明,通過(guò)將前瞻性的復(fù)位架構(gòu)設(shè)計(jì)、系統(tǒng)性的復(fù)位場(chǎng)景管理,與強(qiáng)大的自動(dòng)化簽核工具相結(jié)合,可以徹底地消除與復(fù)位相關(guān)的設(shè)計(jì)隱患。這不僅關(guān)乎工具的選擇,更關(guān)乎一套涵蓋設(shè)計(jì)、驗(yàn)證和調(diào)試的完整方法論的建立。只有通過(guò)如此嚴(yán)謹(jǐn)縝密的流程,才能確保每一顆高度復(fù)雜的數(shù)字芯片都能穩(wěn)定、可靠地運(yùn)行。




