riple

Stay Hungry, Stay Foolish.

海外捉虫记—如梦初醒

从10.12出发,到11.02返回,紧张忙碌的三周过去了。回到家中,第一眼看到的就是LP大人兴奋的笑脸,一身的疲惫就全消散了。回首这三周,感觉如同在梦中一样。去时,用4个小时穿越了地球的影子;回来时,被黑夜追赶着飞行了12个小时。去时,周日出发、周日到,赚了一天;

海外捉虫记—DSE能否覆盖所有设计空间

FPGA的布局布线就像PCB一样,好的布局不但能够提高布通率,系统的时序也更容易收敛。不同于PCB设计之处在于,FPGA的布局布线很难手工操作。虽然可以用Logiclock约束一下大致的布局位置,但是绝大多数布局工作还是要依靠EDA工具的计算和权衡。(Logiclock的作用更多在于

海外捉虫记—我们都在路上

我们和美国工程师最大的差距就是经验。他们电子开发的历史比我们悠久了许多。在国内有15年经验的电子工程师很是稀少;在我们一起工作的美国同事中,从事软件和硬件的工程师大都具有10年以上的工作经验。他们的年龄构成成枣核式分布,我们的年龄构成成正梯形分布。他们有

海外捉虫记—测试环境必须稳定

要想得到稳定的、可重现的测试结果,测试环境一定要稳定。这样才能事半功倍。今天看Kevin做测试,十分钟搞定我一个上午的工作。测试仪器和被测设备的物理关系一定要尽可能的稳定。如果可能的话,最好不要移动,最好不要改动连接方式,最好不要关机(“烤机”

海外捉虫记—捕获控制通路trace的好方法

在集成测试阶段,发现的许多bug并不是硬件本身的,其实是软件的配置错误。要么是地址有误,要么是取值错误,再就是配置的先后顺序和时机有误。确认和定位这类问题的方法有四种:1.检查调试程序向串口输出的打印信息。2.通过和已知正确的简单脚本程序进行结果比较,如果

海外捉虫记—如何解决license冲突问题

我们一个组的人,只有一个浮动license,这是节省成本的好方法。但是经常会出现因为license冲突导致的编译失败问题。由于编译时间较长,往往启动编译程序后人就走开干别的事情去了。几十分钟之后回来,发现要么是AnalysisandSynthesis失败,要么就是Assembler失败。在Qua

海外捉虫记—前紧后松,给设计留些缓冲

昨天和同事讨论才知道,我们的系统只要跑到185MHz就可以达到线速。一直以来,我们都是以200MHz作为时序收敛的目标的。最近的多次编译,这个目标常常不能达到。同事说,现在偶尔不收敛没关系,只要最终产品能收敛到185MHz就可以了。我们一直以来努力实现的目标,原来是蛮

海外捉虫记—己之所欲,请施于人

在美国,即使是旅馆的前台和商店的店员和顾客打招呼都用Howareyou!这在我们初中的教科书上,是熟人之间见面打招呼的方式。Hello,只是用于提起别人的注意,其实是不那么文雅的。每晚加班回去,搭乘同事的车,下车后同事都会说Goodnight!向别人说晚安,一定会得到别人同

海外捉虫记—别急于点头

我有一个坏习惯,听别人说英语的时候,一旦听懂了一点,就急着点头。这样有两点坏处:1.别人会以为我听懂了全部,不会试图进一步解释给我听。2.如果讨论的是技术问题给别人的印象会是不耐烦。其实,我完全用不着这么急于表示我已经听懂了。我不急于点头,给自己和

海外捉虫记—如何追踪硬件版本

进入到集成测试阶段,硬件版本更新很快,每一个bugfix都需要发布一个新的版本。我们不能等到多个bug解决后才发布版本,这样软件工程师就要停工了。为了和软件工程师协调一致,确认问题的所在,需要在硬件中加入版本追踪信息。在硬件寄存器中加入版本追踪信息并不难。难

海外捉虫记—什么时候做得少,说得多

跟我一起来的同事这次感慨很多:上一次他来的时候,可没有工作得这么辛苦,那时整天就是开会。我是在项目的后半程才参与进来的,所以还体会不到。项目开发的需求分析和任务划分阶段,是做得少、说得多的阶段。等说清楚了,自然就该做了。

海外捉虫记—HW需要培训SW

对于硬件寄存器的操作流程,要么硬件工程师给出程序流程图或者是伪代码,要么就需要硬件工程师给软件工程师进行培训。不采用这种方法,既浪费软件工程师的时间,反过来也浪费硬件工程师的时间。

海外捉虫记—Bugzilla怎么用

就像要精通版本控制工具一样,FPGA工程师也要精通Bugzilla的使用。Bugzilla是设计工程师和测试工程师交流的工具。Bugzilla不能直接解决bug,但是在长期看来,却能够有效地追踪和总结bug,既可以防止bug丢失,也可以防止重复解决同一个bug。总之,好脑子不如烂笔头。用一

海外捉虫记—硬件工程师应该参与软件集成测试的计划工作

经常会接到SW给出的意想不到的bug。常常有措手不及的感觉,被动不说,还耽误时间,因为一个预先没有预料到的bug常常需要设计新的测试向量。为什么会这样,因为硬件工程师没能参与到软件集成测试的规划工作中去。哪怕不提意见,仅仅是旁听,硬件工程师也能从这样的会议中

海外捉虫记—集成测试中产生的硬件开发工作量

按理来说,进入到SW集成测试时,HW不应该再有开发的工作,只应该有debugging的工作。在集成测试中,有如下两个因素会导致HW引入额外的开发工作:1.SW提出的新需求,或者是SW和HW在设计前期对用户需求理解的差异。2.不恰当的架构设计,或者是不恰当的软硬件功能划分。