谷熒柯崔同兵任 軍林子明
(1.北京全路通信信號研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
基于IEC61508標(biāo)準(zhǔn)的功能安全芯片設(shè)計(jì)方法探討
谷熒柯1,2崔同兵1,2任 軍1,2林子明1,2
(1.北京全路通信信號研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
集成電路設(shè)計(jì)和制造技術(shù)的發(fā)展使得芯片級功能安全設(shè)計(jì)取得快速進(jìn)步,功能安全芯片的開發(fā)、驗(yàn)證方法成為業(yè)界關(guān)注的熱點(diǎn)。基于IEC61508標(biāo)準(zhǔn),首先論述該標(biāo)準(zhǔn)的功能安全技術(shù)手段,歸納總結(jié)當(dāng)前國際主流功能安全芯片的設(shè)計(jì)技術(shù)特性。其次基于IEC61508標(biāo)準(zhǔn)對功能安全芯片的開發(fā)和設(shè)計(jì)進(jìn)行深入分析,建立功能安全芯片開發(fā)的V模型。最后提出一套符合IEC61508標(biāo)準(zhǔn)的功能安全芯片的開發(fā)方法,基于該方法的約束設(shè)計(jì)一款A(yù)SIC芯片,并針對設(shè)計(jì)結(jié)果進(jìn)行歸納總結(jié)。
功能安全;IEC61508;V模型;二取一冗余;鎖步技術(shù);冗余校驗(yàn)
半導(dǎo)體技術(shù)的飛速發(fā)展,使得高性能、高魯棒性系統(tǒng)的片上集成成為可能,從而提高了集成度,降低了功耗,減少了成本。功能安全系統(tǒng)也在逐步小型化集成,在提升產(chǎn)品綜合性能的同時(shí),也對系統(tǒng)的安全性帶來挑戰(zhàn)。IEC61508標(biāo)準(zhǔn)對功能安全芯片的開發(fā)提出要求,在其基礎(chǔ)上建立的V模型可從開發(fā)流程上對功能安全芯片提供有效約束。目前,英飛凌、飛思卡爾和德州儀器等公司均已掌握功能安全芯片的設(shè)計(jì)方法,并發(fā)布了各自SIL3級別的CPU;其設(shè)計(jì)大多采用冗余思想、隔離技術(shù)、故障檢測和保護(hù)、特殊開發(fā)工具等手段,可保證較高的魯棒性和測試覆蓋率。
2.1 標(biāo)準(zhǔn)簡介
IEC61508安全標(biāo)準(zhǔn)[1]由國際電子協(xié)會(huì)于1998年第一次發(fā)布并在其中正式提出“功能安全”的概念。目前IEC61508是業(yè)內(nèi)公認(rèn)的一個(gè)最基本的針對特殊應(yīng)用的國際安全標(biāo)準(zhǔn),其定義4個(gè)安全完整度等級,簡稱SIL等級,SIL等級越高,表明系統(tǒng)的安全性越高。SIL等級為開發(fā)者、供應(yīng)商和用戶等各方面提供了界限明確的安全規(guī)范。該標(biāo)準(zhǔn)在高層次上進(jìn)行了抽象的約束,提供靈活的設(shè)計(jì)方法,同時(shí)設(shè)定明確的要求和界限;其滿足了對軟硬件的要求,為技術(shù)創(chuàng)新留下靈活的發(fā)揮空間。
IEC61508標(biāo)準(zhǔn)第二部分的附錄F提出,可通過測試和驗(yàn)證等方法避免ASIC芯片的系統(tǒng)性錯(cuò)誤,從而提高系統(tǒng)安全完整度的方法;該部分以表格的形式詳細(xì)列出不同SIL等級對設(shè)計(jì)、測試或者驗(yàn)證方法的要求。標(biāo)準(zhǔn)第三部分的規(guī)則主要針對軟件編程,其中ASIC開發(fā)涉及的硬件描述語言編程也要適用于此規(guī)則。
2.2 標(biāo)準(zhǔn)技術(shù)分析
為了保證硬件的容錯(cuò)能力,IEC61508標(biāo)準(zhǔn)提出一系列技術(shù)手段。下面分析主要以電路設(shè)計(jì)技術(shù)為例。硬件冗余是最基本的策略,包括N取M冗余架構(gòu)、冗余校驗(yàn)等;其次,可測試性設(shè)計(jì)如DFT/ BIST電路設(shè)計(jì);第三,關(guān)鍵模塊(如時(shí)鐘、內(nèi)存)的監(jiān)控和保護(hù)電路;第四,易干擾模塊間的隔離。下面著重介紹N取M冗余架構(gòu)。
為保證系統(tǒng)在非正常條件下將系統(tǒng)導(dǎo)向安全狀態(tài),IEC61508標(biāo)準(zhǔn)建議采用N取M冗余架構(gòu),最經(jīng)典的是二取一冗余架構(gòu)(如圖1所示)。二取一冗余架構(gòu)包含兩個(gè)完全相同的并行通道(主通道和冗余通道),還有一個(gè)集成的診斷電路持續(xù)地比較兩個(gè)通道的輸出結(jié)果。如果兩通道的輸出結(jié)果發(fā)生沖突,那么診斷電路將錯(cuò)誤信息分別反饋,并通過系統(tǒng)設(shè)計(jì)的安全通道將系統(tǒng)導(dǎo)向安全狀態(tài)。如果兩個(gè)通道同時(shí)發(fā)生故障或共因失效,那么系統(tǒng)將喪失安全功能;此時(shí)外部檢測模塊(如看門狗、溫度/電壓監(jiān)測電路)將系統(tǒng)導(dǎo)向安全狀態(tài)。后來發(fā)展的基于鎖步技術(shù)的微處理器,其本質(zhì)仍然是二取一冗余架構(gòu)。

圖1 二取一架構(gòu)
2.3 應(yīng)用案例
目前,市場上有3種主流的功能安全芯片[2]:德州儀器的TMS570LS系列微處理器、英飛凌的TriCore系列微處理器、飛思卡爾的MPC5765P微控制器,均達(dá)到IEC61508標(biāo)準(zhǔn)規(guī)定的SIL3等級。德州儀器的TMS570LS微處理器采用基于鎖步技術(shù)的雙32位RISC內(nèi)核架構(gòu);對CPU、內(nèi)存、存儲(chǔ)器內(nèi)置自檢、循環(huán)冗余校驗(yàn)(CRC)邏輯和ECC糾檢錯(cuò)電路;為地址總線設(shè)計(jì)奇偶校驗(yàn)邏輯;此外,還有內(nèi)存保護(hù)單元(MPU)、可追蹤測試模塊和故障修正模塊。英飛凌的TriCore基于由主處理器、監(jiān)視處理器和外設(shè)控制處理器(PCP)構(gòu)成的三核架構(gòu),采用鎖步技術(shù)對CPU故障進(jìn)行診斷;其包含內(nèi)存故障檢測和保護(hù)模塊、存儲(chǔ)器和內(nèi)存循環(huán)冗余校驗(yàn)邏輯。飛思卡爾MPC5765P微控制器的雙核/存儲(chǔ)器/橋間均采用指令級鎖步,雙核并行工作,內(nèi)部集成的存儲(chǔ)器和內(nèi)存具有ECC檢糾錯(cuò)能力,內(nèi)嵌BIST和時(shí)鐘/電源監(jiān)控。
此外,Yogitech公司[2]致力于功能安全芯片IP核以及開發(fā)/測試EDA平臺工具的開發(fā)。其基于ARM Cortex M3的Yogitech fRCPU, 在 采用鎖步、冗余校驗(yàn)等技術(shù)的同時(shí),還采用自己的fR工具以提高芯片的魯棒性和測試覆蓋率。近年來,該公司一直為其他設(shè)計(jì)公司提供IP核和EDA工具的授權(quán)服務(wù)。
功能安全芯片在工業(yè)界應(yīng)用的日益廣泛引起學(xué)術(shù)界強(qiáng)烈的研究興趣,意大利圣馬提諾研究所的Riccardo Mariani[3]對功能安全芯片的設(shè)計(jì)和測試提出解決方案;德國卡塞爾大學(xué)的Ali Hayek[4]討論了基于IEC61508功能安全芯片的設(shè)計(jì);美國的MIT和UCLA也有相關(guān)研究課題。在國內(nèi),中科院也發(fā)布了具有自主知識產(chǎn)權(quán)的功能安全CPU,已成功應(yīng)用于航天等領(lǐng)域。但是,目前業(yè)界仍然沒有針對功能安全芯片的開發(fā)、測試形成一套公認(rèn)的完整方法和流程,此課題還需深入研究。
芯片(特指數(shù)字電路)的開發(fā)同時(shí)受軟、硬件開發(fā)規(guī)范的約束,芯片本身是硬件設(shè)備,但其開發(fā)過程主要依靠硬件描述語言編程實(shí)現(xiàn)。本節(jié)根據(jù)IEC51508標(biāo)準(zhǔn)對功能安全芯片開發(fā)過程的各個(gè)階段進(jìn)行分析,建立了閉環(huán)V模型(如圖2所示)。其中,硬件描述語言要滿足IEC61508第二、三部分的約束。
總而言之,功能安全芯片的開發(fā)主要分為概念階段、RTL級設(shè)計(jì)、物理設(shè)計(jì)、制造4個(gè)階段,每個(gè)階段的每個(gè)子過程都有對應(yīng)的驗(yàn)證/測試過程,構(gòu)成閉環(huán)的開發(fā)流程,具體參見V模型。該模型所示的開發(fā)流程可保證每個(gè)階段的設(shè)計(jì)結(jié)果能被充分驗(yàn)證/測試,提高了開發(fā)過程的可靠性。下面結(jié)合IEC61508標(biāo)準(zhǔn),對每個(gè)開發(fā)階段做相應(yīng)的要求。

圖2 功能安全芯片開發(fā)V模型
1) 系統(tǒng)安全需求規(guī)范
明確,不含糊,可測試的需求,可進(jìn)行追溯的安全需求規(guī)范;詳細(xì)的硬件和軟件需求規(guī)范,包括接口、性能、響應(yīng)時(shí)間等參數(shù);采用經(jīng)過時(shí)間和市場檢驗(yàn)的設(shè)計(jì)方法、結(jié)構(gòu)、開發(fā)平臺等;同時(shí)滿足安全標(biāo)準(zhǔn)對軟硬件的安全完整度要求。
2) 架構(gòu)、頂層、模塊設(shè)計(jì)
系統(tǒng)架構(gòu)設(shè)計(jì)、接口規(guī)劃、模塊劃分,合理分配系統(tǒng)需求到子模塊;完成芯片內(nèi)部子模塊的結(jié)構(gòu)設(shè)計(jì),并確定相應(yīng)的驗(yàn)證/測試規(guī)范。
3) 代碼設(shè)計(jì)
模塊化設(shè)計(jì),降低代碼復(fù)雜度,加注釋提高可讀性;對時(shí)序進(jìn)行嚴(yán)格約束,注意阻塞/非阻塞語句的區(qū)別;可測試性設(shè)計(jì)如BIST和DFT,提高測試覆蓋率;可綜合性設(shè)計(jì);使用經(jīng)過市場和時(shí)間檢驗(yàn)的開發(fā)語言、輔助軟件版本。
4) 物理設(shè)計(jì)和制造
嚴(yán)格遵守版圖布局布線要求,并留合理的裕度;對易串?dāng)_模塊進(jìn)行物理隔離;合理設(shè)計(jì)電源線/信號線的線長和線寬;選擇成熟的工藝和代工廠。
針對前述市場上主流的四款功能安全CPU,對其采用的技術(shù)手段做相應(yīng)總結(jié),如表1所示。

