IC前端设计bug小结。

bug  review会

近几天公司内部开了个IC设计前端的bug review会议,总结了经常出现的问题,很有意思,特记录一下。


1. 在验证的时候,不仅仅只从RTL角度考虑test case,也应该结合应用场景考虑test case。

      一方面,应用场景提出的要求可以帮助设计者检查自己的设计是否符合能够满足实际需求;

      另一方面,也有助于功能验证的完备性。


2. 同步设计中不允许在sdc约束中加入multicycle或者false path,如果综合出现timing violation则

   可以通过修改设计插入register解决。设置了multicycle或者false path之后,STA工具就不会检查

  这部分同步设计了。如果需要在前仿中加入对multicycle的仿真,可以通过加delay的方式模拟后仿。


3.  在涉及到RAM的设计中,一定要注意在某个时钟周期内部,是否可能会存在同时读/写RAM而造成

     冲突的问题。


4. 在有明显的周期性的处理过程(如多媒体中以帧为单位的处理),在当前周期处理完成或者下个周期开始处理

    之前要有自己回复成原始状态的功能。不能依赖于reset信号回复原始状态。即系统 soft reset是当系统出现问题

    时恢复用的,在正常功能中不应该存在复位行为。


5. 在多媒体的验证中,不能仅仅为了方便验证单帧case。多帧的case也要占到一定的比例。


6. 中断报告的时机。考虑以下场景,假设A要通过fifo向C发数据,只有A真正的将数据全部写入FIFO之后,才能报

    中断给C。这是中断报告的基本原则。以AXI总线写为例,不能仅仅发出最后一笔AXI_WR的command就报中断,准确来说应该等到

    全部BRESP回来再报中断。

    

7. 设计AXI_master写时,要等到一个burst全部数据都准备好(缓存在一个FIFO中)之后才能发出burst write command,这样子数据

   在下一个周期开始发送。这种设计不会由于自身的设计问题拖累AXI BUS的性能。


8. 设计AXI_master读时,要等到有足够的空间能接受全部读的数据(或者随着时间推移,总是保证有足够空间保存数据,而不至于RREADY

   拉低)时,才能发出AXI read burst command。这种设计不会由于自身的设计问题而拖累AXI BUS的性能。


9. 当做UVM验证时,最好不要单纯做黑盒测试。为了测试的完备性,应考虑至少做到灰盒测试。


10. 写sdc文件时,一定要保证每一条约束都是有明确目的的,一定要在完全清楚该约束的含义及可能导致的后果的前提下,才能写该约束。因为

     sdc设置问题而导致的芯片bug会很严重,且难于验证出来。


11. 一般来说,软件给硬件分配的空间是地址对齐的。但是由于硬件多以32bit为基准操作,所以硬件多是以word对齐的。这样在驱动端就会导致软硬件

     对齐方式的不一致。直接后果是:驱动为了匹配二者,从而徒劳的做一次数据搬运,而且可能会占用一个静态数组,导致该空间被永久占用。


that is all。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端bug每次都比后端多可能的原因有以下几点: 1. 前端开发难度相对较低:相比于后端开发,前端开发的技术门槛相对较低。前端开发主要使用HTML、CSS和JavaScript这些基础的Web技术,相比于后端开发需要掌握的编程语言和数据库操作等更多的知识,前端开发相对容易入门。因此,在团队中,可能有更多的人从事前端开发,从而使前端bug数量相对较多。 2. 复杂的浏览器兼容性问题:前端开发需要兼顾各种不同的浏览器和平台,不同的浏览器对于同一份代码的解释和渲染可能存在差异,这就导致了在前端开发过程中需要处理各种各样的兼容性问题。而后端开发则相对独立于浏览器环境,更偏向于服务器端的逻辑处理,所以遇到的兼容性问题相对较少。 3. 客户需求和设计变更频繁:在前端开发过程中,客户的需求和设计往往比较灵活和变化频繁。由于前端开发涉及到用户界面和用户体验的呈现,所以在需求和设计的变化下往往需要频繁进行调整和修改,这就为前端引入了更多的bug的可能性。 4. 缺乏严格的自动化测试:相比于后端开发,前端开发在测试方面相对薄弱。由于前端涉及到交互和视觉效果,很多bug需要通过人工的方式进行测试和验证。而后端开发往往可以通过严格的自动化测试来检测和排查潜在的问题,减少bug的出现。 因此,前端bug每次都比后端多可能是因为前端开发相对容易入门、面临复杂的浏览器兼容性问题、客户需求和设计变更频繁以及缺乏严格的自动化测试等多个因素的综合结果。为了减少前端bug的数量,团队中可以加强前端开发人员的培训和技术提升,加强与设计和需求方的沟通和协作,加强前端自动化测试等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值