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

下载本文档

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

文档简介

1、密 级:部公开 文档编号:(文控补充) 代码审查 文件状态: 文件标识: 草稿 当前版本: 正式发布 作者: 董扬辉 正在修改 完成日期: 2015-11-5 怡化金融设备工程中心对本文件资料享受著作权及其它专隔权利,未经书面许可,不得将该等文件资斛(其 全部或任何部分)披霍予任何第三方,或进行侈改后使用。 版本变更记录表 版本 作者 修改日期 修改容 备注(审查围) 1.0 董扬辉 2015/11/19 編写容 2015.7. 1-2015. 11.20 WORD专业. 目录 1 概述2 1. 1.测试对象2 1.2 .测试目的2 1.3. 测试流程2 1.4. 代码的工具测试和人工检查2

2、2. 代码审查结果统计3 2.1. 风险等级3 2. 2.代码审查结果3 2. 3.代码审查详解3 1. 概述 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.代码审查结果 功

3、能实现;可读性还需加强;代码风格还需修改。 2. 3.代码审查详解 2. 3.1寄存器定义不当 reg reg reg reg reg 7:0 :O 3:0 RxDO RxDl rsr = 8 bO rbr = 8 fb0; no_bits_rcvd 41bO lTbO ;_ 10; FPGA在上电时全局复位时钟将会实现寄存器定义时的值。但是这种做法并不值得推荐, 我们需要每个寄存器进行局部复位。即在每个块语句复位逻辑中赋初值。详见WP272 (vl.O. 1) March 7, 2008 - Get Smart About Reset:Think Localt Not Global 2. 3

4、.2不在if语句中进行过多运算 if(OverSampleCntOverSampleCntnum 1) BaudlGTick = 11 bl; else Baucil6Tick lvbO; 在判断语句中尽量不要做运算,简单的加减法可以适当便用。但是如果是比较复杂的除 法则可以将此值定义为参数。否则只会增加资源的浪费。 2. 3.3 initial使用时尽量不使用非阻塞式賦值 initial begin wr addr addr var =16fbOz 16fb0; min result max res max res rd_en rd_addr -IdO, 16fb0; addr tmp rd

5、 rdy /always (posedge elk)/无法抓到半个时钟周期的脉冲作为蝕发信号 5 /begin 7/ if(-clken) dlzd2 = lrb2,lbz; 1 / else一dl,d2 = fflrdl; )/end clk_en :- 1bO; ch_flag J (clk_cnt Jd3) dat_rx_tmpl 1; 2.4.1闪退 assign ori ch1 32 1:0*32 =ori chi z ori ch 2 T2 1:1*32 orich2 ,1.6dO , ori ch3 32 1:2*32 (ori_ch3 16fd0 z ori ch4 32 1:

6、3*32 ori_ch4 , 160: z ori ch5 32-1:4*32 ori_ch5 zdOf ori ch6T32-l:5*32 ori_ch6 z 160?, ori ch7 32 1:6*32 ori_ch7 , ISMO, ori ch8 32-1:7*32 ori_ch8 ori ch9 32-1:8*32 orich9 16dO ori ch1032-l:9*32 =ori chl0z16* dO ; orich1132-1:10*32 =ori chll UdO , ori_ch12*32-1:11*32 =ori chl2,16*dO; / Combinatorial

7、 Logic of STATE always (posedge elk) =1 begin 同一 assign寿g个分号会导致闪退。 2. 4.2多个XDC约束规则 多个XDC约束规则 第一个约束文件优先读取,然后依次读取。 2. 4.3 XDC语法问题 9 set_property IOSTANDARD LVCMOS33 get_ports thi_sclk c|set_property PACKAGE_PIN N18 get_ports chi_cs_n 1 set_property iostandard LVCMOS33 get_p二丄丄cs n 2 set_property EACKA

8、GE_PIN J15 get_po工ts thi_channel_cs Cl 2_uq十 vxt- w TCUFHUnAD,_TJVCMCU Q Q ro4- rc xf u f 片卜? cb 二 c 八厶 1 语法错误会导致后面的管脚约束全部无效,在synthetic期间导致所在的模块全部被优 化。 2. 4.4编译问题 get drc checks NSTDT get drc_checks RTSTAT-1 get drc_checks UCIO-1 set property SEVERITY Warning) set property SEVERITY Warn ing) set property SEVERITY Warning) 在使用强制drc报警告情况下,一些意想不到被优化的模块相关的错误报告会转化为警告, 导致有时无法查到具体哪个模块在什么期间被优化。 建议在约束文件没有任何问题的情况下使用错误强制转换为警告。 2.4.5编译问题 2

温馨提示

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

评论

0/150

提交评论