徐國雄,楊永祥
(HFC公司,德克薩斯 卡羅爾頓 75006)
作為商業(yè)、工業(yè)及軍事中的一項成熟技術,現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)技術如今已被廣泛地應用于核工業(yè)領域。其中的一個原因是,基于FPGA的系統(tǒng)的取證過程比基于微處理器的數(shù)字化儀控系統(tǒng)更為簡單,可為儀控數(shù)字化升級節(jié)約成本;同時,基于FPGA的系統(tǒng)在系統(tǒng)正常停機期間也可以有效實施。簡潔、高效的安全論證和/或可靠性評估能極大程度地降低成本[1]。
成本優(yōu)勢及總體架構的可測試性,為在核電站使用基于FPGA的系統(tǒng)提供了充分的基礎。FPGA系統(tǒng)可滿足大范圍的需求,上至安全性極高的重要反應堆保護系統(tǒng),下至非安全級接口模塊。雖然目前核電行業(yè)有許多涉及FPGA主題的文獻[2-4],但關于FPGA在核電站中成功應用的文章卻很少。
本文將介紹YGN 3&4機組儀控升級的一個成功案例。該升級案例使用基于FPGA的控制器替代已停產的基于英特爾8085微處理器的控制器。在案例中,通過解析CPU的執(zhí)行過程,采用FPGA模擬了現(xiàn)有微處理器的工作過程。在過去五年中,采用基于FPGA的SBC-01Y控制器取代基于英特爾8085微處理器的印刷電路板達160多個,并且都在安全級儀控系統(tǒng)中實現(xiàn)成功安裝和運行。在此次升級中,基于FPGA的新控制器板SBC-01Y正確無誤地模擬了英特爾8085微處理器的功能。該成功案例為行業(yè)未來進行更大范圍的數(shù)字化升級提供了重要參考,有助于解決行業(yè)停產零件的問題。
常見的FPGA架構包含一個邏輯塊陣列(取決于供貨商,可稱為“可配置邏輯塊(configurable logic block,CLB)”或“邏輯陣列塊(logic array blocks,LAB)”)、I/O塊和布線路徑。通常,所有布線路徑寬度(線纜數(shù)量)相同,多個I/O塊可對應陣列的單個行高或列寬。
從生命周期過程的角度來看,例如美國核管會導則1.173認可的IEEE Std 1074-2995[5-6],F(xiàn)PGA作為核電儀控應用的一個系統(tǒng)要素,其設計和編程是整體儀控系統(tǒng)設計中系統(tǒng)實現(xiàn)過程的一部分。系統(tǒng)實現(xiàn)過程的目的是以軟硬件產品或者服務的形式,產生某一特定系統(tǒng)要素。
在FPGA的系統(tǒng)實現(xiàn)過程中,F(xiàn)PGA應用的開發(fā)是采用完整的生命周期過程(需求、架構和設計、執(zhí)行、集成和測試)來完成的。這一概念在IEEE Std 1012-2016中有所闡述[7],詳見IEEE Std 1012-2016 Figure 5-Relationship of system,software,and hardware process。
FPGA作為子系統(tǒng)嵌入到整體系統(tǒng)實現(xiàn)過程如圖1所示。
圖1 FPGA作為子系統(tǒng)嵌入到整體系統(tǒng)實現(xiàn)過程圖
在系統(tǒng)實現(xiàn)過程中,F(xiàn)PGA產品設計從目標系統(tǒng)的功能和性能需求(終端用戶層面)開始。目標系統(tǒng)的功能和性能需求源自整體安全級儀控系統(tǒng)需求。目標系統(tǒng)功能和性能需求作為具體的FPGA需求,被寫進FPGA需求規(guī)格說明書。在FPGA需求規(guī)格說明書的基礎上,進一步開發(fā)FPGA架構和具體設計。FPGA系統(tǒng)與微處理器系統(tǒng)的區(qū)別在于FPGA設計的實現(xiàn)過程。FPGA架構和設計是進行FPGA編程、編碼、模擬仿真和可執(zhí)行文件生成的過程。
系統(tǒng)實施完成后,F(xiàn)PGA產品將被集成到系統(tǒng)中進行系統(tǒng)集成測試,隨后進行鑒定和驗收測試。FPGA產品的實現(xiàn)過程遵循了自身的設計和實施生命周期過程,其V型示意圖如圖2所示。在FPGA設計及實施過程中,F(xiàn)PGA被視為目標系統(tǒng)元素,相應的驗證與確認(verification & validation,V&V)工作必須與開發(fā)同步實施,從而最大限度地發(fā)揮V&V優(yōu)勢。V&V過程旨在保證FPGA設計的質量,確保產品正確性。
FPGA設計本身的實施包括以下步驟。
①設計人員使用硬件描述語言(hardware description language,HDL)或原理圖來實現(xiàn)FPGA設計。IEC 62566提供了關于硬件描述語言編程的指導[8]。硬件描述語言非常適用于復雜結構的開發(fā),因為它能夠用數(shù)字化的方式來表示硬件結構,無需手工繪制每個部件。
②使用電子設計自動化工具生成技術映射網表。在此過程中,硬件描述語言或原理圖被轉換為邏輯門、存儲單元、寄存器和連接。
③使用FPGA制造商的專有軟件,把映射網表實現(xiàn)在實際的FPGA結構中。此步驟包括轉化、映射和布局布線過程。設計人員將通過時序分析、仿真及其他方法,對映射、布局和布線進行驗證。
④設計和驗證過程完成后,通過FPGA制造商的專有軟件,使用生成的可編程文件對FPGA進行配置(或重新配置)。通過串行接口(JTAG),把可編程文件傳輸至FPGA或外部存儲器設備(如可擦可編程只讀存儲器EPROM)。
圖2 FPGA生命周期設計及實施過程V型示意圖
在標準設計流程中,F(xiàn)PGA應用開發(fā)人員將在設計過程中的多個階段對設計進行仿真。首先,用VHDL或Verilog產生RTL描述,可以通過使用測試程序進行系統(tǒng)仿真,并通過觀察輸出結果來驗證。然后,當設計已經被綜合成網表,網表又被轉換成邏輯門級描述,對系統(tǒng)進行再次仿真,以確保在綜合過程中沒有出現(xiàn)錯誤。最后,當設計被布局到FPGA后,可以添加傳播延遲,并標注到網表上,從而再次進行仿真。
對于安全相關的FPGA應用開發(fā),將由獨立的V&V團隊對設計和硬件描述語言編程進行審查和驗證。V&V團隊將單獨產生和執(zhí)行仿真測試的設計、用例和規(guī)程,從而證明開發(fā)人員對FPGA架構和設計的實施是完整、正確且符合設計的。
FPGA集成測試是必須進行的測試,用于對所選擇或開發(fā)的FPGA架構和設計加以驗證。測試包括用于驗證FPGA架構和設計的結構測試(即白盒測試),以及以用于驗證FPGA需求的功能測試(即黑盒測試)。鑒定測試旨在驗證FPGA需求。驗收測試可確認目標系統(tǒng)的功能和性能需求。
在FPGA開發(fā)的生命周期過程中,必須在各階段結束時進行驗證,確保各階段結果均符合上一階段提出的需求,并保證階段內的一致性。而確認旨在通過審查和驗證(包括編碼審查)、架構和設計評估、各種分析(包括需求追蹤分析)及驗收測試來滿足目標系統(tǒng)要求(從終端用戶角度)。
在FPGA產品開發(fā)和V&V過程中,必須對仿真工具進行認證,以確保在仿真測試過程中,工具發(fā)揮預期的性能,且不會引入錯誤。工具應用于安全級應用之前,可利用IEEE Std 7-4.3.2中提供的軟件開發(fā)及V&V工具指南對工具進行認證[9]。
One-Step是HFC開發(fā)的一個重要的邏輯開發(fā)和驗證與確認工具。它不僅可以自動進行邏輯轉化,而且可以在工作站創(chuàng)建CAD圖形的動態(tài)圖像,從而通過在線系統(tǒng)對邏輯圖形進行動態(tài)監(jiān)控[10]。它對于確保開發(fā)中應用程序的邏輯正確性至關重要。
在HFC,幾乎所有控制系統(tǒng)都經過定制,以滿足每個項目的不同需求。這些需求被轉化為具體的功能和設計說明。有時甚至客戶的模糊要求也必須轉化為具體的設計說明(例如與現(xiàn)有硬件或軟件的兼容性等)。HFC設計人員還必須考慮系統(tǒng)或軟件設計是否有能力進一步滿足新的要求。
核電站(如YGN3&4機組)中使用的第一代HFC控制器——單板控制器-01(簡稱SBC-01),是基于Intel 8085微處理器的產品。SBC-01的一個應用是在單回路中實現(xiàn)安全停堆功能。由于英特爾8085微處理器已經停產,為了保證電廠的持續(xù)安全運行,更換老舊芯片進行系統(tǒng)升級迫在眉睫。
YGN3&4機組電站業(yè)主接受了采用FPGA取代停產的英特爾8085芯片的建議。該建議的關鍵是滿足電站要求,包括功能、機械和環(huán)境、電氣、存儲容量和取證要求等。以功能和機械需求為例,具體來說,應該滿足以下需求。
(1)功能需求。
①升級后的基于FPGA的SBC-01控制器卡,其運行應該能夠在功能上等同于現(xiàn)有的基于微處理器的控制器。升級后的SBC-01控制器所選用的FPGA應與8085處理器代碼兼容。
②升級后的SBC-01控制器應能夠使用現(xiàn)有控制器卡中的存放軟件和應用程序的EPROM,使升級后的SBC-01和現(xiàn)有控制器執(zhí)行相同控制功能的操作相同。
(2)機械需求。
①升級后的SBC-01控制器卡應符合所有現(xiàn)有控制器卡原始設計中規(guī)定的尺寸要求。
②升級后的SBC-01控制器應具有相應的硬件設計,使控制卡能夠安裝并固定在與現(xiàn)有控制器卡相同的系統(tǒng)機箱插槽中。
③升級后的SBC-01控制器卡的物理結構設計應滿足抗震1類要求。
為了滿足這些要求,HFC用FPGA替換了舊式SBC-01的英特爾8085和8155芯片,以及其他邏輯功能電路。替換后,基于FPGA的控制器將執(zhí)行匯編代碼(存儲在板載 EPROM中),控制外部/板載 I/O通道,并與回路主控器通信。此外,F(xiàn)PGA還將提供馱載式接口,以便測試人員測試SBC-01的功能和性能。升級后的FPGA控制器架構由幾個獨立的功能模塊組成,以實現(xiàn)系統(tǒng)時鐘生成、8085 IP內核、存儲地址解碼器以及各種控制功能,包括DIP開關選擇、LED控制、最終5 V控制、互補錯誤檢查、4-線路總線控制、板載和外部I/O通道控制、實現(xiàn)內部通信母線接口等。
設計及實施在遵守嚴密的規(guī)范和嚴格的V&V中完成,以保證技術實施的正確性能夠滿足安全級要求,并確保取證過程的簡潔性符合管理規(guī)定。具有40多個狀態(tài)的有限狀態(tài)機(finite state machine,FSM)可以實現(xiàn)8085IP內核。
組件測試驗證過程涉及兩種正交方法:仿真測試用于驗證FPGA實施的正確性;8085操作碼測試用于確認解釋輸出。
系統(tǒng)或集成測試階段驗證HFC專有內部通信總線(internal communication bus,ICB)、數(shù)據輸入/輸出,以及其他硬件外圍設備接口。升級過程符合美國核管會和韓國核能研究所的管理規(guī)定。
YGN3&4機組按照計劃在預算內成功進行了FPGA升級,并完全符合預期目標和安全功能要求。升級后的系統(tǒng)目前已運行十年以上,這將成為核工業(yè)中值得借鑒的典型案例。
通過解析CPU執(zhí)行過程,F(xiàn)PGA可以通過模擬現(xiàn)有微處理器的工作過程來成功替換已經停產的英特爾8085微處理器。如果再將其與HFC-6000平臺結合,則可以為現(xiàn)有核電站的大規(guī)模數(shù)字化升級提供經驗?,F(xiàn)有核電站的FPGA數(shù)字化升級具有技術可行性和經濟優(yōu)越性。HFC-6000平臺已通過美國核管會的全面審查,并在2011年4月獲得了安全評估報告[11]。
核電站未來的數(shù)字化升級將包括基于FPGA的最新技術替換所有的現(xiàn)有I/O板(包括模擬的和數(shù)字的)以及基于Intel 188EB和/或386EB微處理器的控制器板。通過使用基于FPGA的最新I/O和控制器板,HFC-6000機架外加部分的通信主機能力將提升至100 Mb/s(現(xiàn)有的ICB為10 Mb/s),從而極大提高狀態(tài)和診斷信息的遠程傳遞能力。
使用FPGA對現(xiàn)有I/O卡、單回路控制器和回路主控器進行大規(guī)模數(shù)字化升級示例如圖3所示。
在此配置中,基于FPGA的單回路控制器執(zhí)行其專用的回路控制功能,與其他回路保持獨立。控制器還可進行遠程通信,通過異步信息傳遞將狀態(tài)信息傳遞到另一個回路,或接收來自另一個回路的狀態(tài)信息。當單回路控制器以這種方式進行通信時,單個回路控制器的故障不會導致其他回路控制器或整個系統(tǒng)的故障。
基于FPGA的單回路控制器在與遠程控制器通信時,將通過安全冗余RS-485串行端口執(zhí)行內部通信鏈路(internal communication link,ICL)通信協(xié)議。通過該協(xié)議,回路狀態(tài)信息可從一個遠程端傳遞到另一個遠程端。遠程端間的通信是通過通信鏈路(C-Link)利用確定性的傳輸令牌以太網專有協(xié)議實現(xiàn)的。C-Link是HFC-6000系統(tǒng)的超級通信通道。工程師工作站可以通過配置起防火墻作用的安全網關聯(lián)到C-Link。
另一方面,憑借FPGA的應用經驗和HFC-6000平臺的經驗,基于FPGA控制器的平臺開發(fā)已經成熟?;贔PGA的平臺將使用HFC-6000現(xiàn)有的I/O板、通信模塊和安全級I/O增強模塊?;贔PGA的新平臺將提高HFC-6000產品線的多樣性,并將成為HFC-6000系列的合格產品之一。
圖3 FPGA通過模擬微處理器實現(xiàn)更大規(guī)模的數(shù)字化升級示例圖
根據以往經驗,很重要的一點是,F(xiàn)PGA的設計及實施必須遵循合理的生命周期過程(例如IEEE Std 1074-1995中所定義的)、嚴格的V&V過程(如IEEE Std 1012-2016標準),以及基本的核安全級儀控設計原則(如簡潔性、確定性和故障安全)。對于設計要求,如冗余、多樣性與縱深防御(D3),則必須認真考慮,并通過與核電站業(yè)主協(xié)調、參考美國核管會導則,將其融入設計中。
另外,利用行業(yè)最佳工程實踐和數(shù)字化儀控技術經驗達到有效管理并取得有效的實施結果也同樣重要。
本文介紹了用FPGA代替英特爾8085微處理器在YGN3&4機組核電站中實現(xiàn)安全停堆功能的案例。這一成功案例表明,F(xiàn)PGA是適用于核電站改造升級的??梢灶A測,F(xiàn)PGA將很快在現(xiàn)有電站(用于儀控系統(tǒng)的升級)和新建電站(用于新儀控系統(tǒng)的實施)得到廣泛應用。無論是在解決行業(yè)過時問題的數(shù)字化升級上,還是在新核電站新型平臺的開發(fā)使用上,F(xiàn)PGA都將在未來許多年內得到充分應用。