数字电路设计的一些看法
时间:10-02
整理:3721RD
点击:
不知大家是否有兴趣可以听我啰嗦几句。
做数字设计也一年了,实战了几个模块和项目。有些感触想和大家分享一下。
我觉得如果做数字设计可以从以下几个方面考量一下自己的发展方向和补充自己的知识结构。
1、逻辑设计能力
2、软件使用能力
3、脚本编写能力
4、逻辑验证能力
以下稍做解释:
1、逻辑设计能力是指利用verilog编写代码的能力,编写代码本身并不是很难,难的是需要在编写代码以前将系统的结构切分清楚。时序切分清楚。这些切分工作可能直接影响到后面的综合以及布局布线等等。还会对后面的验证带来巨大的影响。
2、EDA软件无疑在设计中扮演着重要的角色,但是如果只学习软件估计要想精进很难,在学习软件时需要知道,软件是用来解决设计中出现的问题的。如果从设计中来学习软件来理解软件估计要容易些也会更深刻些。
3、之所以把脚本编写也列入一条是因为,如果在设计中不能很好的使用脚本将会浪费很多时间在重复的点击鼠标上,这种是很浪费的一种做法。比如前一段时间我们公司同事在做形式验证时需要做选择多个寄存器来做比对,这项工作需要大概半天时间,而且每次修改后都需再做一次,后来我写了一个小脚本,这项工作变为大概两三分钟即可搞定的事情了。(注:这不是卖弄自己,只是想借此例给大家以建议)
4、后来要说重中之重的事了,验证无疑已经成为各个公司在设计芯片时的一个瓶颈了,特别是在规模越来越大的时候,每个公司花在验证中的人力物力都在70%以上,而芯片不能first cut work的主要原因就是function验证不完全所导致的,这也是目前业界的一个热点。如何能快速的做到高function coverage是一件很难的事情。如何切分block level的验证和system level的验证都不容易。验证的重点不是使用那种语言,当然目前的验证语言对于加快验证速度有一定的帮助。验证的重点是验证的方法学和验证方案的设计。各个EDA公司都有推自己的验证方法学,其实大同小异拉。个人觉得都差不多。可以都看看。
好了啰嗦了不少,先写到这里吧。大家有兴趣我有时间再写点。
做数字设计也一年了,实战了几个模块和项目。有些感触想和大家分享一下。
我觉得如果做数字设计可以从以下几个方面考量一下自己的发展方向和补充自己的知识结构。
1、逻辑设计能力
2、软件使用能力
3、脚本编写能力
4、逻辑验证能力
以下稍做解释:
1、逻辑设计能力是指利用verilog编写代码的能力,编写代码本身并不是很难,难的是需要在编写代码以前将系统的结构切分清楚。时序切分清楚。这些切分工作可能直接影响到后面的综合以及布局布线等等。还会对后面的验证带来巨大的影响。
2、EDA软件无疑在设计中扮演着重要的角色,但是如果只学习软件估计要想精进很难,在学习软件时需要知道,软件是用来解决设计中出现的问题的。如果从设计中来学习软件来理解软件估计要容易些也会更深刻些。
3、之所以把脚本编写也列入一条是因为,如果在设计中不能很好的使用脚本将会浪费很多时间在重复的点击鼠标上,这种是很浪费的一种做法。比如前一段时间我们公司同事在做形式验证时需要做选择多个寄存器来做比对,这项工作需要大概半天时间,而且每次修改后都需再做一次,后来我写了一个小脚本,这项工作变为大概两三分钟即可搞定的事情了。(注:这不是卖弄自己,只是想借此例给大家以建议)
4、后来要说重中之重的事了,验证无疑已经成为各个公司在设计芯片时的一个瓶颈了,特别是在规模越来越大的时候,每个公司花在验证中的人力物力都在70%以上,而芯片不能first cut work的主要原因就是function验证不完全所导致的,这也是目前业界的一个热点。如何能快速的做到高function coverage是一件很难的事情。如何切分block level的验证和system level的验证都不容易。验证的重点不是使用那种语言,当然目前的验证语言对于加快验证速度有一定的帮助。验证的重点是验证的方法学和验证方案的设计。各个EDA公司都有推自己的验证方法学,其实大同小异拉。个人觉得都差不多。可以都看看。
好了啰嗦了不少,先写到这里吧。大家有兴趣我有时间再写点。
说的很是实在!
說得實在!
很受用,你的用心我深感認同,謝謝你提供好東西
受教了
确实很实在,我就是做验证,人很多
是的啊公司今年招了N多做验证的人
深有体会
一年就能总结成这样,小编很会思考,看好你。
不过对大多数公司来说,很少会让你cover这么多阶段,如果有空,小编可以再总结一点儿有实战特色的案例,这样能引发更多有益讨论。
小奖鼓励一下。
相信你现在设计水平更高了吧。