FPGA技术在核电站数字化仪控系统升级中的应用
2019-07-12徐国雄杨永祥
徐国雄,杨永祥
(HFC公司,德克萨斯 卡罗尔顿 75006)
0 引言
作为商业、工业及军事中的一项成熟技术,现场可编程门阵列(field-programmable gate array,FPGA)技术如今已被广泛地应用于核工业领域。其中的一个原因是,基于FPGA的系统的取证过程比基于微处理器的数字化仪控系统更为简单,可为仪控数字化升级节约成本;同时,基于FPGA的系统在系统正常停机期间也可以有效实施。简洁、高效的安全论证和/或可靠性评估能极大程度地降低成本[1]。
成本优势及总体架构的可测试性,为在核电站使用基于FPGA的系统提供了充分的基础。FPGA系统可满足大范围的需求,上至安全性极高的重要反应堆保护系统,下至非安全级接口模块。虽然目前核电行业有许多涉及FPGA主题的文献[2-4],但关于FPGA在核电站中成功应用的文章却很少。
本文将介绍YGN 3&4机组仪控升级的一个成功案例。该升级案例使用基于FPGA的控制器替代已停产的基于英特尔8085微处理器的控制器。在案例中,通过解析CPU的执行过程,采用FPGA模拟了现有微处理器的工作过程。在过去五年中,采用基于FPGA的SBC-01Y控制器取代基于英特尔8085微处理器的印刷电路板达160多个,并且都在安全级仪控系统中实现成功安装和运行。在此次升级中,基于FPGA的新控制器板SBC-01Y正确无误地模拟了英特尔8085微处理器的功能。该成功案例为行业未来进行更大范围的数字化升级提供了重要参考,有助于解决行业停产零件的问题。
1 执行仪控功能的FPGA设计生命周期
常见的FPGA架构包含一个逻辑块阵列(取决于供货商,可称为“可配置逻辑块(configurable logic block,CLB)”或“逻辑阵列块(logic array blocks,LAB)”)、I/O块和布线路径。通常,所有布线路径宽度(线缆数量)相同,多个I/O块可对应阵列的单个行高或列宽。
从生命周期过程的角度来看,例如美国核管会导则1.173认可的IEEE Std 1074-2995[5-6],FPGA作为核电仪控应用的一个系统要素,其设计和编程是整体仪控系统设计中系统实现过程的一部分。系统实现过程的目的是以软硬件产品或者服务的形式,产生某一特定系统要素。
在FPGA的系统实现过程中,FPGA应用的开发是采用完整的生命周期过程(需求、架构和设计、执行、集成和测试)来完成的。这一概念在IEEE Std 1012-2016中有所阐述[7],详见IEEE Std 1012-2016 Figure 5-Relationship of system,software,and hardware process。
FPGA作为子系统嵌入到整体系统实现过程如图1所示。
图1 FPGA作为子系统嵌入到整体系统实现过程图
在系统实现过程中,FPGA产品设计从目标系统的功能和性能需求(终端用户层面)开始。目标系统的功能和性能需求源自整体安全级仪控系统需求。目标系统功能和性能需求作为具体的FPGA需求,被写进FPGA需求规格说明书。在FPGA需求规格说明书的基础上,进一步开发FPGA架构和具体设计。FPGA系统与微处理器系统的区别在于FPGA设计的实现过程。FPGA架构和设计是进行FPGA编程、编码、模拟仿真和可执行文件生成的过程。
系统实施完成后,FPGA产品将被集成到系统中进行系统集成测试,随后进行鉴定和验收测试。FPGA产品的实现过程遵循了自身的设计和实施生命周期过程,其V型示意图如图2所示。在FPGA设计及实施过程中,FPGA被视为目标系统元素,相应的验证与确认(verification & validation,V&V)工作必须与开发同步实施,从而最大限度地发挥V&V优势。V&V过程旨在保证FPGA设计的质量,确保产品正确性。
FPGA设计本身的实施包括以下步骤。
①设计人员使用硬件描述语言(hardware description language,HDL)或原理图来实现FPGA设计。IEC 62566提供了关于硬件描述语言编程的指导[8]。硬件描述语言非常适用于复杂结构的开发,因为它能够用数字化的方式来表示硬件结构,无需手工绘制每个部件。
②使用电子设计自动化工具生成技术映射网表。在此过程中,硬件描述语言或原理图被转换为逻辑门、存储单元、寄存器和连接。
③使用FPGA制造商的专有软件,把映射网表实现在实际的FPGA结构中。此步骤包括转化、映射和布局布线过程。设计人员将通过时序分析、仿真及其他方法,对映射、布局和布线进行验证。
④设计和验证过程完成后,通过FPGA制造商的专有软件,使用生成的可编程文件对FPGA进行配置(或重新配置)。通过串行接口(JTAG),把可编程文件传输至FPGA或外部存储器设备(如可擦可编程只读存储器EPROM)。
图2 FPGA生命周期设计及实施过程V型示意图
在标准设计流程中,FPGA应用开发人员将在设计过程中的多个阶段对设计进行仿真。首先,用VHDL或Verilog产生RTL描述,可以通过使用测试程序进行系统仿真,并通过观察输出结果来验证。然后,当设计已经被综合成网表,网表又被转换成逻辑门级描述,对系统进行再次仿真,以确保在综合过程中没有出现错误。最后,当设计被布局到FPGA后,可以添加传播延迟,并标注到网表上,从而再次进行仿真。
对于安全相关的FPGA应用开发,将由独立的V&V团队对设计和硬件描述语言编程进行审查和验证。V&V团队将单独产生和执行仿真测试的设计、用例和规程,从而证明开发人员对FPGA架构和设计的实施是完整、正确且符合设计的。
FPGA集成测试是必须进行的测试,用于对所选择或开发的FPGA架构和设计加以验证。测试包括用于验证FPGA架构和设计的结构测试(即白盒测试),以及以用于验证FPGA需求的功能测试(即黑盒测试)。鉴定测试旨在验证FPGA需求。验收测试可确认目标系统的功能和性能需求。
在FPGA开发的生命周期过程中,必须在各阶段结束时进行验证,确保各阶段结果均符合上一阶段提出的需求,并保证阶段内的一致性。而确认旨在通过审查和验证(包括编码审查)、架构和设计评估、各种分析(包括需求追踪分析)及验收测试来满足目标系统要求(从终端用户角度)。
在FPGA产品开发和V&V过程中,必须对仿真工具进行认证,以确保在仿真测试过程中,工具发挥预期的性能,且不会引入错误。工具应用于安全级应用之前,可利用IEEE Std 7-4.3.2中提供的软件开发及V&V工具指南对工具进行认证[9]。
One-Step是HFC开发的一个重要的逻辑开发和验证与确认工具。它不仅可以自动进行逻辑转化,而且可以在工作站创建CAD图形的动态图像,从而通过在线系统对逻辑图形进行动态监控[10]。它对于确保开发中应用程序的逻辑正确性至关重要。
2 FPGA核电站数字化升级示例
在HFC,几乎所有控制系统都经过定制,以满足每个项目的不同需求。这些需求被转化为具体的功能和设计说明。有时甚至客户的模糊要求也必须转化为具体的设计说明(例如与现有硬件或软件的兼容性等)。HFC设计人员还必须考虑系统或软件设计是否有能力进一步满足新的要求。
核电站(如YGN3&4机组)中使用的第一代HFC控制器——单板控制器-01(简称SBC-01),是基于Intel 8085微处理器的产品。SBC-01的一个应用是在单回路中实现安全停堆功能。由于英特尔8085微处理器已经停产,为了保证电厂的持续安全运行,更换老旧芯片进行系统升级迫在眉睫。
YGN3&4机组电站业主接受了采用FPGA取代停产的英特尔8085芯片的建议。该建议的关键是满足电站要求,包括功能、机械和环境、电气、存储容量和取证要求等。以功能和机械需求为例,具体来说,应该满足以下需求。
(1)功能需求。
①升级后的基于FPGA的SBC-01控制器卡,其运行应该能够在功能上等同于现有的基于微处理器的控制器。升级后的SBC-01控制器所选用的FPGA应与8085处理器代码兼容。
②升级后的SBC-01控制器应能够使用现有控制器卡中的存放软件和应用程序的EPROM,使升级后的SBC-01和现有控制器执行相同控制功能的操作相同。
(2)机械需求。
①升级后的SBC-01控制器卡应符合所有现有控制器卡原始设计中规定的尺寸要求。
②升级后的SBC-01控制器应具有相应的硬件设计,使控制卡能够安装并固定在与现有控制器卡相同的系统机箱插槽中。
③升级后的SBC-01控制器卡的物理结构设计应满足抗震1类要求。
为了满足这些要求,HFC用FPGA替换了旧式SBC-01的英特尔8085和8155芯片,以及其他逻辑功能电路。替换后,基于FPGA的控制器将执行汇编代码(存储在板载 EPROM中),控制外部/板载 I/O通道,并与回路主控器通信。此外,FPGA还将提供驮载式接口,以便测试人员测试SBC-01的功能和性能。升级后的FPGA控制器架构由几个独立的功能模块组成,以实现系统时钟生成、8085 IP内核、存储地址解码器以及各种控制功能,包括DIP开关选择、LED控制、最终5 V控制、互补错误检查、4-线路总线控制、板载和外部I/O通道控制、实现内部通信母线接口等。
设计及实施在遵守严密的规范和严格的V&V中完成,以保证技术实施的正确性能够满足安全级要求,并确保取证过程的简洁性符合管理规定。具有40多个状态的有限状态机(finite state machine,FSM)可以实现8085IP内核。
组件测试验证过程涉及两种正交方法:仿真测试用于验证FPGA实施的正确性;8085操作码测试用于确认解释输出。
系统或集成测试阶段验证HFC专有内部通信总线(internal communication bus,ICB)、数据输入/输出,以及其他硬件外围设备接口。升级过程符合美国核管会和韩国核能研究所的管理规定。
YGN3&4机组按照计划在预算内成功进行了FPGA升级,并完全符合预期目标和安全功能要求。升级后的系统目前已运行十年以上,这将成为核工业中值得借鉴的典型案例。
3 FPGA在未来核电站数字化升级中的展望
通过解析CPU执行过程,FPGA可以通过模拟现有微处理器的工作过程来成功替换已经停产的英特尔8085微处理器。如果再将其与HFC-6000平台结合,则可以为现有核电站的大规模数字化升级提供经验。现有核电站的FPGA数字化升级具有技术可行性和经济优越性。HFC-6000平台已通过美国核管会的全面审查,并在2011年4月获得了安全评估报告[11]。
核电站未来的数字化升级将包括基于FPGA的最新技术替换所有的现有I/O板(包括模拟的和数字的)以及基于Intel 188EB和/或386EB微处理器的控制器板。通过使用基于FPGA的最新I/O和控制器板,HFC-6000机架外加部分的通信主机能力将提升至100 Mb/s(现有的ICB为10 Mb/s),从而极大提高状态和诊断信息的远程传递能力。
使用FPGA对现有I/O卡、单回路控制器和回路主控器进行大规模数字化升级示例如图3所示。
在此配置中,基于FPGA的单回路控制器执行其专用的回路控制功能,与其他回路保持独立。控制器还可进行远程通信,通过异步信息传递将状态信息传递到另一个回路,或接收来自另一个回路的状态信息。当单回路控制器以这种方式进行通信时,单个回路控制器的故障不会导致其他回路控制器或整个系统的故障。
基于FPGA的单回路控制器在与远程控制器通信时,将通过安全冗余RS-485串行端口执行内部通信链路(internal communication link,ICL)通信协议。通过该协议,回路状态信息可从一个远程端传递到另一个远程端。远程端间的通信是通过通信链路(C-Link)利用确定性的传输令牌以太网专有协议实现的。C-Link是HFC-6000系统的超级通信通道。工程师工作站可以通过配置起防火墙作用的安全网关联到C-Link。
另一方面,凭借FPGA的应用经验和HFC-6000平台的经验,基于FPGA控制器的平台开发已经成熟。基于FPGA的平台将使用HFC-6000现有的I/O板、通信模块和安全级I/O增强模块。基于FPGA的新平台将提高HFC-6000产品线的多样性,并将成为HFC-6000系列的合格产品之一。
图3 FPGA通过模拟微处理器实现更大规模的数字化升级示例图
根据以往经验,很重要的一点是,FPGA的设计及实施必须遵循合理的生命周期过程(例如IEEE Std 1074-1995中所定义的)、严格的V&V过程(如IEEE Std 1012-2016标准),以及基本的核安全级仪控设计原则(如简洁性、确定性和故障安全)。对于设计要求,如冗余、多样性与纵深防御(D3),则必须认真考虑,并通过与核电站业主协调、参考美国核管会导则,将其融入设计中。
另外,利用行业最佳工程实践和数字化仪控技术经验达到有效管理并取得有效的实施结果也同样重要。
4 结束语
本文介绍了用FPGA代替英特尔8085微处理器在YGN3&4机组核电站中实现安全停堆功能的案例。这一成功案例表明,FPGA是适用于核电站改造升级的。可以预测,FPGA将很快在现有电站(用于仪控系统的升级)和新建电站(用于新仪控系统的实施)得到广泛应用。无论是在解决行业过时问题的数字化升级上,还是在新核电站新型平台的开发使用上,FPGA都将在未来许多年内得到充分应用。