我有一个想法
时间:10-02
整理:3721RD
点击:
新一代数字测试机研发暂告一段落,耗费了我将近一年的时间,从方案拟定到硬件设计,FPGA设计,再到硬件调试,联机调试,再到生产调试,无不经历曲折和艰辛,说的大一点此测试机的研发,打破了国外测试设备垄断,说的小一点就是我有一个简单的想法,并靠自己的努力实现了它。由此我总结出:
1、出问题一定会有原因,别谋求原因不弄清就解决问题;
2、忍受别人的冷嘲热讽,坚持自己做的,才不会被人牵着走;
3、虚心求教,说不定你会得到启发。
新一代数字测试机M900是在前辈研发的测试机M800基础上研发的,主要是增加多工位并行测试功能,可以实现最多32Site并行测试,以提高测试生产效率,降低测试成本。M800是单工位的测试机,一个最简单的想法就是将32个这样的测试机合并成一个拥有并行测试能力的测试机。有了这个想法后,开始构造系统,硬件设计,FPGA程序编写。老板说FPGA是个好东西,可以实现任何你想要的东西,是的,我也这么想,数字测试机的关键就在于有一套测试矢量发生(英文叫Pattern generation)机制,这是每家公司的核心技术。前辈们已经构建好了一套类似51的指令系统,并用FPGA实现了这套指令系统,只是这是单核的,我把这个扩展成了32核。
研发的前期虽然有钉子,但还能比较的容易的理清楚,生产联调才叫人吐血。
真正上晶圆测试的时候,你会发现很多前期意想不到的问题,比如程序跑飞问题,也许你会说前期研发测试为什么没发现,很遗憾,在这个需要人既当爹又当妈的地方,在这个项目进度很急的形势下,实在想不出什么充分测试方案,于是乎,就出现了在程序比较短的情况下系统跑的OK,程序长了就跑飞了。相信很多人遇到过在处理器上跑程序跑飞的情况,更何况这个处理器是我自己写的,处理器执行的指令也是自家做的编译器编译出来的。一开始我企图通过更换板子来解决,反复更换总是存在这个问题,人总是有惰性的,那时从心底抵触深入分析。后来没办法,只能深呼吸。凭借以前的经验,测电源,测时钟,首先得保证FPGA不死,这些确保没问题后,再看FPGA读取指令存储器是否不稳定,于是我自己用VC编了一个小程序,反复读写指令存储器,确保没问题后,就只能分析指令的二进制代码了,后来再仔细分析逻辑波形,发现在类似51的JMP指令出问题了,再看JMP的二进制码,才发现编译器编译出来的码有问题,找到上位机那段编译器VC代码,果然不对,于是重新编译下载,系统跑了24小时都没问题。所以说有问题肯定会有原因,一定要深入分析清楚,这也是一条生活的道理:要细致的生活着。
自己亲手做的设备,最大的渴望莫过于其有用武之地了,其实对于拥有生产车间的半导体厂商来说,世界各大测试设备(ATE)厂商早就垂涎三尺了,特别是泰瑞达,围着公司转了不知道多少年,不过他最便宜的数字测试设备也要100W以上。但对于用户来说,他们倒愿意用买来的设备,特别是那种一流厂商的设备,那种类似手工作坊出来的设备最令人讨厌了,唯恐问题一大堆,这个能理解,还好这些用户就是公司的测试技术人员,我的同事,剩下要做的就是推动他们配合了。车间里有几台买来的测试机,当提出要和他们进行PK的时候,笑声四起,
一来他们没有义务要保证我的测试机研发成功;二来他们已经有买的测试机了,能满足他们的生产测试了;三来他们怀疑我的设备不行。男人最怕被人说不行了,但对我来说,这是生死攸关,不成功并成仁,天塌下来都要让设备能用于生产。于是画转接板,借来10张晶圆,调试好测试程序,在车间生产线亲自坐镇测试,眼睛紧盯MAP图,直到全部测完,最后的的MAP图数据和报表数据和买来的几乎一致,我才松了口气,深深的松了口气。所以坚持自己做的,一直走到底,特别是在企业这种每个人有每个人的想法的地方,一定要确保别人跟着你的想法走,而不是相反,否则你就会沦为什么都不是。
我们要时刻虚心的看待这个世界,要知道我们还有很多不懂,要知道还有很多有意思的东西值得我们去探索,无论我们的岁数多大,而不是越大越抵触新东西。比如同事不合作,肯定有我不懂的地方,所以我去求教他我该怎么做,我的设计有哪些不足,你来当我的军师。再比如,早几年我对计算机的一些新的技术比较关注, USB3.0, PCIE等,这次真的碰上用场了,一般的测试机与上位机连接都是通过插在PC机里卡进行PCI转本地总线,这样一般会导致与上位机传输速率不高,位宽太窄的弊端,这次我直接把PCIE的信号引到测试机里面来,数据吞吐大幅提高,以前看PCIE协议的时候,真没有想到会用在哪,但在这里,却给了我启发。
1、出问题一定会有原因,别谋求原因不弄清就解决问题;
2、忍受别人的冷嘲热讽,坚持自己做的,才不会被人牵着走;
3、虚心求教,说不定你会得到启发。
新一代数字测试机M900是在前辈研发的测试机M800基础上研发的,主要是增加多工位并行测试功能,可以实现最多32Site并行测试,以提高测试生产效率,降低测试成本。M800是单工位的测试机,一个最简单的想法就是将32个这样的测试机合并成一个拥有并行测试能力的测试机。有了这个想法后,开始构造系统,硬件设计,FPGA程序编写。老板说FPGA是个好东西,可以实现任何你想要的东西,是的,我也这么想,数字测试机的关键就在于有一套测试矢量发生(英文叫Pattern generation)机制,这是每家公司的核心技术。前辈们已经构建好了一套类似51的指令系统,并用FPGA实现了这套指令系统,只是这是单核的,我把这个扩展成了32核。
研发的前期虽然有钉子,但还能比较的容易的理清楚,生产联调才叫人吐血。
真正上晶圆测试的时候,你会发现很多前期意想不到的问题,比如程序跑飞问题,也许你会说前期研发测试为什么没发现,很遗憾,在这个需要人既当爹又当妈的地方,在这个项目进度很急的形势下,实在想不出什么充分测试方案,于是乎,就出现了在程序比较短的情况下系统跑的OK,程序长了就跑飞了。相信很多人遇到过在处理器上跑程序跑飞的情况,更何况这个处理器是我自己写的,处理器执行的指令也是自家做的编译器编译出来的。一开始我企图通过更换板子来解决,反复更换总是存在这个问题,人总是有惰性的,那时从心底抵触深入分析。后来没办法,只能深呼吸。凭借以前的经验,测电源,测时钟,首先得保证FPGA不死,这些确保没问题后,再看FPGA读取指令存储器是否不稳定,于是我自己用VC编了一个小程序,反复读写指令存储器,确保没问题后,就只能分析指令的二进制代码了,后来再仔细分析逻辑波形,发现在类似51的JMP指令出问题了,再看JMP的二进制码,才发现编译器编译出来的码有问题,找到上位机那段编译器VC代码,果然不对,于是重新编译下载,系统跑了24小时都没问题。所以说有问题肯定会有原因,一定要深入分析清楚,这也是一条生活的道理:要细致的生活着。
自己亲手做的设备,最大的渴望莫过于其有用武之地了,其实对于拥有生产车间的半导体厂商来说,世界各大测试设备(ATE)厂商早就垂涎三尺了,特别是泰瑞达,围着公司转了不知道多少年,不过他最便宜的数字测试设备也要100W以上。但对于用户来说,他们倒愿意用买来的设备,特别是那种一流厂商的设备,那种类似手工作坊出来的设备最令人讨厌了,唯恐问题一大堆,这个能理解,还好这些用户就是公司的测试技术人员,我的同事,剩下要做的就是推动他们配合了。车间里有几台买来的测试机,当提出要和他们进行PK的时候,笑声四起,
一来他们没有义务要保证我的测试机研发成功;二来他们已经有买的测试机了,能满足他们的生产测试了;三来他们怀疑我的设备不行。男人最怕被人说不行了,但对我来说,这是生死攸关,不成功并成仁,天塌下来都要让设备能用于生产。于是画转接板,借来10张晶圆,调试好测试程序,在车间生产线亲自坐镇测试,眼睛紧盯MAP图,直到全部测完,最后的的MAP图数据和报表数据和买来的几乎一致,我才松了口气,深深的松了口气。所以坚持自己做的,一直走到底,特别是在企业这种每个人有每个人的想法的地方,一定要确保别人跟着你的想法走,而不是相反,否则你就会沦为什么都不是。
我们要时刻虚心的看待这个世界,要知道我们还有很多不懂,要知道还有很多有意思的东西值得我们去探索,无论我们的岁数多大,而不是越大越抵触新东西。比如同事不合作,肯定有我不懂的地方,所以我去求教他我该怎么做,我的设计有哪些不足,你来当我的军师。再比如,早几年我对计算机的一些新的技术比较关注, USB3.0, PCIE等,这次真的碰上用场了,一般的测试机与上位机连接都是通过插在PC机里卡进行PCI转本地总线,这样一般会导致与上位机传输速率不高,位宽太窄的弊端,这次我直接把PCIE的信号引到测试机里面来,数据吞吐大幅提高,以前看PCIE协议的时候,真没有想到会用在哪,但在这里,却给了我启发。