GB/T 37979-2019 可编程逻辑器件软件VHDL编程安全要求

GB/T 37979-2019 可编程逻辑器件软件VHDL编程安全要求
积分0.00
特惠
积分0
VIP全站资料免积分下载
立即下载
同类资料根据编号标题搜索
文档
仅供个人学习
反馈
标准编号:GB/T 37979-2019
文件类型:.pdf
资源大小:1.8M
标准类别:电力标准
资源ID:227819
VIP资源

GB/T 37979-2019标准规范下载简介:

内容预览由机器从pdf转换为word,准确率92%以上,供参考

GB/T 37979-2019 可编程逻辑器件软件VHDL编程安全要求

单向的输出信号不应直接用于驱动同一个模块内部的逻辑,如需使用可采用中间信号的 处理。

GB/T379792019

5.2.3内部信号应避免使用三态逻辑

大部分可编程逻辑器件除端口外内部无三态逻辑资源HG/T 5060-2016 液化天然气(LNG)储罐用防腐涂料,内部信号的三态逻辑无法

GB/T 379792019

5.2.4项层模块宜只进行模块例化

6.2.4项层模块宜只进行模块例化

GB/T379792019

.2.5设计中不应存在多余代码或不可达分支

程序中的多余代码或不可达分支不利于程序的管理和维护,同时影响语句、分支等的

5.2.6设计中不应产生非预期的锁存器

GB/T 379792019

.7设计模块划分应以功能独立性为原则,一个文件宜对应一个设计模块。 .8宜按照不同的设计目标进行模块划分。 设计模块划分应考虑不同设计目标,区分面积敏感和速度敏感的部分,便于给不同模块进行不同 和优化。 9宜将相关的组合逻辑和可以复用的逻辑划分在同一个模块层次中。 将相关的组合逻辑和可以复用的逻辑划分在同一模块层次中,有利于综合工具优化时序关键路 少面积消耗,提高代码可读性

5.2.7设计模块划分应以功能独立性为原则,一个文件宜对应一个设计模块。 5.2.8宜按照不同的设计目标进行模块划分。 设计模块划分应考虑不同设计目标,区分面积敏感和速度敏感的部分.便于给不同模块进

将相关的组合逻辑和可以复用的逻辑划分在同一模块层次中,有利于综合工具优化时序关键路径, 减少面积消耗,提高代码可读性

应保证进程中的敏感列表完整、正确,避免敏感信号多余或缺失。组合逻辑敏感信号列表一般应包 括所有影响进程输出的信号,时序逻辑敏感信号列表一般仅包括时钟和异步复位信号。

5.4.1多位信号、变量定义时应设置位宽

多位信号、变量定义时应设置位宽。

GB/T379792019

4.2避免出现多余的信号

B条件判断表达式中避免使用"?”"X""Z"等状态

GB/T 379792019

5.4.4不应在一个进程中使用多个eventcont

5.5.1信号、变量等自定义短标识符的命名不应与关键字重复

5.5.1信号、变量等自定义短标识符的命名不应与关键字重复

GB/T 379792019

当一个信号跨越多个模块层次时,在不同的层次使用同样的命名有助于提高程序 护性。

信号应在赋值后使用。 信号在使用前应赋值,以保证其使用时具有确定

5.6.1信号应在赋值后使用

GB/T379792019

5.6.2运算符两端信号或参数位宽应相等

运算符两端信号或参数位宽应相等,具体要求如下: a)赋值语句、比较语句、运算语句左右信号或参数长度应该相等; b)在case语句中,case表达式和case条件语句中的信号或参数的长度应该相等 5.6.3常量赋值表达式等号右边应为固定整型值或可计算的固定整型值

a)赋值语句、比较语句、运算语句左右信号或参数长度应该相等; b)在case语句中,case表达式和case条件语句中的信号或参数的长度应该相等 3常量赋值表达式等号右边应为固定整型值或可计算的固定整型值。 设计中所有的常量应具有可计算性,且为固定的整型值,否则被声明或赋值的常量在编译期间无 与计

设计中所有的常量应具有可计算性,且为固定的整型值,否则被声明或赋值的常量在编译期间无法 参与计算

