1. 狂干的时候,每几个星期停下来思考:看自己干的东西是不是组里或者公司里的top priority work,或者至少也要确保自己干的东西对组和公司有影响力的。也就是说:不要为了忙碌而忙碌,或者说不要干伪工作(pseudo work);
2. Be open and friendly:把自己做的东西visualize给整个组,让大家知道你负责这块;同时把总结出来的好的经验积极地share给组里的其他人;组里的人有相关问题时,你要积极帮助。这样逐渐地,你会变成这一方面的 “go-to person”,大家碰到这方面问题,第一时间想到的是来询问你的意见。这个时候你就快要成功了。
3. Be responsible and bold:认真,负责,遇到困难问题不怯场,可以死磕到底,将其完成!具体说来就是:“别人或者manager把任务给你,你肯定在答应的时间内给他们一个交待;对于容易可行的任务,保质保时间地完成;对于很难的,积极汇报问题和思考各种应对策略。” 打一个简单比方,你要给你们组或者高层一个感觉:一个类似于足球里面的 梅西 或者 篮球场上的 小皇帝詹姆斯 给人的感觉 --- “把球交给它,它不会随便丢球,可以完成稳定传接和得分任务,有时还可以惊艳地表现一笔。” 工作其实和很多运动项目很像。
李开复的自传
(1)KF中学时,一位老师谈到教育的目的:"当学生在几十年后把许多知识都忘光的时候,他所剩下的就是教育的本质了。"
(2)KF在Columbia上本科时,一位哲学老师谈及人生的意义,他说:"想象两个世界,一个有你,一个没有你,你尽量让这两个世界不同,这就是人生的价值。"
IC行业转型
做FPGA久了觉得没意思,感觉数字前端有意思,做了数字前端发现就是一堆IP集成起来做SOC验证,然后又去做IP,IP做久了发现就是拿算法做实现,发现算法核心,又去做算法,做了后其实就是看协议和paper,做性能仿真,其实都是螺丝钉。
数字前端
ASIC前端流程:
Synthesis STA DFT MBIST FM CDC 做到能够从RTL到交付Netlist算是本级别升满
验证初步:
模块级别的验证还是需要做到的,SV,assertion等等
C语言初步:
有想法改算法吗?matlab比较灵活,C的效率比较高
RTL语言仅仅就是Diablo里面女巫的火球。。。是首个技能,但你升到20级也就是个火球。。。当然对别的技能是有加成的哦
其他主要技能是,
算法逻辑设计与IP集成评估:
设计的要求基本要看得懂算法文档做实现,定点化和一些数学基础。特定模块的集成要求一般有相应知识背景,遇到问题能够debug进去。
SoC逻辑设计与IP集成评估:
总线,DMA,或者一些挂在总线上的内部设备
接口模块逻辑设计与IP集成评估:
DDR,HDMI,Tunner,AFE,一些非数字信号或者Phy的接口,通常都会从I2C入手,不要光盯着逻辑哦,也可以看看上拉电阻的阻值是怎么算的么,这块上板调试的时间会比coding时间长的多。。。
Chip Level模块设计:
这个基本每颗芯片都是独特的,也是关键的,涉及到clock gen, pad 复用,power domain控制,测试模式等等一堆很杂但很关键又没有方法学保证的问题