作者:tombkeeper[Base64Decode("dG9tYmtlZXBlckB4Zm9jdXMub3Jn")] 出处: http://hi.baidu.com/tombkeeper 时间:2007.03.25 最近在读《基于FPGA&CPLD的数字IC设计方法》。作者Bob Zeidman是个马伯庸般有趣的人,书中夹了不少业内逸事,写得十分诙谐,且痛快淋漓。不敢独享,谨摘录如下: P57 一个活的文档 ……另外,顺便说一下,不要在公司的会议上管任何人叫白痴,尽管他是真的白痴。这样做会在很长的一段时间里树立一个敌人——一个会以隐蔽的手段采取报复的敌人,拒绝在重要的项目上与你合作,以及由于他的全部过失而责备你。我说的这些全部来自于我的切身体验。 P60 一个与试验有关的恐怖故事 如果你是一个容易受到惊吓的人,就别再往下看了。几年以前,我应招进入一家刚开张的设计医用成像设备的小公司。公司的创始人——一个工程师,被投资者给解雇了。 …… ……软件工程师告诉我,新来的公司副总裁已经改变了所有工作次序安排,测试程序已被放到了计划表的最后。 我跑到副总裁办公室去讨一个说法。他解释说,能否获得下一轮的投资就要看我们的系统能否在贝塔测试环境中立住脚。如果我们有一个能工作的系统放在一家医院里,那么我们就能获得资金,以保持公司的发展;否则公司将被挤出商业圈。我问道:“如果我们不能测试硬件,如何使系统工作?如果我们把一个能工作的系统放到贝塔测试环境里,岂不是比放一个不能工作的系统在那里更好?”他告诉我,他对我的能力是如此地信任,以至于他相信我所设计的硬件一定会工作得相当好。我告诉他,我感谢他对我的信任,但我不值得受到那种信赖。 后面的事情更坏。那时我决定写一些软件测试程序……在测试过程中,我发现有时发出的数据在返回时被破坏了。我把这一现象演示给公司的VP和CEO看。他们回答:“别着急,那仅仅是几个象素被破坏了,没有人能避免这些。”我问:“如果这些被破坏了的像素多到足够的程度,对于评判影响的医生来讲它看起来像个肿瘤怎么办?或者更糟,他们掩盖了一个实际的肿瘤怎么办?”“别着急,”我又一次得到了这样的回答:“在我们得到资金以后,我们会解决这个问题的。” 当合同期满的时候,我结束了在这个公司的工作,收拾起支票并离开了这个公司。一年以后,这个公司被拒绝给与后续资金,并被挤出了商业圈。 P108 备用逻辑和战斗开关 ……我提到ROLM的原因是因为我曾在Mil-Spec计算机部工作过,该部是为军事部门制造计算机。我们必须在计算机中设计出容错性和冗余度。在我们的计算机侧面上有一个开关,上面标着“战斗开关”,没有人真正地谈论过此开关。有一天,我向项目负责人问起有关这个开关的功能。我问他为什么。他回答说:“在战争中,特别是在核战争中,最好是有一台有故障的计算机,它能尽可能多地发射出导弹,就算有一部分导弹打到友邻目标也在所不惜,只要有一枚导弹打倒敌人就行。好可怕的想法。我猜想那就是为什么没有人去谈论那个开关的原因,而且从那儿以后,我也不再提起那个开关的事情了。 P147 NeoCAD 据我所知,只有一次人们曾经试图改出一种能够适用于不同的生产商所生产的各种FPGA的通用型布局和布线软件。几年以前,几个从Xilinx公司出来的工程师组成了一个叫做NeoCAD的公司……换句话说,他们要生产出通用型的布局和布线软件…… ……布局和布线软件工具的开发是需要对生产商生产的器件结构有非常熟悉的知识背景,然而大多数生产商都认为有关器件结构的知识是属于各生产商私有的信息……Xilinx就是一个典型的不愿意这样做的公司,非但如此,它还作出禁止提供有关器件结构的信息的规定。 NeoCAD凭借着对Xilinx器件结构知识的熟悉,仍可以写出针对Xilinx的FPGA器件的布局和布线软件工具,这些软件工具实际上比Xilinx自己开发的软件工具要好…… 一天,我遇到一位最近刚离开Xilinx的软件工程师,他告诉我,他原先所在的公司软件开发部的头对NeoCAD非常头疼,因为NeoCAD在缺乏有关Xilinx器件结构升级的详细资料的情况下,居然还能够搞出胜过Xilinx的软件开发工具。这个软件开发部的头给他的下属下了最后通牒,要么下一个版本的软件在性能上要超过NeoCAD,要么他们就全体被解雇。于是软件开发部的人就拼命地工作,并搞出了一个新的布局和布线软件工具。几个月后,Xilinx收购了NeoCAD,并有了一个新的软件工程师队伍和新的布局布线软件工具。 中译本翻的十分糟糕,如果有兴趣,建议还是去读原版的《Designing with FPGAs & CPLDs》。