代码审查记录.doc_第1页
代码审查记录.doc_第2页
代码审查记录.doc_第3页
代码审查记录.doc_第4页
代码审查记录.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密 级:内部公开文档编号:*-*-*(文控补充)代码审查 文件状态: 草稿 正式发布 正在修改文件标识:当前版本:作 者:董扬辉完成日期:2015-11-5-怡化金融设备工程中心对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。版本变更记录表 版本作者修改日期修改内容备注(审查范围)1.0董扬辉2015/11/19编写内容2015.7.1-2015.11.20目录1. 概述21.1. 测试对象21.2. 测试目的31.3. 测试流程31.4. 代码的工具测试和人工检查32. 代码审查结果统计32.1. 风险等级32.2. 代码审查结果32.3. 代码审查详解41. 概述1.1. 测试对象由董扬辉所编写的所有代码。时间节点为2015年7月1日至2015年11月20日。 1.2. 测试目的规范代码风格,不断提高代码质量。包括:(1) 代码的风险评估和警告审计; (2) 代码的鲁棒性和可复用性评估;(3) 代码的易读性和可维护性;(4) 代码风格的统一;1.3. 测试流程1.4. 代码的工具测试和人工检查(1) ISE 编译环境或Codifferous (2) 资深专家 2. 代码审查结果统计2.1. 风险等级一般2.2. 代码审查结果功能实现;可读性还需加强;代码风格还需修改。2.3. 代码审查详解2.3.1 寄存器定义不当FPGA在上电时全局复位时钟将会实现寄存器定义时的值。但是这种做法并不值得推荐,我们需要每个寄存器进行局部复位。即在每个块语句复位逻辑中赋初值。详见WP272 (v1.0.1) March 7, 2008 - .2.3.2 不在if语句中进行过多运算在判断语句中尽量不要做运算,简单的加减法可以适当使用。但是如果是比较复杂的除法则可以将此值定义为参数。否则只会增加资源的浪费。2.3.3 initial 使用时尽量不使用非阻塞式赋值在实际XST中intial使用非阻塞时赋值是可以正常编译和使用。但是在假如initial块中的和always块的复位中对同一寄存器操作不同的值,并且都是采用非阻塞式赋值时modelsim就会报错。所以想要用initial时需采用阻塞式赋值方法立即赋值。在有复位的条件下尽量不要使用initial。若是有状态机可以加initial块初始化状态机保证在无复位或复位失败的情况下保证状态机初始状态。2.3.4 不使用状态机作为判断条件原因:资深专家如是说,暂不明。2.3.5 状态机不能出现在拼接符中原因:资深专家如是说,暂不明。2.3.6 输出不能作为判断条件因为输出时通常都要用寄存器进行输出,输出时在此时判断可能会造成亚稳态。2.3.7 名称禁用大小写混用多个parameter 可以使用一个代替,每个使用逗号代替。2.3.8 变量位置定义在模块中只要一个always块或例化元件中没有在前一模块中用到。则可以将变量定义到每个块或元件的前面,便于修改。若是在变量存在交叉现象则必须在模块的顶端定义。2.3.9 半主时钟周期信号无法作为触发信号,但能记边沿解决2.4.1 闪退同一assign 有多个分号会导致闪退。2.4.2 多个XDC约束规则多个XDC约束规则第一个约束文件优先读取,然后依次读取。2.4.3 XDC语法问题语法错误会导致 后面的管脚约束全部无效,在synthetic 期间导致所在的模块全部被优化。2.4.4 编译问题set_property SEVERITY Warning get_drc_checks NSTD-1 set_property SEVERITY Warning get_drc_checks RTSTAT-1set_property SEVERITY Warning get_drc_checks UCIO-1 在使用强制drc报警告情况下,一些意想不到被优化的模块相关的错误报告会转化为警告,导致有时无法查到具体哪个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论