当前位置:网站首页>A043:做好芯片设计,这三种能力不可或缺

A043:做好芯片设计,这三种能力不可或缺

2022-08-11 11:43:00 数字积木

一是快速学习。

芯片设计相关工作,有大量的知识和细节信息需要学习,而且是限时学习,快速学习的能力非常关键。

开发一颗芯片,需要广泛研究竞争对手的信息,学习相关行业标准,了解整机应用方案,调研各类供应商【IP,软件】的解决方案。

读文档是绕不过去的基本技能。

每一个竞品芯片的datasheet,行业标准,或者IP手册,都是大几百页,甚至上千页,有着不同的写作套路,需要快速地从这些大部头的文档资料中获取到有用的资料信息,用于设计决策,还是需要认真锻炼的。

拿到一份资料,要先看目录,再看基本介绍,快速了解基本内容概要,然后再针对感兴趣的部分细致阅读。

特别提一点:对于写文档的朋友,尤其是用word写完转pdf的朋友,请记得做好以下细节,会使得你的文档对用户更友好【也显得你比较专业】

1 一定要有页码

2 一定要有章节,并且转换为pdf的标签

做好资料检索非常关键。

要有正确的信息渠道。向真正的专家咨询,从专业的文档找信息,有效利用搜索引擎解决普通的技术问题。

简单说,要找对人,看对书,还有不要懒,多搜索一下,基本都能搞定。然后不断总结,提高获取答案的速度和效率。

怎样问一个好问题?

怎样阅读一本书?

使用搜索引擎的基础技巧?

这些值得花几个小时研究一下,事半功倍。

构建个人系统知识体系是个长期过程。

要记得回顾,总结,输出分享,并且逐步地把外在的知识内化成个人的知识体系结构。

可以搜索一下【个人知识管理】,【个人笔记系统】等关键字,网上这类教程很多的。

很多知识大V的主要领域就是这一块,有很多好的方法和观点值得借鉴。

友情提醒:不要沉迷于工具,也不要沉迷于【学习学习】的过程。还是要立足解决自己的实际问题,没有完美的工具和方法,能解决问题最关键。

二是分析调试。

发现问题,分析问题,解决问题。大学里面都讲过,关键看实际中怎么用。

就拿芯片设计与验证来说吧。

怎样快速发现问题?

采用先进的工具,方法学,还有规范的开发流程,能让问题及早暴露。

写代码的时候,要考虑出错的情况,尽可能【展示】错误而不是隐藏错误。比如,很多verilog的if else条件分支,对于不可能进入的分支,在仿真阶段加入【x】态描述。

先做lint后做仿真,先做仿真后做FPGA,先做cdc和sdc检查再做综合,先写文档再写代码,先做需求调研再做技术开发,每一条都值得深入贯彻。不要把前一阶段能够简单发现的问题,遗留到后一阶段。

怎样全面分析问题?

这里涉及逻辑分析能力,系统思考能力,还有经验,沟通能力。

前端设计中严重依赖eda工具,对于eda工具给出的log信息要认真对待。

log分三种信息,info,warning,error。

info告诉你工具在做什么。要注意检查流程步骤对不对,吃进去的数据版本,路径,文件列表,环境设置对不对。

warning是提示这里可能有问题。要细致检查是不是代码不规范,某个地方有潜在的bug,如果是,抓紧修复,如果不是,想办法做个自动化脚本或者加选项waive相关提示。带着一堆warning跑flow,迟早会出大问题,绝不是危言耸听。

error是好事,最起码指明了问题的大致方向。可以查阅eda工具的error code文档。

怎样从根本上解决问题?

dirty fix真的很dirty,大规模代码重构容易引入完美主义倾向。这两种要注意折中。

打patch很快,容易带来设计冗余。比如加个if else,把一大坨逻辑重写一遍,用开关来控制向后兼容。用的多了,总有一天自己也会掉坑的【各位老司机应该有体会】

从根本上解决问题,要注意【根本】的范围定义。时间,风险,收益,是需要认真决策的,这不是一句空话。

三是高效沟通。

沟通是信息的交互。

借用通信工程系统概念,可以分为信源【发送】,信道【传输】,信宿【接收】。

做一个好的接收机。

我们沟通的目的,主要是为了获取别人的帮助,因此,【听】比【说】更关键。

要注意同频共振,有效提高信噪比,做好接收缓冲区管理,然后才能接收更多更好的信息。

同频共振:你先学好基础知识,才更容易听懂别人高层次的信息。

信噪比:减少情绪化沟通,虚心,空杯,有效筛选。

缓冲区:听了要转化,该用的用,该存的存,该扔的扔。

利用各种形式的沟通渠道。

书面的,口头的,表情的,意会的。

写邮件,是很多大公司的必备技能之一。注:之二是开会,之三是甩锅。

微信拉群,打电话等近身沟通,是小公司的家常便饭。

要注意区分不同沟通方式的时效性,正式性,还有适应范围。

不是每个人都适合随时在微信群里at大老板,但是很多人都会在许多邮件里cc。

开会的事情,我认同这个观点:大会无大事,小会无小事。

看文档就能解决的问题,还非要开会,你要多想想这是为什么呢?

最后,要敢于表现。

大声说出你的观点,哪怕对方不同意。

勇敢展示你的代码,哪怕有很多bug。

努力写好文档PPT,节省别人的时间。

最后,要学会捧场。

网上看到的观点,写的很到位:

最高的沟通境界,就是认真地看着对方吹牛,等着他吹不下去的时候,给他个梯子让他继续吹。

最后,要怎样才能学会和提高这三种能力呢?

【未完待续,记得一键三连】

‧  END  

长按识别图中二维码关注

欢迎关注微信公众号【数字积木】,更精彩的内容等着你!

原网站

版权声明
本文为[数字积木]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_42905573/article/details/113488787