表1 功能安全芯片主流技術(shù)
根據(jù)IEC61508安全標(biāo)準(zhǔn)的要求,結(jié)合上述功能安全CPU的設(shè)計(jì)技術(shù),本節(jié)總結(jié)分析了針對功能安全芯片的開發(fā)方法。
4.1 嚴(yán)格遵守V模型的閉環(huán)開發(fā)流程
本文提出的V模型專門針對芯片獨(dú)特的開發(fā)流程而設(shè)計(jì),涵蓋芯片設(shè)計(jì)的每個(gè)階段并提供嚴(yán)格的約束,其閉環(huán)特性保證設(shè)計(jì)的可追溯性、測試和驗(yàn)證的完備性。該模型也包含IEC61508標(biāo)準(zhǔn)對功能安全芯片設(shè)計(jì)的最基本的要求。
4.2 冗余設(shè)計(jì)技術(shù)
目前,功能安全系統(tǒng)主要采用“冗余設(shè)計(jì)”的思路,包括N取M架構(gòu)、鎖步技術(shù)、冗余校驗(yàn)等。
1) N取M架構(gòu)
IEC61508標(biāo)準(zhǔn)建議采取N取M冗余架構(gòu)保證系統(tǒng)的安全等級,最常見的就是二取一冗余架構(gòu)。如前所述,二取一冗余可以在系統(tǒng)發(fā)生故障時(shí)將系統(tǒng)導(dǎo)向安全狀態(tài),而且這種冗余思想是后面鎖步技術(shù)的基礎(chǔ)。
2) 鎖步技術(shù)
鎖步技術(shù)[5,6]常用于功能安全處理器中,其包含兩個(gè)CPU處理器,集成比較邏輯,構(gòu)成自監(jiān)控對,不斷互相監(jiān)控和檢出錯(cuò)誤;此外,還包括錯(cuò)誤檢查、隔離和恢復(fù)邏輯,如圖3所示。如果比較結(jié)果正確,其中一個(gè)通道的校驗(yàn)輸出錯(cuò)誤,可以禁止此通道的CPU和解除鎖步,另一個(gè)通道的CPU獨(dú)立工作;如果比較結(jié)果錯(cuò)誤且其中一通道校驗(yàn)錯(cuò),說明這路的校驗(yàn)邏輯或接收模塊出錯(cuò),恢復(fù)到上一個(gè)狀態(tài);如果比較錯(cuò)誤但兩邊校驗(yàn)正常,說明兩邊失步,系統(tǒng)停止工作;如果發(fā)生雙通道均校驗(yàn)錯(cuò),說明兩個(gè)CPU或接收模塊故障,系統(tǒng)停止工作。

