GB/T37691-2019

可编程逻辑器件软件安全性设计指南

Guideforprogrammablelogicdevicesoftwaresafetydesign

本文分享国家标准可编程逻辑器件软件安全性设计指南的全文阅读和高清PDF的下载,可编程逻辑器件软件安全性设计指南的编号:GB/T37691-2019。可编程逻辑器件软件安全性设计指南共有22页,发布于2020-03-01
  • 中国标准分类号(CCS)L77
  • 国际标准分类号(ICS)35.080
  • 实施日期2020-03-01
  • 文件格式PDF
  • 文本页数22页
  • 文件大小1.82M

以图片形式预览可编程逻辑器件软件安全性设计指南

可编程逻辑器件软件安全性设计指南


国家标准 GB/T37691一2019 可编程逻辑器件软件安全性设计指南 Guideforprogrammablelogiedevieesoftwaresafetydesignm 2019-08-30发布 2020-03-01实施 国家市场监督管理总局 发布 币国国家标准化管理委员会国家标准
GB/T37691一2019 目 次 前言 范围 2 规范性引用文件 3 术语和定义 缩略语 5 总则 需要考虑的因素 附录A资料性附录可编程逻辑器件软件安全性分析方法
GB/37691一2019 前 言 本标准按照GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口 本标准起草单位:航天科工集团公司第三研究院第三四研究所、电子技术标准化研究 院、电子科技集团第三十研究所、国家卫星海洋应用中心 本标准主要起草人:孟伟、杨楠、王黎、姜晓辉、胡勇、黄琼、王国锋、张津荣、李文鹏、朱琳、张国宇、 肖崇俭、寇科男、李恺、巫忠跃、彭鸣、毛伟,许卓琦、张肠肠、陈元,史明、陈鹏刘廷、杨永生、王希、孙健、 葛永娇
GB/37691一2019 可编程逻辑器件软件安全性设计指南 范围 本标准给出了可编程逻辑器件软件安全性设计的指导和建议,并给出了需考虑要点有关的信息 本标准适用于可编程逻辑器件软件的系统需求分析、软件需求分析、设计和实现时的安全性设计 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 件 GB/T457一206信息技术软件工程术语 GB/T18349集成电路/计算机硬件描述语言Verilog GB/T33781一2017可编程逻辑器件软件开发通用要求 GB/T33783一2017可编程逻辑器件软件测试指南 术语和定义 GB/T11457一20o6.,GBy/T33781一2017和GB/T33783一2017界定的以及下列术语和定义适用 于本文件 3.1 rammablelogicdeyice 可编程逻辑器件proE 允许用户编程配置)实现所需逻辑功能的器件 [[GB/T33781一2017,定义3.1.1] 3.2 ammablelogicdevicesoftware 可编程逻辑器件软件progra 针对FPGA,CPLD等可编程逻辑器件进行设计而产生的程序、文档和数据 [GB/T33781一2017,定义3.1.5] 3.3 软件安全性softwaresafety 软件运行不引起系统事故的能力 3,4 软件失效sftwarefailure 软件系统丧失完成规定功能能力的事件 3.5 安全关键功能safetyeritealfunetionm 针对特定的危险事件,为达到或保持受控设备的安全状态而实现的功能 3.6 devicesoftware 安全关键可编程逻辑器件软件safetyeritieal alelogie programma 具有安全关键功能的可编程逻辑器件软件
GB/T37691一2019 3.7 行波时钟ripplecok 当前一级时序逻辑的数据输出被用作下一级时序逻辑的时钟输人时的时钟信号 缩略语 下列缩略语适用于本文件 BDA;双向分析(B-DireetionalAnalysis) CPLD;复杂可编程逻辑器件(ComplexProgrammableLogicDevice) DCM;数字时钟管理(DigitalClockManager) FMEA;放障模式及影响分析(FailureModleandEIfetsAnalysis FPGA:现场可编程门阵列(FieldProgrammableGateArray FTA;故障树分析方法(FaultTreeAnalysis) HDL;硬件描述语言(H IardwareDeseriptionLanguage) I/O;输人/输出Input/Out utput P,知识产权(melectualProper rty rogrammableL DeviceSoftware PLDS:可编程逻辑器件软件(Pro .ogie PLL锁相环(PhaseLockedloop VHDL;超高速集成电路硬件描述语言(VeryhighspeedintegratedcireuitHlardwareDeseription Language 总则 5 5.1Ls安全性设计 PLDS安全性贯穿于PLDS全生存周期过程,宜与PLDs生存周期过程活动紧密结合 可通过下 列过程,保证PLDS设计的安全性 系统需求分析: a 明确系统/分系统中应重点防范的系统危险事件 1 22 根据系统/分系统规格说明和系统/分系统设计说明开展系统级安全性分析,确定PLDs 的系统级安全性要求 33 明确提出PLDS的安全性要求,并完全覆盖系统/分系统规格说明和系统/分系统设计说 明中的相关要求 明确安全等级 系统人员根据系统危险分析结果以及行业相关规定,确定PLDs的安全 性等级 对于安全关键PLD5,安全性需求宜给出重点防范的系统危险事件、失效容限以及安全性 5 保障水平等要求 给出必要的检错、纠错和容错要求 6 对于安全关键PLDS,宜提出失效模式以及规避失效的策略 77 根据给出的系统危险事件及失效模式,确定PLDS的安全关键功能 8 软件需求分析 b 根据系统需求分析时给出的危险事件及失效模式,进一步确认PLDS的安全关键功能 1 22 进一步分析系统危险事件及失效模式,根据需要扩充PLDs的安全关键功能 33 明确应完成的规避失效风险的技术措施
GB/37691一2019 落实系统需求分析时给出的检错、纠错和容错要求 4 5 对于安全关键PLDS,宜使用故障模式及影响分析,故障树分析等方法进行安全性分析 6 完全覆盖系统需求分析时提出的安全性要求 77 衍生的安全性要求宜反馈到系统需求分析过程,并进一步分析其对于安全性的影响 设计和实现 PLDs设计和实现覆盖软件需求分析时给出的所有安全性要求及措施 1 22 依据设计准则或编码标准开腰ns设计和实现 根据可编程逻辑器件的安全关键功能,确定PLDS的安全关键部件和单元 3 对安全关键部件和单元进行安全性分析和测试,测试宜覆盖所有的安全性要求 4 配置项级别宜明确防止错误扩大化的措施,如数据处理时前一帧错误数据不会影响后续 5 正常数据的处理 衍生的安全性要求宜反馈到需求分析过程,并进一步分析其对于安全性的影响 5.2PLDs更改 确定PLDS继承性,对已纳人配置管理的受控PLDS的更改宜进行影响域分析,并分析PLDS更改 对系统安全的影响,重点关注PLDS更改对时序关系的影响 5.3PLDs外购外协或重用 安全关键软件采用外购、外协软件或重用软件时,重点关注 决定重用某PLnS或使用P核来完成安全关键功能之前,确定其适用性,并充分分析其安全 a 性影响 在PLDS开发过程中,对重用PLDS产品及IP核进行安全性分析和评价,并对其进 行验证,确定不存在不可接受的安全性风险 外协PLDS产品的需方对外协产品的安全性负责,对外协产品的开发过程进行监控,并对外协 b 产品进行安全性分析和评价 需要考虑的因素 6.1系统需求分析 在系统需求分析中,分析系统的结构,功能、性能需求、工作环境、实际外部接口时序(考虑外部电路 对信号延时的影响)等对PLDs的设计需求,需要明确的内容包括 应遵循的相关安全性标准 a b 编程语言建议选用VHIDL或VerilogHDL,使用VerilogHDL宜遵循GB/T18349中要求 c 继承性要求 可编程逻辑器件的运行环境 d 可编程逻辑器件的开发环境 e 可编程逻辑器件的功耗要求 可编程逻辑器件芯片规格 确认选用的可编程逻辑器件的芯片等级、速度等级,设计资源数、 g 工作频率、封装、抗空间辐照等指标满足要求 h)系统分配给PLDS功能的合理性分析 分配的软件任务复杂度不宜超出可编程逻辑器件的能 力范围 使用片上可编程系统要求 若使用片上可编程系统,按软件相关标准分析处理器软件的安全 性要求 接口和信号要求 给出所有接口和信号描述,明确上电及复位后接口信号状态和管脚绑定 J
GB/T37691一2019 要求 k 软件可编程要求 针对与软件配合工作的可编程逻辑器件,明确软件对PLDs的操作要求,操 作时序以及接口协议,包括可编程寄存器名称,地址,复位状态、读/写操作等 lD P核复用要求 对IP核进行安全性分析、评价及验证,确定其不存在不可接受的安全性 风险 m》安全性设计要求 如给定的错误情况如何处理 n 余量要求 包括时钟赖率和可编程逻辑器件逻辑资源,管脚资源使用等 如有抗空间辐照设计要求,对有单粒子效应敏感的静态随机存储器型可编程逻辑器件宜提出 oo 抗单粒子效应防护设计要求,如采用三模冗余设计,纠/检错编码设计,动态刷新等设计方法 6.2软件需求分析 6.2.1安全性需求的来源 宜正确、完整地追踪安全性需求来源 PLDS安全性需求来源可分为通用的安全性需求和专用的 安全性需求,其中 通用的安全性需求一般为某一应用领域或多个类似的项目共同的安全性需求; a b专用的安全性需求一般为所属PLDS系统特定的安全性需求,是由系统向下传递的,或者是系 统初步危险分析结果中危险原因与PLDS相关的安全性需求,其中也包括开发过程中新识别 出再由PLDS系统采纳下达的安全性需求 6.2.2安全性需求分析 系统特定的PLDS安全性需求的开发与分析宜依据系统安全性需求、环境需求、标准、项目专用规 范,工具或者设施需求和接口需求,查找安全关键功能,确定安全性需求 PLDs的安全性分析方法参 见附录A 6.2.3安全关键功能的安全保证措施 安全关键功能的安全保证措施如下 安全运行模式、运行状态与安全条件 a PLDS安全性需求包括有效的运行模式或状态,以及禁止和不适用的模式或状态,宜避免 PLDS进人禁止或不适用的模式或状态 在整个软件需求中查找是否存在可能导致不安全状态的条件和潜在的失效隐患,如不按 2 顺序,错误的事件,不适当的量值,不正确的极性,无意的命令,环境干扰造成的错误,以及 控制失效模式之类的条件 对所有的不安全状态的条件和潜在失效隐患,制定适当的响 应要求 33 针对状态机需求,分析确认所需状态机的状态完整性、状态转换完整性、输人和输出变量 完整性、初始状态等 b 容错和容失效 明确系统是否能容错或容失效,或两者兼有 1 2) 采用容错机制肪止微小的差错造成失效 3 安全关键功能宜单独划分模块,避免受其他模块干扰 注1,系统中的安控处理模块宜单独分出,并根据安全级别可选择热备份,冷备份、三冗余备份等容错或容失效 方式 接口: 对接口进行分析,分析接口出错方式及出错概率,并以此来确定通信方法、数据编码、错误
GB/37691一2019 检查、同步方法以及校验和纠错码等 注2:接口错误检查或者纠正措施适用于接口的出错概率 如,根据安全级别考虑协议是否满足安全性要求,包括 帜头和帆尾不能为FF和00等特殊字符、帜头和赖尾不能相同、校验和,纠错码,起始位,停止位等;协议接收 时是否做安全处理,包括是否有效判断顿头、顿尾、校验位和数据长度、数据间隔是否满足时序要求、错误顿是 否正确处理等;若为异步传输,需考虑异步信号是 否进行有效判断;若为同步传输,需考虑是否有使能信号,时 数据和使能信号的布线延时是否影响同步 钟 明确接口时序要求,PLDs与外设通信时,宜考虑通信时序是否满足芯片手册要求,如数 据建立、保持时间等 若时序以时钟为基准,为保证通信正常,还宜考虑PLDs主时钟是 否能产生外设驱动时钟,若不能产生需增加外部时钟 33 明确实时性要求,必要时增加缓存,避免PLDS与其他外设通信过程中数据丢失 d 数据: 1定义软件所使用的各种数据,包括外部输人输出数据及内部生成数据,列出这些数据的 清单,说明对数据的约束,规定数据采集要求,说明被采集数据的特性、要求和范围 22) 对重要的数据在使用前后进行检查,如数据值域检查 3)建立数据字典,说明数据的来源、处理及目的地 抗空间辐照 根据系统安全等级要求,评估抗空间辐照能力,确定可编程逻辑器件的使用及抗空间辐照实现 方式,如选用的可编程逻辑器件对单粒子效应敏感,宜基于器件抗单粒子阀值、单粒子环境作 用模型及数据,使用情况及可编程逻辑器件的利用率,估算可编程逻辑器件单粒子翻转截面, 提供给系统和分系统,明确抗空同锄照实现方式,典型的抗单粒子翻转方式包精PLDS的三校 冗余,配置刷新、硬件加固等 f 工况: 明确可编程逻辑器件实际工作时的内核温度和电压范围,考虑可编程逻辑器件在最大、最小 典型三种工况下的时序收敛性 规模 g 1)根据PIDS功能、数据、,I/0接口数量及速率,吞吐量、外部时钟等,估计可编程逻辑器件 规模和资源占用情况 根据规模选择适合的可编程逻辑器件,一方面要避免资源浪费,造成功耗、体积等不必要 消耗;另一方面要避免资源不足,导致可编程逻辑器件逻辑功能或时序实现不满足要求 3 充分考虑可编程逻辑器件的寄存器、I/0接口、存储器、全局时钟资源,IP核等片上资源 是否满足要求 6.3设计和实现 6.3.1系统设计 系统设计需要考虑的因素如下 系统内各软件与PLDs,PLDS之间、PLDS与外设的时序配合,避免出现时序不匹配的情况 a b 可编程逻辑器件与外围芯片的延时 宜采用以下方式开展PLDS层次结构设计 采用层次化设计方式开展PLDs设计,以提高代码的可读性 2 结构的层次不宜太深,一般不要超过5层 33 顶层模块仅包含对其下层模块的组织和调用 较为合理的顶层模块由输人输出管脚声 明、模块的调用与实例化、全局时钟资源,全局置位/复位、三态缓冲和一些简单的组合逻 辑等构成
GB/T37691一2019 不宜建立子模块间跨层次的接口 4 5)合理划分子模块,综合考虑子模块的功能、结构,时序、复杂度等多方面因素 d)组合逻辑模块的输出信号不宜直接或通过层次关系间接连接到同一模块的输人端口 注:由于组合逻辑模块的输出信号再重人会产生组合逻辑反馈环,这种结构的输人端有任何变化都有可能使输出 值立刻改变,此时就会造成毛刺的产生,导致时序的严重混乱 PLDS设计中,宜遵循面积和速度的平衡与互换原则 6.3.2跨时钟域设计 跨时钟域设计需要考虑的因素如下 避免组合逻辑信号跨时钟域传递,对跨时钟域信号进行同步处理 a 注1:跨时钟域信号包括异步信号进人时序电路和不同时钟域的信号传递,同步处理方式可采用多次寄存、双口存 储器,先进先出队列和握手等 b 将组合逻辑模块的输出信号寄存后再输出 注2:将组合逻辑从一个时钟域连接到另一个时钟域时,组合逻辑产生的毛刺会传播到下一个时钟域,将组合逻辑 模块的输出信号寄存后再输出,可消除毛刺的跨时钟域传播 采用同步设计,避免使用异步设计 6.3.3冗余设计 在资源允许的情况下,宜根据相应的安全关键等级对可编程逻辑器件的关键信号、数据等采用三模 冗余的设计方法 注电磁,空间辐照等干扰会引起FPGA位翻转,从而影响软件功能 6.3.4余量设计 余量设计需要考虑的因素如下 PLDS的设计宜满足系统的资源余量要求,如无明确的系统要求,宜保留20%的资源余量; a) b) PLDs工作的时序宜满足系统的时序余量要求,如无明确的系统要求,宜保留20%的时序 余量 6.3.5编码 编码需要考虑的因素如下 避免在同一进程中对同一信号多次赋值或同一时刻有多个信号驱动同一端口 a 避免存在冗余代码,提高代码的可读性和可维护性 b) if 条件判断包含所有条件分支,case包含defaul分支 c d 在VerilogHDL.中正确使用阻塞赋值与非阻塞赋值: 1) 对组合逻辑建模宜采用阻塞式赋值 2 对时序逻辑建模宜采用非阻塞式赋值 3 宜采用多个 s块分别对组合和时序逻辑建模 alway 进程中的敏感列表完整正确 e 注1:进程的敏感列表不完整会导致仿真和综合后实现不一致,甚至功能实现错误 fD 在VHDL中正确使用信号和变量 变量只能在进程语句函数语句和子程序结构中使用,它是一个局部量 1 2)变量的赋值是立即生效的 信号是电路内部硬件连接的抽象,信号的赋值在进程结束后 才生效 3)如果在一个进程中对同一信号多次赋值只有最后的值有效,变量的赋值立即生效,在赋新
GB/37691一2019 值前保持原来的值 条件判断的表达式中宜使用逻辑运算符 g 宜将所有寄存器、输出信号初始化为确定值,避免系统上电后出现不确定状态 h) i 在设计过程中宜避免使用锁存器 注2任何对数据的干扰都会直接反映到锁存器的输出,从而降低对毛刺的过滤能力,使用对数据干扰有较好过滤 能力的触发器代替锁存器 6.3.6时钟设计 时钟设计需要考虑的因素如下: 在资源允许的条件下,宜使用由可编程逻辑器件全局时钟输人管脚驱动的全局时钟; aa 注1;全局时钟资源能够提供器件中最短的时钟到输出的延时,是最简单和最可预测的时钟, b)合理使用PLL和DCM 避免使用组合逻辑产生的时钟; c 注2:由于组合逻辑容易产生毛刺,引起触发器的错误翻转,影响PLDS设计的安全性,在需要使用组合逻辑产生时 钟时,可以采用时钟使能的方式实现 不宜在时钟路径上插人反相器或缓冲器; d 注3在时钟路径上插人反相器或缓存器会增加时钟信号的偏移,引起时序错误 时钟信号不宜再汇聚; e 注4再汇聚路径将导致时钟路径上发生时序冲突 不宜使用行波时钟; 注5:行波时钟即一个触发器的输出用作另一个触发器的输人,在行波链上各触发器时钟之间会产生较大的时钟偏 移,降低系统的实际速度,并且有可能超出最坏情况下的建立时间、保持时间 不宜对时钟信号进行三模冗余设计; g 注6,对时钟进行三模,不但不利于时序分析,而且在设计中由于走线延时的不确定性使设计中产生多路跨时钟城 电路 h 避免将寄存器输出的信号直接作为时钟使用 6.3.7接口及通信设计 接口及通信设计需要考虑的因素如下 对输人接口进行满足系统要求的滤波和抗干扰设计 a b 数据传输和采集: 1 在确定数据传输前对通信信道进行测试 2) 确定数据采集分辨率和外部数据精度相适应, 3) 确定数据采集频率和外部数据变化率相适应 接口时序满足芯片手册设计要求; 5 关键的通信设置校验或握手机制; 6 对通信异常情况进行保护处理如串口校验位、停止位错误,读写地址错误等; 7 接口通信协议保持一致; 8 接口通信对接收数据进行有效性判断; 确定未使用的输出接口状态满足安全性要求; d 确定输出接口特性满足系统要求,如值域、时序等 确定输人输出接口的电气相互兼容; fD 调试端口在正式产品中宜作相应处理,如保留、禁用或删除
GB/T37691一2019 6.3.8配合存储器相关设计 配合存储器相关设计需要考虑的因素如下: 外部存储器的接口时序满足要求,宜考虑时序余量设计、读写地址异常的情况; a b)避免外部存储器的读写冲突; 对存储资源的设计余量进行分析,考虑极限情况下的容量满足情况 c 6.3.9复位设计 复位设计需要考虑的因素如下 同一复位信号使用唯一的有效电平,保证系统模块同时复位; a b保证一定长度的复位有效时间,确保复位信号能被正确采样; 注1,对于同步复位,复位信号的有效时长至少为1个采样时钟周期,对于异步复位,能保证复位释放时能被时钟正 确采样, c 异步复位采用同步释放的方式; 注2:异步复位采用同步释放的方式可避免异步复位释放时的亚稳态 d)设计中使用同一个复位域 注3:存在多个复位域可能影响设计的初始状态,引起信号的冲突 6.3.10状态机设计 状态机设计需要考虑的因素如下 D状态机设置合法初始状态; 注1避免出现状态机死锁 对状态机的无效状态进行适当处理; b) 注2状态机设计时可能存在一些非法的或无关的状态,充分考虑各种可能出现的状态以及一旦进人非法状态后可 以强迫状态机进人合法状态 状态机编译模式选择安全模式 c 注3,在综合时对综合属性进行设置,编译模式选择安全模式确保状态机综合后包含对无效状态的处理 d 状态机的跳转不能仅依赖外部信号; 根据状态机对速度、资源占用量等方面要求,合理使用状态机编码 e f 宜避免状态机寄存器的复制 6.3.11I核使用 宜对IP核使用进行版本控制,在IP核的调用语句后添加版本号注释 6.3.12综合设计 综合设计需要考虑的因素如下 将关键路径和非关键路径、组合逻辑和时序逻辑划分为不同进程实现; a b)对关键功能的综合后网表进行确认,以确定综合前后逻辑等价,避免综合过程的不确定性 6.3.13管脚约束 管脚约束设计需要考虑的因素如下 对未使用的输人管脚进行上拉设置; a
GB/37691一2019 b 宜将未使用管脚定义为输出,并进行上拉处理; 避免可编程逻辑器件硬件管脚间的相互干扰,对于存在耦合干扰的信号可通过调整管脚位置、 增加地线隔离等方式处理 上电过程中如信号对状态有确定要求,宜通过外部上、下拉确定
GB/T37691一2019 附 录 A 资料性附录) 可编程逻辑器件软件安全性分析方法 概述 A.1 常用的可编程逻辑器件软件安全性分析方法包括FMEA,FTA和BDA 这三种方法各有特点,在 实际应用中可根据需要,综合应用这三种方法,更加全面、有效地分析可编程逻辑器件软件安全性 A.2可编程逻辑器件软件MIEA A.2.1概述 可编程逻辑器件软件FMEA分析方法通过识别可编程逻辑器件软件故障模式,分析造成的后果 研究分析各种故障模式产生的原因,寻找消除和减少其有害后果的方法,以尽早发现潜在的问题,并采 取相应的措施,从而提高可编程逻辑器件软件的安全性 A.2.2可编程逻辑器件软件故障模式、故障影响及严醋度 A.2.2.1可编程逻辑器件软件故障模式 可编程逻辑器件软件故障模式指可编程逻辑器件软件故障发生的不同方式,例如功能异常、接口异 常等 其中可编程逻辑器件软件故障指可编程逻辑器件软件在运行中丧失了全部或部分功能、出现偏 离预期的正常状态的事件 可编程逻辑器件软件故障归根结底是由可编程逻辑器件软件中潜藏的缺陷 引起的 可编程逻辑器件软件故障模式的分析是进行可编程逻辑器件软件FMEA的基础 只有将被分析 对象的所有可能的故障模式尽可能全面地分析出来,才能采取相应措施改进设计,防止故障发生 因此 故障模式的分析是否全面合理决定了可编程逻辑器件软件FMEA的分析效果,是整个分析过程中最为 关键的一步 在进行可编程逻辑器件软件FMEA时,宜根据被分析可编程逻辑器件软件的不同特点,选择合适 的故障模式 可编程逻辑器件软件设计中常见的典型故障模式,见表A.l 表A.1可编程逻辑器件软件设计中常见的典型故障模式 序号 类别 具体故障模式 串口通信功能典型故障模式 存储控制功能典型故障模式 典型功能类 复位功能典型障模式 FLASH存储器控制功能典型故障模式 数模转换控制功能典型故障模式 10
GB/37691一2019 表A.1(续》 序号 类别 具体故障模式 中央处理器接口典型故障模式 低电压差分信号接口典型故障模式 典型接口类 串行外设接口典型故障模式 控制器局域网络总线接口典型故障模式 典型硬件环境类 模拟单粒子翻转故障模式 ## #+ A.2.2.2可编程逻辑器件软件故障影响及严酷度 可编程逻辑器件软件故障影响指可编程逻辑器件软件故障模式对可编程逻辑器件软件系统的运 行,功能或状态等造成的后果 例如可编程逻辑器件软件故障会影响任务的完成或造成设备的损坏等 可编程逻辑器件软件故障影响严酷度指可编程逻辑器件软件故障模式所产生的后果的严重程度 最严重的后果可能是导致人员死亡、对环境造成灾难性破坏,而轻微的后果仅降低使用的舒适性、方便 性等 可编程逻辑器件软件故障影响及其严酷度的确定可以为故障模式改进措施的制定提供依据 对于 产生后果严重的故障模式,采取有效措施加以改进,以避免危险事件的发生 A.2.3可编程逻辑器件软件FMIEA分析步骤 A.2.3.1概述 可编程逻辑器件软件FMEA分析一般包括系统定义、可编程逻辑器件软件故障模式分析、可编程 逻辑器件软件故障原因分析、可编程逻辑器件软件故障模式影响及严酷度分析、制定改进措施等几儿个步 骤,见图A.1 可编程 可编程 可编程 逻辑器 件软件 逻辑器 逻辑器 系统 制定改 故障模 件软件 定义 件软件 进措液 式影响 故障模 故障原 式分析 及严酷 因分析 度分析 图A.1可编程逻辑器件软件FMEA分析步骤 A.2.3.2系统定义 系统定义的主要目的为确定可编程逻辑器件软件FMEA的分析级别和分析对象,以确定分析的重 点 在系统定义中首先说明系统的主要功能、次要功能、用途、系统的约束条件和故障判据等 系统定 义还包括系统工作的各种模式的说明、系统的环境条件,以及软,硬件配置等 如果受时间或经费等因 素的影响无法对整个可编程逻辑器件软件系统进行全面的分析,可在分析前确定分析的重点 通过识 别对系统功能和安全性影响较大的危险事件,确定对上述危险事件的出现有直接或间接关系的功能模 1
GB/T37691一2019 块,可编程逻辑器件软件部件等,作为可编程逻辑器件软件FMEA分析的重点 A.2.3.3可编程逻辑器件软件故障模式分析 可编程逻辑器件软件故障模式为可编程逻辑器件软件故障的表现形式 可编程逻辑器件软件故障 模式分析的目的为针对每个被分析的可编程逻辑器件软件单元,找出其所有可能的故障模式;针对每个 分析对象,确定其潜在的故障模式 A.2.3.4可编程逻辑器件软件故障原因分析 针对每个故障模式,分析其所有可能原因 可编程逻辑器件软件故障的原因是可编程逻辑器件软 件中潜藏的缺陷一个可编程逻辑器件软件故障的产生可能是由一个缺陷引起的也可能是由多个缺陷 共同作用引起的 在进行故障原因分析时尽可能全面地分析所有可能的可编程逻辑器件软件缺陷为 制定改进措施提供依据 A.2.3.5可编程逻辑器件软件故障模式影响及严酷度分析 分析每个故障模式对局部高一层次,直至整个系统的影响,以及故障影响的严重性 分析故障影 响及其严重性的目的为识别可编程逻辑器件软件故障所造成的后果的严重程度,以便按照优先级为不 同严重等级的故障制定改进措施 可参照表A.2所示的方法确定故障影响的严酷度类别 需要指出的是,严酷度类别仅是按故障模 式造成的最坏的潜在后果,且仅对系统层次的影响程度进行确定的 严酷度类别划分有多种方法,但对 -可编程逻辑器件软件进行FMEA时,其定义保持一致 同 A.2.3.6制定改进措施 根据上述分析得到的故障产生的原因及影响的严重性等,确定出需要采取的改进措施 改进措施 主要有两种途径,一是修改可编程逻辑器件软件需求、设计或编码中的缺陷,增加软件防护措施;二是增 加硬件防护措施 进行可编程逻辑器件软件FMEA时,填写FMEA表 FMEA表宜完整地体现分析的目的和取得 一张FMEA表的示例表中记录了FMEA的分析结果 的成果 表A.2是一 表A.2FMEA表示例 故障影响 单元 功能 备注 序号 故障模式 故障原因 严酷度 局部影响 最终影响 与功能、性能导致故障模根据故障影响分析结果,按故障最终 记录对其 功能模块单元执行的 单元序号 有关的所有式发生的 依次填写FPGA故障模影响严重程他栏的注稀 名称 主要功能 故障模式 可能原因 式的局部影响和最终影响 度确定 和补充说明 A.3可编程逻辑器件软件FTA A.3.1概述 可编程逻辑器件软件FTA是一种自顶而下的可编程逻辑器件软件安全性分析方法,即从可编程 逻辑器件软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全产生重大影响的事件开始, 向下逐步追查导致顶事件发生的原因,直至基本事件底事件) 可编程逻辑器件软件FTA的分析结 12
GB/37691一2019 果可以用来指导可编程逻辑器件软件安全性设计,确定可编程逻辑器件软件测试的重点和内容,使可编 程逻辑器件软件安全性得到更充分的保证 A.3.2可编程逻辑器件软件故障树的建立 A.3.2.1概述 建立可编程逻辑器件软件故障树的目的为找出导致顶事件发生的直接原因,直至最底层的根本原 因 只有建立了故障树,才能在此基础上进行定性、定量分析,故障树的建立是可编程逻辑器件软件 FTA中最基本同时也是最关键的一项工作,故障树建立的完善程度直接影响定性分析和定量分析的准 确性 建立可编程逻辑器件软件故障树通常采用演绎法,见图A.2 选择要分析的顶事件,作为故障树的根 分析顶事件发生的原因井用逻辑门与顶事件相 连,作为故障树的节 已追溯到导致顶事件发生的全部原因? 是 将底事件作为故障树的叶,完成故障树的建立 图A.2可编程逻辑器件软件故障树建立方法 A.3.2.2顶事件的确定 在故障树最顶层的顶事件是系统不期望的故障事件,可依据以下信息确定可编程逻辑器件软件故 障树的顶事件 可编程逻辑器件软件危险分析提供的信息 危险分析是指对系统设计,使用、维修及与环境有 关的所有危险进行系统化分析.以判别和评价危险或潜在的危险状态、可能相关的危险事件及 其后果的危害性 在可编程逻辑器件软件开发的各个过程,通过危险分析可识别出对系统可 能造成的潜在危险,可以此作为故障树的顶事件进行可编程逻辑器件软件FTA 可编程逻辑器件软件FMEA的分析结果 在可编程逻辑器件软件FMEA中,通过对故障模 式的影响分析可以得出对可编程逻辑器件软件系统产生的不利影响 在进行可编程逻辑器件 软件FTA时,可选取影响严重性较大的故障事件作为可编程逻辑器件软件故障树的顶事件进 行分析 13
GB/T37691一2019 可编程逻辑器件软件需求规格说明等文档中提出要求等 A.3.2.3底事件的确定 在故障树最底层的底事件是导致顶事件发生的根本原因 可编程逻辑器件软件故障树分析的目的 就是要采取措施避免底事件的发生,从而降低顶事件的发生概率 有些底事件可以独立地引发顶事件 有些底事件按照一定的逻辑关系共同引发顶事件 可编程逻辑器件软件故障树的建立可以伴随眷可编程逻辑器件软件开发过程而逐步深人 在可编 程逻辑器件软件需求分析时,可以利用故障树分析可编程逻辑器件软件需求中可能导致顶事件发生的 原因,即需求的不完善之处 随着开发过程的深人,可以通过对可编程逻辑器件软件设计的进一步分 析,对可编程逻辑器件软件故障树加以扩展,直至最底层的可编程逻辑器件软件单元,甚至可以分析到 可编程逻辑器件软件代码语句级 A.3.3可编程逻辑器件软件故障树的定性分析 可编程逻辑器件软件故障树定性分析的目的为找出关键性的导致顶事件发生的原因,指导可编程 逻辑器件软件安全性设计以及可编程逻辑器件软件测试,从而提高可编程逻辑器件软件的安全性 可 缩程逻辑器件软件故障树定性分析的常用方法是识则所有最小烟集,井对最小制集进行定性比较,对最 小割集及底事件的重要性进行排序 割集是指能引起顶事件发生的底事件的辈合,最小割集是指不包含任何冗余因素的割集 如果去 掉最小割集中的任何事件或条件,它就不再成为割集 最小割集的求解方法通常是;遇到“与门”增加割 集的阶数(割集所含底事件数目),遇到“或门”增加割集的个数 下面以图A.3所示的故障树为例,说 明进行最小割集求解的方法 顶事件(T 图A.3故障树定性分析示例 根据最小割集求解规则,其分析过程见表A.3 14
GB/37691一2019 表A.3最小割集求解过程 步骤 G G X,X X,X X,X X,X G X X X X 过程 G G X,X,G X,X.,X G,G X,X.,X 由表A.3最后得出的割集有{X,X,、{X、X.,X,,X及x,X;,X, 根据最小割集的定义 可得最小割集有3个:(Xi,X)、IX}和Xi,X.,X.} 对最小割集进行定性比较,宜根据最小割集所包 含的底事件数目(阶数)排序,在各底事件发生概率比较小,其差别不大的条件下,宜遵循以下原则 阶数越小的最小割集越重要; a 低阶最小割集所包含的底事件比高阶最小割集所包含的底事件重要; b 在不同的最小割集中重复出现次数越多的底事件越重要 c 在上面的例子中,(X;}是最重要的最小割集,X是最重要的底事件 A.3.4可编程逻辑器件软件故障树的定量分析 可编程逻辑器件软件故障树定量分析的目的为计算或估算故障树顶事件发生的概率 故障树顶事 件发生概率可由最小割集的集合来确定,即一次取出一个割集的慨率和,减去一次取出两个割集的交集 的概率和.加上一次取出三个割集的交集的概率和依此类推 注:应用FTA时,由于定量分析需要知道每个底事件的发生概率,这在实际应用中往往难以做到 而可编程逻辑 器件软件故障树分析的重点在于定性分析,而不是定量分析 可编程逻辑器件软件故障树分析的最重要意义 在于,根据分析的结果找出关键性的安全事故发生的原因,指导可编程逻辑器件软件安全性设计以及可编程逻 辑器件软件测试,从而提高可编程逻辑器件软件的安全性, A.4可编程逻辑器件软件BDA A.4.1概述 可编程逻辑器件软件FMEA与可编程逻辑器件软件FTA两种技术在单独应用进行可编程逻辑器 件软件安全性分析时各有其不足;可编程逻辑器件软件FMEA是一种自底而上的单因素故障分析方 法,无法完善的表达故障原因之间的各种逻辑关系 此外,其分析结果以表格方式列出,不如故障树的 图形化表达方式直观 可编程逻辑器件软件FTA是一种自顶而下依照树状结构倒推故障原因的方 法,选取顶事件时,可能会遗漏潜在的顶层故障事件,有时候这种影响是关键的 另外,可编程逻辑器件 软件FTA在分析故障原因时也会有所遗漏,这会影响到底事件的重要度排序,从而影响实施改进措施 时轻重缓急的判断 树形结构在描述分析 结果方面不如FMEA信息详尽 将这两种分析方法综合应用,形成可编程逻辑器件软件FMEA和可编程逻辑器件软件FTA相结 合的可编程逻辑器件软件BDA,可以起到优势互补的作用 根据可编程逻辑器件软件FMEA与可编程逻辑器件软件FTA综合分析的方向,可将其分为正向 综合分析和逆向综合分析两类 正向综合分析是以可编程逻辑器件软件FMEA方法为主,辅以可编程 逻辑器件软件F:TA;而逆向综合分析则正相反,以可编程逻辑器件软件FTA方法为主,辅以可编程逻 辑器件软件FMEA A.4.2正向分析方法 可编程逻辑器件软件FMEA与FTA正向综合分析原理见图A.4 从分析对象的故障模式出发 15
GB/T37691一2019 先由可编程逻辑器件软件FMEA分析得到顶层故障影响及其严酷度类别,故障影响可作为可编程逻辑 器件软件FTA顶事件的来源,并可根据严酷度类别确定FTA的分析优先级 也可以分析对象的故障 模式作为中间事件,进行可编程逻辑器件软件FTA向下分析故障原因 这样,在可编程逻辑器件软件 FMEA基础上,补充使用故障树分析故障原因,以树形结构图可以更加直观地表达各故障原因之间的 逻辑关系,使故障原因的分析更加彻底 FMEA 故障模式 故障原因 故障影响 严酷度 改进措施 顶事件 故障原因及 中间事件 其逻辑芙系 FTA分析的 优先次序 底事件 FTA 完善改进措施 最小割集 说明 在FMEA阶段填写 需要结合FTA进行补充 图A.4正向综合分析方法原理图 对比单一的可编程逻辑器件软件FMEA技术,这种以可编程逻辑器件软件FTA为补充的综合分 析方法可以更全面直观地分析故障原因,从而在制定改进措施时,能够考虑到多点故障的逻辑关联,提 出更为合理的改进建议 例如,对于单点故障需要 -改进,而对于以与门连接的多点故障,只需要选 取其中一点改进即可 另外,如果分析过程受到时间和资源的限制,需要适当裁剪,突出重点,对所有故 障影响进行可编程逻辑器件软件FTA显然不现实 通常,根据故障影响的严酷度高低排序决定实施 可编程逻辑器件软件F:TA的优先次序,同时,改进措施的制定也可以此为依据 由此,综合分析方法 可以根据工程需要灵活的放大或缩小实施的工作量 可编程逻辑器件软件FMEA与FTA正向综合分析的实施步骤如下: 对所选定的分析对象进行可编程逻辑器件软件FMEA aa b 选取严酷度等级高的故障影响作为顶事件进行可编程逻辑器件软件FTA,对关键的故障影响 进行更加深人全面的原因分析; 或者选取故障模式作为中间事件,进行可编程逻辑器件软件FTA,分析对应故障模式的故障 原因; d 根据可编程逻辑器件软件FTA得出的故障原因及其逻辑关系补充完善可编程逻辑器件软件 FMEA表格,从而制定更为合理的改进措施 16
GB/37691一2019 A.4.3逆向综合分析 可编程逻辑器件软件FMEA与FTA逆向综合分析的原理见图A.5,该方法以可编程逻辑器件软 件FTA为主,由可编程逻辑器件软件FTA识别出导致顶事件发生的根本原因,即底事件,并进行定性 定量分析 在此基础上,选取重要的底事件作为分析对象,对其进行可编程逻辑器件软件FMEA,逐步 向上分析可能导致的故障影响 FTA 收集顶事件,如:文 补充底事件的淋在影向 建立新的故阳树分听 档中安全性娶求、关 健功能 选取顶事件 顶事件 否 故障线索是否存在 中间事件 FMEA 验证故障 线家 故障影响 故障模式 严酷度 重要底 事件 底事件 底事件 最小割集 改进措施 补充改进施 说明 在FMEA阶段填写 图A.5逆向综合分析方法原理图 对比单一的可编程逻辑器件软件FTA技术,补充进行的可编程逻辑器件软件FMEA能够验证故 障线索,即由底事件导致顶事件发生的故障影响传递路径 另一方面,通过可编程逻辑器件软件 FMEA可能识别出新的潜在故障影响,可增加故障树的顶事件,建立新树进行分析 可编程逻辑器件软件FMEA与FTA逆向综合分析的实施步骤如下 根据可编程逻辑器件软件FTA实施步骤选取故障树的顶事件,建立故障树并进行定性定量 分析; 根据定性分析结果,选取重要的底事件进行可编程逻辑器件软件FMEA b 根据可编程逻辑器件软件FMEA的分析结果修正故障树,补充完善改进措施; c 17
GB/T37691一2019 如果由可编程逻辑器件软件FMEA得到的新的顶层故障影响,其严酷度等级较高,则需要以 d 此作为顶事件建立一棵新的故障树进行分析,识别出导致该顶事件的所有可能原因,并制定 相应的改进措施 A.4.4通信类可编程逻辑器件软件安全性分析实例 为确保安全性分析的完整性,需要对影响可编程逻辑器件软件安全性的关键事件进行重点分析,选 用适合可编程逻辑器件软件FMEA与FTA逆向综合分析的方法;先进行FTA,由FTA识别出导致串 口通信故障的根本原因,即底事件 在此基础上,选取这些底事件作为分析对象,对其进行FMEA,向 上分析其可能导致的故障影响 选取“串口通信异常”作为可编程逻辑器件软件故障树的顶事件进行分析 根据串口通信异常的故 障机理,可以分析出导致串口通信异常的直接原因为:可编程逻辑器件串口接收功能模块异常、串口芯 片异常或串口输人管脚异常 将它们作为中间事件,继续向下分析,直至识别出导致故障的根本原因为 止,得到的故障树见图A.6 串口通信异常 FPGA串口 接收功他 串口芯片 串口输入 模块异常 异常 管脚异常 校验位未判 串口数据未 起始位判 串口接收波 断或校验错 作抗干扰处 新不理 输入管脚被 特率异常 输入忙脚被 误 理 拉为常高 拉为常低 起始位在 起始位判断 判斯电平时 未投置一定 未对停止位 的容错 进行判断 图A.6串口通信异常故障树 在对串口通信异常的故障树分析中,得到8个最小割集,分别是:串口数据未作抗干扰处理、 串口接收波特率异常、起始位判断未设置一定的容错、起始位在判断电平时未对停止位进行 判断)、校验位未判断或校验错误、串口芯片异常、输人管脚被拉为常高、输人管脚被拉 为常低),并且均为一阶最小割集,由于它们的故障都将导致顶事件“串口通信异常",所以有必要对它 们进行FMEA作进一步分析,以识别可能造成的其他影响 完成的可编程逻辑器件软件FMEA表格 见表A.4 18
GB/37691一2019 表A.4串口通信异常FMEA表 故障影响 单元 功能 故障模式 故障原因 严酷度 局部影响 最终影响 串口输人端被拉为常高 无串口数据 通信无响应 串口数据为常值 串口输人端被拉为常低 通信任务失败 未接收到有 效串口数据 未对接收串口数据未 串口数据无效 通信响应错误 进行抗干扰处理 部分有效数起始位判断太严格,未 丢失有效串 通信响应延迟 实现串 设置一定的容错 或无响应 据丢失 口数据 U1串口 口数据 接收波特率不在协议要 接收到错误的串 通信响应错误 接收 求范围内 口数据 或无响应 接收到错误的未对校验位进行判断或 接收到错误的串 通信响应错误或 串口数据 校验错误 口数据 无响应 当起始位是判断电平时, 接收到错误的 通信响应错误 串口数据 或无响应 未对停止位进行判断 通过对底事件进一步进行可编程逻辑器件软件FMEA,不仅验证F:TA中的故障线索(串口通信异 常),而且识别出对系统可能导致的其他影响,即导致通信响应错误或无响应等 需要说明的是,在上面 的FMEA表中,未确定故障影响的严酷度等级,是因为考虑到串口通信故障对系统影响的严重程度很 大程度上取决于串口通信模块本身的安全性关键等级,不同安全性关键等级的串口通信模块发生的故 障对系统造成的影响严酷度是不同的,需要在不同系统中具体分析 将可编程逻辑器件软件FTA结果中的重要底事件作为可编程逻辑器件软件FMEA的分析对象, 分析出其所有可能的故障模式,并分析其产生的故障影响,不仅使FTA中的故障线索得到验证,同时 也识别出对系统可能造成的其他影响,使这些重要的底事件得到进一步深人的分析,避免该故障影响的 发生,从而提高系统的安全性

