日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

如何考慮芯片的功能安全設(shè)計

2024-12-18 09:59:21·  來源:sasetech  作者:楊寧  
 

如何考慮芯片功能安全設(shè)計

芯片功能安全設(shè)計是一個很細(xì)分的門類,一般只有在設(shè)計和應(yīng)用符合功能安全要求的車規(guī)芯片時才會有相關(guān)的技術(shù)要求。以往有相關(guān)產(chǎn)品和設(shè)計經(jīng)驗的工程師都集中在傳統(tǒng)的車規(guī)芯片五巨頭(Infineon,NXP,ST,TI,Renesas)里,技術(shù)經(jīng)驗很少外流。在國內(nèi)最早成長起來的汽車行業(yè)的功能安全工程師都集中在整車廠和TIER1零配件供應(yīng)商,其經(jīng)驗偏重于整車和零配件行業(yè),對于芯片領(lǐng)域了解甚少,而國內(nèi)的芯片設(shè)計工程師又大都不了解功能安全知識,不具備相關(guān)的經(jīng)驗背景,所以目前在國內(nèi)有相關(guān)經(jīng)驗的技術(shù)人員不算多。今天的文章結(jié)合筆者的工作經(jīng)驗對芯片功能安全設(shè)計的思路簡單做一些探討和總結(jié),不涉及具體安全機(jī)制的實現(xiàn),算是拋磚引玉。

01.安全機(jī)制的劃分

目前業(yè)界主流的功能安全機(jī)制設(shè)計,按照其技術(shù)原理可以分為三類:冗余,診斷和監(jiān)控,隔離。冗余技術(shù)最早源自于航天領(lǐng)域,通過對單一的功能單元增加備份,以達(dá)到增強(qiáng)其安全性的目的。在車載芯片的功能安全設(shè)計中,冗余也是一個重要的技術(shù)手段。把冗余技術(shù)按照空間維,時間維和信息維三個維度來劃分,就可以對相關(guān)的安全機(jī)制做一個歸納。

空間維度的冗余就是通過復(fù)制功能單元來比對輸出結(jié)果,以增加電路面積的代價獲得安全性的提升,常見的冗余機(jī)制包括有:DCLS雙核鎖步,DMR雙模冗余,TMR三模冗余。四模冗余在車載芯片領(lǐng)域極為罕見,這里不進(jìn)行討論。

時間維度的冗余可以理解為增加操作時間窗口,在時間窗口內(nèi)重復(fù)同樣的操作,并通過反饋機(jī)制來確認(rèn)操作是否正確。對于時間維度的冗余機(jī)制,26262標(biāo)準(zhǔn)中列出的安全機(jī)制包括了TR重發(fā)和RB回讀。

信息維度的冗余就是發(fā)送端在傳輸信息時,除了本身需要傳輸?shù)男畔?,還增加了相應(yīng)的冗余位,冗余位與信息位同時傳輸,接收端可以通過雙方約定的機(jī)制,對信息位和冗余位進(jìn)行計算并校驗,從而得知接收到的信息位是否出現(xiàn)錯誤。對于信息維度的冗余機(jī)制:26262標(biāo)準(zhǔn)中列出了ECC錯誤探測糾錯碼,PC奇偶校驗碼,以及改進(jìn)的CheckSum校驗和(通常會使用CRC來實現(xiàn))。

除了冗余機(jī)制以外,診斷和監(jiān)控機(jī)制也大面積應(yīng)用在車載芯片的功能安全設(shè)計中。通常的,對一個功能單元,要應(yīng)用診斷和監(jiān)控機(jī)制,考量的維度一個是功能單元內(nèi)部的自測試和自診斷,另一個是從功能單元外部進(jìn)行的診斷和監(jiān)控,也就是對它的輸入輸出進(jìn)行診斷和監(jiān)控。

常見的自測試和自診斷機(jī)制包括了MBIST存儲自測試,LBIST邏輯自測試,EIT注錯測試。有些公司會把PBIST上電自測試單獨列出。對于模擬模塊則需要支持ABIST模擬自測試,還有我們在設(shè)計中增加的test pattern測試模式也可以歸在這個范疇里。在26262標(biāo)準(zhǔn)里這部分機(jī)制被籠統(tǒng)的寫成了“硬件支持的自檢”和“通過軟件實現(xiàn)的自檢”以及“使用測試模式進(jìn)行檢查”。

常見的 外部診斷機(jī)制可以是TO超時機(jī)制,也可以是模塊的狀態(tài)監(jiān)測和對輸入輸出數(shù)據(jù)的正確性進(jìn)行檢查等等。