GB/T 379792019

6.6.4不应在整数、实数和无符号整数 间进行陷式转换,会影响程房的可移植性

5.6.4不应在整数、实数和无符号整数之间使用隐式转换

5.6.5避免将有符号数和无符号数混用于同

5.6.5避免将有符号数和无符号数混用于同一运算式

5.6.6同一模块中的单向信号不应有多重驱动

5.6.7相同的信号源应避免驱动同一个寄存器的多个异步信号端。

设计中避免竞争情况,应避免使用同 信号驱动一个寄存器的多个异步端口

为在设计中避免竞争情况,应避 个寄存器的多个异步端口

GB/T379792019

5.6.9不宜使用组合逻辑的输出控制三态门

GB/T 379792019

.7.1用于控制循环终止条件的参数应为常量

5.7.2不应在for循环体内修改循环变量

5.7.3while语句条件表达式不应为常

.7.3while语句条件表达式不应为常量

语句表达式不应为固定营

case语句执行时根据条件数值选择不同分支执行,如果条件表达式为常量则其余分支多

GB/T379792019

6.8.2case语句的分支不应使用变量或者变量表

GB/T 379792019

5.8.4组合逻辑中if语句应包含else分支

组合逻辑中.if语句如缺少clse分支会产生锁

组合逻辑中,if语句如缺少else分支会产生锁有

GB/T379792019

5.8.5不宜在进程中出现空语句

6.8.5不宜在进程中出现空语句

5.8.6多级ifelse语句应重视优先级顺序对性能的影响。

5.8.6多级ifelse语句应重视优先级顺序对性能的影响

级if优先级最高,路径延时也最短。如果存在关键路径的信号,宜结合功能实现将其放在靠

第一级if优先级最高,路径延时也最短。如果存在关键路径的信号,宜结合功能 前的许语句内

GB/T 379792019

.1时钟信号不应再汇聚。 时钟信号再汇聚,即时钟信号经过不同路径后进行组合逻辑处理产生一个信号作为时钟信号,再 路径易导致时钟路径上发生时序冲突

5.9.1时钟信号不应再汇聚

5.9.2时钟信号不应连接到多路选择器的控

时钟信号不应连接到多路选择器的控制端

GB/T379792019

5.9.3不宜使用组合逻辑产生的时钟。

9.4避免使用门控时钟

使用门控时钟易因毛刺引起误触发,产生逻辑错误

GB/T379792019

5.9.5同一进程中应只使用一个时钟

5.9.6对跨时钟域信号应采取同步处理措

GB/T379792019

GB/T 379792019

6.9.7全局时钟宜使用全局时钟布线资源

5.9.8不宜使用行波时钟

行波时钟在行波链上各触发器时钟之间会产生较天的时钟偏移,降低系统的实际速度,并且有口 出最坏情况下的建立时间、保持时间,设计中不宜使用

用前级触发器的输出信号作为后级触发器的时钟信号

图2行波时钟使用电路示意图

9.9在设计中宜使用较少的时钟域,最好只使用一个时钟域。 多时钟域易引起亚稳态、时序分析困难等问题,在设计中宜减少时钟域,最好只使用一个时钟域 9.10时钟信号源不宜驱动不同时钟沿触发的寄存器, 设计中使用时钟信号的两个变化沿,不利于时序分析,不利于时序同步

GB/T379792019

5.9.11避免在时钟路径上插入反相器或缓冲器

GB/T 379792019

NB/T 31010-2019 陆上风电场工程概算定额5.10复位及初始化类

6.10.1不应将寄存器的输出反馈到异步复位(置位)端。

GB/T379792019

JG/T 414-2013 建筑用菱镁装饰板5.10.4寄存器复位端口不应悬空

6.10.4寄存器复位端口不应悬空

.10.5应使用复位/置位操作对寄存器进行初始化, 声明初始化方式对某些器件型号,综合工具是无法综合的。对寄存器的初始化不宜采用声明初始 比方式,应使用复位/置位操作初始化。如存在信号无法通过复位/置位操作初始化,且确认使用的器件 可以声明初始化时,可采用声明初始化方式

©版权声明