圖3 鎖步技術(shù)
綜上所述,鎖步技術(shù)處理器主要有3個(gè)功能:故障發(fā)現(xiàn),故障容忍和隔離、糾正,故障恢復(fù)。
4.3 冗余校驗(yàn)技術(shù)
常用的校驗(yàn)邏輯包括奇偶校驗(yàn)、ECC校驗(yàn)、CRC校驗(yàn)等。奇偶校驗(yàn)只能檢錯(cuò),ECC可以檢查并對錯(cuò)誤進(jìn)行糾正。鑒于ECC同時(shí)具有檢/糾錯(cuò)能力,以及大數(shù)據(jù)量下只需較少的冗余數(shù)據(jù),成為目前主流的校驗(yàn)方式。CRC校驗(yàn)主要用于數(shù)據(jù)通信中。在功能安全芯片的開發(fā)中采用校驗(yàn)邏輯可以提高數(shù)據(jù)存儲(chǔ)、傳輸?shù)目煽啃裕岣呦到y(tǒng)的容錯(cuò)能力和魯棒性。
4.4 測試、監(jiān)測和保護(hù)模塊
1) 可測試性設(shè)計(jì)
SIL等級對芯片的測試覆蓋率有一定要求,要注意可測試性設(shè)計(jì),如BIST、DFT等。此外,對于復(fù)雜的處理/控制電路,還要增加JTAG接口,可以實(shí)現(xiàn)對內(nèi)部的寄存器、Flash、內(nèi)存、時(shí)鐘等進(jìn)行掃描測試。
2) 監(jiān)測、保護(hù)電路
對于特殊的模塊,如內(nèi)存、數(shù)據(jù)寄存器、數(shù)據(jù)存儲(chǔ)器、時(shí)鐘等模塊,要專門設(shè)計(jì)檢測電路,對其溫度、電壓、電流等狀態(tài)進(jìn)行監(jiān)視,故障發(fā)生即進(jìn)行斷電等保護(hù)。
4.5 隔離技術(shù)
對于易互相干擾的模塊要進(jìn)行物理隔離,避免互擾失效。常用的隔離技術(shù)主要有磁隔離、電容隔離、光耦隔離、物理分隔等措施,上述技術(shù)的片上集成已經(jīng)是熱門研究課題。
4.6 特殊的開發(fā)工具
對于SIL等級較高的芯片,一般的EDA工具難以很好地對其設(shè)計(jì)和測試進(jìn)行支持,需要特殊的開發(fā)工具。目前大型的集成電路設(shè)計(jì)公司均有自己特殊的EDA輔助工具,比如英飛凌的Infineon Solution Finders,Yogitech公司的fR工具等。
基于上述方法,本節(jié)設(shè)計(jì)了一款應(yīng)用于安全系統(tǒng)的ASIC芯片——大容量應(yīng)答器控制芯片,該芯片的開發(fā)流程嚴(yán)格遵守上述V模型。應(yīng)答器控制芯片是應(yīng)答器設(shè)備的控制核心,負(fù)責(zé)完成應(yīng)答器所有邏輯處理功能,其基本架構(gòu)和最終版圖如圖4(a)(b)所示,包括FSK/PSK通道報(bào)文的讀取、發(fā)送,A5命令的解析,F(xiàn)SK/PSK通道報(bào)文的寫入等。其有如下特點(diǎn):