除了 冗余、診斷和監(jiān)控以外,隔離也是一個重要的考量維度。隔離是為了隔絕CCF共因失效,CMF共模失效以及CF級聯(lián)失效的影響,避免由于一個小的故障引發(fā)更大的故障。那么在設(shè)計的時候通常就需要考慮供電隔離,時鐘隔離,干擾源的隔離等手段,此外重要的功能單元在設(shè)計中也需要考慮相應(yīng)的隔離措施。鎖步器件在后端設(shè)計中需要有間距的考量和旋轉(zhuǎn)90度的要求,其本質(zhì)也是一種隔離。除了硬隔離以外,權(quán)限控制也是一種隔離的形式。常見的權(quán)限控制通常是指對重要的存儲單元/目標(biāo)模塊限制指定模塊的訪問權(quán)限,這種控制既可以是在空間維度也可以是在時間維度,此外還可以對權(quán)限的層級進(jìn)行控制。除此之外,在大型芯片中通過虛擬化設(shè)計管控軟件對硬件資源的請求是很普遍的做法,這其實也是一種隔離。

圖一給出了依照上述討論畫的思維導(dǎo)圖,可以作為比較形象化的體現(xiàn)。實際工作中可以依照這個圖分門別類繼續(xù)增加新的安全機(jī)制,但大體上不會超出這三類。當(dāng)然,診斷和監(jiān)控機(jī)制也可以視為一種冗余。那么是否可以把一個診斷和監(jiān)控機(jī)制也劃分在冗余分類下呢?個人覺得可以這樣來劃分,冗余本質(zhì)上是對功能單元自體功能和屬性的復(fù)制,而診斷和監(jiān)控則是增加了新的功能來對原有功能單元進(jìn)行探測,這部分增加的邏輯不屬于功能單元自體功能的復(fù)制,依據(jù)這樣的標(biāo)準(zhǔn)就可以比較清晰的把這兩者分開。

圖片

好了,現(xiàn)在我們討論完了安全機(jī)制的劃分,可以開始討論如何考慮芯片的功能安全設(shè)計了。掌握了每個具體的安全機(jī)制,就像練好了拳法套路的一招一式,但是具體到實際工作中,還需要見招拆招靈活運用,針對每個具體的設(shè)計模塊考慮相匹配的安全機(jī)制。

02.從安全目標(biāo)(Safety Goal)考慮功能安全設(shè)計

從安全目標(biāo)來劃分,可以把功能安全設(shè)計分為Fail Operational 失效可運行和Fail Safe 失效安全兩類。這兩類的架構(gòu)設(shè)計重點是完全不同的。

對安全目標(biāo)為失效可運行的功能安全設(shè)計,需要確保當(dāng)目標(biāo)功能單元發(fā)生故障時可以有備份功能單元立即接管任務(wù)。通常的,在實現(xiàn)時會選擇雙冗余帶診斷的架構(gòu),更進(jìn)一步的可以采用帶EGAS三層監(jiān)控的2oo2D架構(gòu)。在失效可運行的功能安全設(shè)計中,主功能單元和備份功能單元完全相同,處于相同的工作狀態(tài),并且彼此都可以通過診斷接口探測到對方的狀態(tài)。如果主功能單元發(fā)生失效,在檢測到失效的第一時間就會切換到備份功能單元繼續(xù)實現(xiàn)功能,同時發(fā)出降級警報。

對安全目標(biāo)為失效安全的功能安全設(shè)計,其基本原則則是當(dāng)發(fā)生故障時,系統(tǒng)將關(guān)閉功能單元以進(jìn)入安全狀態(tài)。對應(yīng)的功能安全設(shè)計,基于成本的考量,往往會采用1oo1D架構(gòu)。在架構(gòu)設(shè)計時需要針對設(shè)計的功能路徑進(jìn)行安全分析,識別并定位對于路徑上發(fā)生失效會影響安全目標(biāo)的功能單元,然后基于相關(guān)功能單元進(jìn)行失效模式分析,并增加相應(yīng)的安全機(jī)制,來確保系統(tǒng)失效后可以進(jìn)入安全狀態(tài)。通常的,對于滿足失效安全的設(shè)計,定義的安全狀態(tài)包括有恢復(fù)正確狀態(tài),報錯(包括中斷或者錯誤指示),復(fù)位和下電等。對于復(fù)雜大芯片,需要綜合考量芯片各個功能單元進(jìn)入不同安全狀態(tài)后的反應(yīng)策略,合理規(guī)劃各種反應(yīng)策略的分布,以達(dá)到芯片在滿足功能安全要求的同時盡可能的滿足可用性以改善用戶體驗。

