用FPGA实现核电厂安全级I&C系统过程中的V&V

  • 格式:pdf
  • 大小:1.39 MB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Computer Knowledge and Technology 电脑知识与技术计算机工程应用技术本栏目责任编辑:梁书

第8卷第31期(2012年11月)用FPGA 实现核电厂安全级I&C 系统过程中的V&V

董治国1,姚光霖2

(1.中国核电工程有限公司,北京100840;2.北京中核东方控制系统工程有限公司,北京00176)

摘要:该文在最近发布的IEC 62556标准基础上,比照既有的以计算机为基础的仪控系统的实现经验,分析了独立的确认和验证(V&V )方法对以FPGA/PLD 技术开发核电厂安全级仪控系统的重要性,同时,也给出了具体开发过程中V&V 的实践建议。最后,简要指出了实现过程中的难点和注意事项。

关键词:FPGA ;V&V ;安全级;I&C

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2012)31-7578-03

1基于传统计算机技术的V&V 实践

从软件生命周期模型或者软件开发过程模型的角度说,核电厂安全级软件的开发采用的是W 模型。所谓W 模型,就是在V 模型基础上,增加软件开发各个阶段应同步进行的测试〔包括准备工作〕,测试的对象不仅仅是程序,需求、功能和设计同样需要测试。和V 模型相比,W 模型强调测试伴随着整个软件开发周期,需要“尽早地和不断地进行软件测试”。

图1

图1所示的是一个完整的软件生命周期。但是,从工程的角度说,系统设计、软硬件供货,软件开发,现场的系统调试都是由不同的行业来分担。具体意义上核电厂安全级软件的软件供货方仅仅完成的是其中一部分的工作。

参照AREVA 公司的工程实践,图2中,给出了一个典型的核电厂安全级软件的软件开发和V&V “验证和确认”〔虚线的下侧部分〕。

1.1起点

软硬件分拆后所形成的软件部分,通过转化,形成软件开发放所认可的标准样式,这个样式主要包括模块的抽象定义方法,由此才开始了软件开发方的“软件寿命周期”。

1.2终点

在软件下载到实际的硬件实体,启动起来,通过自动或者手动的方式,完成了软硬件的联合调试实验,软件开发方的“软件寿命周期”也已结束。

1.3独立的V&V 小组

软件的开发是V 形,测试也是与此相并行的V 。IEEE 1012对软件的测试进一步补充、细化,并分成“确认”、“验证”两个层面收稿日期:2012-10-11

E-mail:kfyj@ Tel:+86-551-56909635690964ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.8,No.31,November 2012.7578

Computer Knowledge and Technology 电脑知识与技术计算机工程应用技术

本栏目责任编辑:梁书第8卷第31期(2012年11月)——前者指的是每个阶段的结果必须与该阶段的输入是一致的,后者要佐证每个阶段的工作结束后,形成的软件及相关产品符合期望的需求。在形式上,要求由独立的组织来完成确认验证〔V&V 〕工作。为保证〔V&V 〕的效果,IEEE 1012给出了技术独立、管理独立、财务独立等三方面的指标。

而技术独立,就是保证V&V 小组对要解决的问题是什么,应该用什么样的系统去解决问题,形成“自己的”理解。这种“新的视点”是发现开发过程中错误的重要手段,尤其是那些被开发人员所忽视的部分,因为他们的视点太过靠近解决问题的方案。

一般的,技术独立要求V&V 工作使用自己的,与开发小组不同的软件工具。传统的基于计算机技术的开发过程也是这样执行的,包括SCADE 、CASSIS 在内,V&V 小组使用不同的软件环境对开发小组的工作进行验证。

管理独立和财务独立是确保V&V 小组的工作不受限制,尤其是不受来自开发小组方面直接或间接的负面影响。

1.4两个小组的起点

从图中,可以看出,供货商的详细设计,成为软件开发小组和V&V 小组共同的起点。在此同一个前提下,各自开展工作。然后,在局部模块、

整体连接两个环节进行比对验证。

图2

2基于FPGA 技术的安全级I&C 开发及V&V

FPGA ,即Field Programmable Gate Array,现场可编程门阵列,是近年来发展迅速,并得到越来越广泛应用的半定制集成电路技术。因为具有更短的响应时间,更低的系统功耗获得工业控制领域的认可。目前,已经有了核电厂保护系统以及常规系统的应用实例。FPGA 的开发流程一般包括设计定义、设计输入、功能仿真、逻辑综合、前仿真、布局布线、时序仿真、静态时序分析、下载调试和验证等9个部分,简要描述如下:1)设计定义:FPGA 必须完成的功能以及外围器件的接口,包括接口信号规格、处理时钟频率、时序要求、管脚分配锁定等。2)设计输入:以开发软件要求的形式表示出所要设计的逻辑,形式包括硬件描述语言、原理图等。3)功能仿真:在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅仅对初步的功能进行检测。4)逻辑综合:利用给定的约束条件,如速度、功耗、成本、及电路类型等,通过计算机进行优化处理,获得一个能满足要求的电路设计方案。5)前仿真:等同於功能仿真,但可以用于检查综合有无问题。6)布局布线:把逻辑映射到目标器件物理结构中,选择逻辑与输入输出功能连接的布线通道进行联线。7)时序仿真:时序仿真不仅要保证逻辑正确,还要加入器件的物理时延特性。8)静态时序分析:不需要输入激励或测试矢量,映射后、布局布线后,对功能块延时和实际布线延时进行静态的时序分析。9)下载调试和验证:将实现完成后形成的位流下载到FPGA 芯片中。3传统计算机技术与FPGA 技术V&V 的比较

对于实现核电厂安全级I&C 系统这一目的来说,虽然FPGA 实现的控制方案没有CPU ,不使用操作系统。但是,和两者一样的是,把控制逻辑交给一个复杂度非常高的“部分”去执行。实际上,FPGA 开发过程中,都是“像软件一样编程”,和软件开发一样,也使用描述语言〔High level Hardware Description Languages (HDL)〕,使用集成开发环境〔Integrated Development Environments (IDE)〕,使用仿真软件等。

为了减少潜在的不容易被发现的设计错误,两者都需要特别的、层层分解的、细化的措施。每层工作可以往复执行。虽然一层的工作尚未完成可以启动下层的工作,但是,一个层次工作的结束条件必须是前一层工作结束并且本层的输出与前一层的输入是一致的。7579