圖4 新型應(yīng)答器控制芯片
1) 該芯片第一次將PSK解碼模塊進(jìn)行片上集成,避免了多元件布線和焊接帶來的安全性問題;
2) FSK/PSK通道均具有對報(bào)文的讀取和發(fā)送功能,為避免干擾在版圖設(shè)計(jì)時(shí)對其進(jìn)行了有效的物理隔離,如圖4(b)所示。
3) 該芯片時(shí)鐘可采用載頻27 M時(shí)鐘、有源/無源9M時(shí)鐘3個(gè)可選時(shí)鐘源,可以根據(jù)不同的應(yīng)用配置相應(yīng)的時(shí)鐘,且配置完成后不會(huì)受到另外兩時(shí)鐘通道的影響;
4) 采用LFSR偽隨機(jī)序列對FSK/PSK報(bào)文分別進(jìn)行加密,引入了冗余邏輯,可降低由報(bào)文互擾導(dǎo)致錯(cuò)誤的風(fēng)險(xiǎn)。
本文根據(jù)IEC61508安全標(biāo)準(zhǔn)的要求,分析了當(dāng)今主流的功能安全芯片所采用的設(shè)計(jì)技術(shù)。其次,從流程和技術(shù)手段出發(fā),整理出針對功能安全芯片的一套基本的設(shè)計(jì)方法。最后基于上述方法開發(fā)一款用于功能安全系統(tǒng)的ASIC芯片。該芯片安全功能設(shè)計(jì)流程采用V模型進(jìn)行驗(yàn)證和約束,且借鑒功能安全芯片的開發(fā)技術(shù)和理念,有利于提高設(shè)備整體的可靠性和安全性。簡而言之,當(dāng)前基于IEC61508安全標(biāo)準(zhǔn)的芯片級功能安全設(shè)計(jì)正處于快速發(fā)展的階段,芯片級安全設(shè)計(jì)的理念在安全控制業(yè)界逐步得到認(rèn)可和推廣,可以預(yù)見,功能安全芯片將會(huì)在安全控制系統(tǒng)中扮演越來越重要的角色,并推動(dòng)裝備的技術(shù)革新。
[1] IEC.Functional safety of electrical/electronic/programmable electronic safety-related systems IEC61508[S].2010.
[2]史學(xué)玲,馮曉升.IEC61508標(biāo)準(zhǔn)的基本原理與方法研究[J].工業(yè)控制計(jì)算機(jī),2006,19(11):17-17.
[3] Mariani R.The impact of functional safety standards in the design and test of reliable and available integrated circuits[C].ETS,2012.
[4] Hayek A,Borcsok J.Safety-Related ASIC-Design in Terms of the Standard IEC 61508[C].PESARO,2013.
[5]陳浩.處理器Lockstep技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2012(8):56-58.
[6]周嘯.基于60x總線的Lockstep處理器架構(gòu)[J].航空計(jì)算機(jī)技術(shù),2015(1):127-130.
Due to the rapid development of integrated circuit design and manufacturing technologies,chip-level functional safety-related devices have made great progress. The development & validation methodology of functional safety- related IC has become the focus of the industry. This paper discusses the functional safety techniques introduced in IEC61508 standard, summarizes the main technical characteristics of functional safety-related IC at present, and presents a V-model for functional safetyrelated IC development based on the analysis of IEC61508 standard. Finally, it puts forward a complete methodology of functional safety-related IC development conforming to IEC61508 to design an ASIC, and gives a short conclusion on the design result.
functional safety; IEC61508; V-model; 1 out of 2 redundancy; lock step technology; redundant check
10.3969/j.issn.1673-4440.2016.05.001
北京全路通信信號研究設(shè)計(jì)院集團(tuán)有限公司研究項(xiàng)目(2300-K1140044)
(2015-09-23)