02.

從芯片類型和功能劃分(Chip Type & Function Division)考慮功能安全設(shè)計

通常的,我們可以把芯片按照SOC系統(tǒng)級芯片和ASIC專用芯片來劃分。

在SOC芯片中,AMBA協(xié)議是工程師們最熟悉最常用的總線協(xié)議,協(xié)議本身提供了一些安全機(jī)制來應(yīng)對總線通信發(fā)生錯誤的情況,但是對于車規(guī)芯片來說這是遠(yuǎn)遠(yuǎn)不夠的。幸運的是協(xié)議為用戶提供了擴(kuò)展的總線邊帶接口,利用這些邊帶接口定制相應(yīng)的安全機(jī)制是常用的手段。工程師們在設(shè)計時需要根據(jù)目標(biāo)達(dá)到的診斷覆蓋率仔細(xì)計算能否滿足要求。

對于ASIC芯片來說,這又是另外一個敘事了。由于芯片模塊之間通過信號推送的機(jī)制直接傳遞數(shù)據(jù),通??梢圆捎脙煞N方式來增加安全機(jī)制:一種是直接在模塊端口上增加相應(yīng)的糾錯檢錯信號接口,比如ECC糾錯檢錯碼或者奇偶校驗碼,這種做法需要仔細(xì)的評估完整的數(shù)據(jù)通路,并且確保安全機(jī)制能夠有效覆蓋到從數(shù)據(jù)發(fā)送端到接收端的完整路徑,這么做在為信號提供有效保護(hù)的同時,帶來的副作用就是相應(yīng)的硬件電路成本增加以及信號時序的劣化,小心的選擇對應(yīng)安全機(jī)制的實現(xiàn)電路可以改善這種劣化。如果糾錯檢錯機(jī)制不能覆蓋信號傳輸全路徑的話,就需要考慮在無法覆蓋的路徑上以空間冗余的方式增加相應(yīng)的安全機(jī)制,通??梢允擎i步或者雙模冗余的形式。另外一種做法,在不能改變底層通信協(xié)議的情況下,我們可以考慮以增加時間冗余的形式來提高安全性。通過在信號傳輸協(xié)議的上層增加一層安全協(xié)議來實現(xiàn)錯誤重傳機(jī)制,接收端在接收到數(shù)據(jù)后進(jìn)行解碼并校驗數(shù)據(jù)的正確性,并通過返回信道把校驗結(jié)果回傳給發(fā)送端,如果校驗結(jié)果錯誤,發(fā)送端會重發(fā)數(shù)據(jù),并繼續(xù)等待返回的校驗結(jié)果,只有在校驗結(jié)果為正確才會發(fā)送下一筆數(shù)據(jù),若超時則報錯。這種做法的缺陷是底層傳輸協(xié)議的誤碼率不變,如果是在傳輸信道高干擾的背景下有可能出現(xiàn)數(shù)據(jù)無法傳輸成功的情況。

另一種做法是把芯片的功能單元按照控制通路和數(shù)據(jù)通路的屬性來劃分。

對于控制通路,如果控制信號是通過總線傳輸,那么其分析類似于前述對SOC芯片AMBA協(xié)議的分析,在協(xié)議擴(kuò)展的總線邊帶接口增加相應(yīng)的安全機(jī)制。如果控制信號是專門邏輯根據(jù)當(dāng)前電路狀態(tài)和時序產(chǎn)生的固定時序,那么其安全分析類似于對ASIC芯片的分析,需要注意的是對應(yīng)安全機(jī)制的電路時序和控制信號時序的匹配。實際工作中通過完備的仿真測試來達(dá)到這個要求。