可编程逻辑器件软件安全性设计指南GB/T37691-2019

一、什么是可编程逻辑器件(PLD)?

可编程逻辑器件(Programmable Logic Device,简称PLD)是一种可以自由编程、实现特定功能的集成电路芯片。

二、可编程逻辑器件软件安全性设计指南GB/T37691-2019

可编程逻辑器件软件安全性设计指南GB/T37691-2019是中国国家标准,包括了以下内容:

  • 软件开发流程:根据不同的应用需求,采取不同的软件开发流程,从而保障软件质量。
  • 嵌入式软件安全性设计:对PLD中的嵌入式软件进行分析和设计,保证其能够正常运行。
  • 漏洞挖掘:通过对PLD软件进行漏洞挖掘,发现和修复其中的安全漏洞,提高软件的安全性。
  • 软件测试:通过大量的测试,保证软件的质量和稳定性。

三、可编程逻辑器件软件安全性设计的实践

为了保证可编程逻辑器件软件的安全性,需要采取以下实践措施:

  • 选择合适的软件开发流程;
  • 根据应用需求进行嵌入式软件安全性设计;
  • 建立完善的软件漏洞挖掘机制;
  • 进行充分的软件测试。

四、如何保证可编程逻辑器件软件的安全性?

为了保证可编程逻辑器件软件的安全性,需要采取以下措施:

  • 严格遵守相关安全标准和规范;
  • 选择合适的软件开发工具和方法;
  • 进行充分的安全测试和评估;
  • 加强对PLD软件操作人员的培训和管理。

五、结论

可编程逻辑器件(PLD)是一种重要的数字电路元件,其软件安全性设计十分关键。遵守GB/T37691-2019标准,并采取各种实践措施,可以保障可编程逻辑器件软件的安全性和稳定性,保证其在各种应用场景中的正常运行。

和可编程逻辑器件软件安全性设计指南类似的标准

自动导引车(AGV)在危险生产环境应用的安全规范
上一篇 本文分享国家标准自动导引车(AGV)在危险生产环境应用的安全规范的全文阅读和高清PDF的下载,自动导引车(AGV)在危险生产环境应用的安全规范的编号:GB/T37669-2019。自动导引车(AGV)在危险生产环境应用的安全规范共有18页,发布于2020-03-01
信息技术流式文档互操作性的度量
本文分享国家标准信息技术流式文档互操作性的度量的全文阅读和高清PDF的下载,信息技术流式文档互操作性的度量的编号:GB/T37688-2019。信息技术流式文档互操作性的度量共有13页,发布于2020-03-01 下一篇
相关推荐