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

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

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

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

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

圖4 新型應答器控制芯片
1) 該芯片第一次將PSK解碼模塊進行片上集成,避免了多元件布線和焊接帶來的安全性問題;
2) FSK/PSK通道均具有對報文的讀取和發送功能,為避免干擾在版圖設計時對其進行了有效的物理隔離,如圖4(b)所示。
3) 該芯片時鐘可采用載頻27 M時鐘、有源/無源9M時鐘3個可選時鐘源,可以根據不同的應用配置相應的時鐘,且配置完成后不會受到另外兩時鐘通道的影響;
4) 采用LFSR偽隨機序列對FSK/PSK報文分別進行加密,引入了冗余邏輯,可降低由報文互擾導致錯誤的風險。
本文根據IEC61508安全標準的要求,分析了當今主流的功能安全芯片所采用的設計技術。其次,從流程和技術手段出發,整理出針對功能安全芯片的一套基本的設計方法。最后基于上述方法開發一款用于功能安全系統的ASIC芯片。該芯片安全功能設計流程采用V模型進行驗證和約束,且借鑒功能安全芯片的開發技術和理念,有利于提高設備整體的可靠性和安全性。簡而言之,當前基于IEC61508安全標準的芯片級功能安全設計正處于快速發展的階段,芯片級安全設計的理念在安全控制業界逐步得到認可和推廣,可以預見,功能安全芯片將會在安全控制系統中扮演越來越重要的角色,并推動裝備的技術革新。
[1] IEC.Functional safety of electrical/electronic/programmable electronic safety-related systems IEC61508[S].2010.
[2]史學玲,馮曉升.IEC61508標準的基本原理與方法研究[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技術研究[J].數字技術與應用,2012(8):56-58.
[6]周嘯.基于60x總線的Lockstep處理器架構[J].航空計算機技術,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
北京全路通信信號研究設計院集團有限公司研究項目(2300-K1140044)
(2015-09-23)