對于芯片中的數(shù)據(jù)通路,可能會遇到各種各樣的情況,包括各種低速外設(shè)通路比如I2c,UART,SPI,CAN,F(xiàn)lexRay,各種高速外設(shè)通路比如USB,MIPI,LVDS, PCIE,DisplayPort,SATA等等。進(jìn)行安全分析時需要根據(jù)相應(yīng)的通信協(xié)議是否支持功能安全特性,是否支持用戶擴(kuò)展接口等等進(jìn)行功能拆解,在通路上增加相應(yīng)的安全機(jī)制。對數(shù)據(jù)通路進(jìn)行功能安全設(shè)計的核心是控制殘余差錯率,而殘余差錯率一般取決于傳輸過程的錯誤率和差錯控制機(jī)制的設(shè)計。影響傳輸錯誤率的因素包括有傳輸介質(zhì),干擾等,設(shè)計時可以通過隔離干擾源等手段來改善。差錯控制機(jī)制通常包括有數(shù)據(jù)傳輸時攜帶Sequence Number序列號,Time Stamp時間戳,Message Feedback信號回傳,Data Integrity Assurance數(shù)據(jù)完整性保證,Redundancy with Cross Checking冗余與交叉檢查,Connection Authentication連接認(rèn)證等等,IEC61784-3標(biāo)準(zhǔn)對此提供了很好的指引。另外就是對同樣的機(jī)制,不同的實現(xiàn)算法能夠達(dá)到的錯誤探測能力也有差異。最典型的例子就是CRC,不同的CRC多項式漢明距離不同,對錯誤碼字漏檢的可能性不同,最終達(dá)到的診斷覆蓋率不同。實際工作中可以綜合加以考量并實施。

03.從失效模式分析(Failure Mode Analysis)考慮功能安全設(shè)計

從失效模式分析的維度來考慮功能安全設(shè)計,我們首先要把芯片做分解,分成一個個獨立的功能單元。一個粗略的劃分方法是分為供電模塊,時鐘模塊,輸入輸出模塊,主處理模塊和存儲模塊。對于供電模塊,26262標(biāo)準(zhǔn)里給出的失效模式有欠壓,過壓,尖峰,漂移,振蕩,啟動時間錯誤等等。外部供電的故障會導(dǎo)致芯片以不可預(yù)測的方式運行,并直接導(dǎo)致違反安全目標(biāo)。因此,與電源電壓相關(guān)的故障被視為單點故障。在設(shè)計中必須實施專門的安全機(jī)制用于在運行時監(jiān)測電壓水平,并在發(fā)生欠壓、過壓或其他失效模式的情況下發(fā)出警報。在設(shè)計時我們需要仔細(xì)的選擇供電模塊,確保其可以支持診斷出相應(yīng)的失效模式并及時報警。對于復(fù)雜的芯片設(shè)計,內(nèi)部往往會有多個電源軌,需要根據(jù)安全目標(biāo)確保每條電源軌都被有效監(jiān)控,并在發(fā)生故障時及時報告和應(yīng)對。

對于時鐘模塊,26262標(biāo)準(zhǔn)里給出的失效模式有輸出卡滯,浮空,頻率錯誤,占空比錯誤,信號抖動,失鎖,缺少脈沖,出現(xiàn)多余脈沖等等。業(yè)內(nèi)通行的做法是用一個參考時鐘去監(jiān)控目標(biāo)時鐘,并確保兩個時鐘之間不存在共因失效。這個模塊通常叫做時鐘監(jiān)控模塊。

對于輸入輸出模塊,主處理模塊和存儲模塊,也可以按照標(biāo)準(zhǔn)中給出的參考失效模式進(jìn)行分析,并進(jìn)行相應(yīng)的功能安全設(shè)計。

在實際工作中還有可能會遇到有的功能單元在26262標(biāo)準(zhǔn)中沒有給出參考的失效模式。對這些非標(biāo)的功能單元如何進(jìn)行失效模式分析呢?這種情況下通??梢钥紤]兩種做法,一種是根據(jù)模塊端口按照功能進(jìn)行分組,然后針對每個分組的端口信號進(jìn)行失效模式分析。另一種是根據(jù)模塊功能進(jìn)行拆分,對每個子模塊發(fā)生功能失效時對整個功能單元的影響進(jìn)行分析,并給出相應(yīng)的失效模式。比如NPU神經(jīng)網(wǎng)絡(luò)處理器中有大量的乘加結(jié)構(gòu)的矩陣運算單元,在做功能安全分析時就可以對每個運算單元的端口信號進(jìn)行分析,也可以把運算單元拆分成更小的模塊進(jìn)行分析。當(dāng)然,需要掌握好分析的顆粒度以避免陷入無限拆分下去的困境。

04.從安全完整性等級劃分(Auto Safety Inte-grity Level  Division)考慮功能安全設(shè)計

在26262標(biāo)準(zhǔn)中給出了ASILB到ASILD不同安全完整性等級下單點故障和潛伏故障覆蓋率的劃分,如表一所示。

圖片

表一 單點故障和潛伏故障覆蓋率列表

以ASILB和ASILD對比為例,如果一個設(shè)計需要分別按照ASILB和ASILD的要求進(jìn)行設(shè)計有什么不同?

如果是按照ASILB的要求進(jìn)行功能安全設(shè)計的話,基于成本的考量,首先應(yīng)當(dāng)盡量平衡安全機(jī)制實現(xiàn)中軟件部分和硬件部分的比例,在CPU負(fù)載能力能夠支持的前提下盡可能采用軟件實現(xiàn)安全機(jī)制,只有對于需要通過硬件實現(xiàn)以優(yōu)化時序的部分才采用硬件。其次,由于ASILB對潛伏故障的診斷覆蓋率要求只有60%,那么在設(shè)計對于安全機(jī)制的安全機(jī)制時,可以考慮設(shè)計一些外部監(jiān)控機(jī)制即可滿足要求。

對一個ASILD設(shè)計而言,首要目標(biāo)是滿足單點故障覆蓋率99%的嚴(yán)苛要求,必須首先考慮在不需要軟件介入的前提下,依靠硬件設(shè)計來達(dá)到診斷覆蓋率的要求。只有在硬件設(shè)計無法滿足要求的情況下,再想辦法通過軟件手段進(jìn)行補(bǔ)充。其次,由于潛伏故障覆蓋率要求達(dá)到90%以上,單純通過外部監(jiān)控機(jī)制已經(jīng)無法滿足對安全機(jī)制本身的故障進(jìn)行探測和監(jiān)控的要求,所以必須增加各種安全機(jī)制內(nèi)部的自測試和自診斷機(jī)制,也可以考慮通過冗余的方式去提高其診斷覆蓋率。

05.從成本效益平衡(Cost Effectiveness Trade-Off)考慮功能安全設(shè)計

鎖步設(shè)計在大多數(shù)情況下都可以滿足功能安全設(shè)計對診斷覆蓋率的要求。但鎖步設(shè)計也是雙刃劍,在提供高診斷覆蓋率的同時帶來面積的倍增,這意味著芯片成本的增加。為了避免芯片由于過設(shè)計導(dǎo)致成本增加不可控,需要謹(jǐn)慎使用相應(yīng)的安全機(jī)制設(shè)計。因此在功能安全機(jī)制設(shè)計達(dá)到所要求的診斷覆蓋率后,還需要基于成本考量盡可能的進(jìn)行優(yōu)化設(shè)計以減少面積。

舉個例子講解下,芯片中通常都會使用到超時計數(shù)器。本身這個超時計數(shù)器作為一個安全機(jī)制,如果要滿足潛伏故障的診斷覆蓋率,我們需要對計數(shù)器這個安全機(jī)制設(shè)計相應(yīng)的安全機(jī)制。如果考慮用軟件安全機(jī)制可以采用程序流監(jiān)控。如果是采用硬件安全機(jī)制,那么最容易想到的就是用兩個超時計數(shù)器來做鎖步設(shè)計或者是DMR,但是這么做就有些“大而無當(dāng)”,造成面積浪費。要進(jìn)一步優(yōu)化這個硬件安全機(jī)制,就可以首先對計數(shù)器做失效模式分析,通常根據(jù)標(biāo)準(zhǔn)可以把失效模式分為四類:1.指令未執(zhí)行;2.指令誤啟動;3.指令延遲;4.指令結(jié)果錯誤。經(jīng)過簡單的電路分析可以得到大部分失效原因可以歸結(jié)到計數(shù)器發(fā)生卡滯錯誤和由于瞬態(tài)或永久故障造成的計數(shù)器狀態(tài)跳轉(zhuǎn)錯誤,那么只要適當(dāng)?shù)脑O(shè)計相應(yīng)的檢測電路對這兩類錯誤進(jìn)行監(jiān)測并在錯誤發(fā)生時把錯誤報出來,就可以達(dá)到相應(yīng)的診斷覆蓋率要求,并且檢測電路的面積遠(yuǎn)遠(yuǎn)小于整個計數(shù)器的面積。

06.總結(jié)

最后做下總結(jié),本文首先基于功能安全機(jī)制實現(xiàn)的技術(shù)原理,把目前業(yè)內(nèi)通行的安全機(jī)制按照冗余,診斷和監(jiān)控,隔離三類進(jìn)行分類,并從安全目標(biāo),芯片類型和功能劃分,失效模式分析,安全完整性等級劃分,成本效益平衡等角度對芯片功能安全設(shè)計需要考慮的各方面因素做了一些探討,可以在實際工作中作為參考。

楊寧| 作者

周奕 | 審核

分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25