老莫

忆当年时一窍不通……

1
阅读(23068)

本来这个文章是要在国庆前,校庆(9月29日)后完成的。后来想着最迟国庆期间也可以完成,结果国庆七天睡觉就睡了四天,剩下三天工作了一下,于是一拖拖到现在。

为什么我要忆当年时一窍不通?没事就怀怀旧?其实都不是。

一方面是为了配合校庆,写点回忆文章。我本科毕业已经10年了,从本科入学算起到成电14年,硕士毕业留校后再成电工作7年。14年,在成电60年的历史上,也占去快1/4了吧。时间慢慢流逝,人生也就变成了历史。另外一方面也是由于一件事的触动,让我和以前的学生讨论起来了当年一窍不通的、蛮干硬上的岁月。

是什么事,触发了我去想当年的事呢?说起来还真有点巧合。之前加了一个微信群,群里有位哥们以前也是我电毕业的,然后就加我。加完我以后第一句话就问我认不认识李广军教授……这当然认识了,李教授是我硕士和博士的导师,在他退休之前也一直是我的直系领导。不过这哥们找李老师的理由比较奇葩:他想问我们当年Freescale免费授权给我们的PowerPC处理器软核!这哥们要是不问这事我都快忘了当年我们被免费授权了一个PowerPC处理器软核。

这哥们问这个事干嘛呢?说他们想用这个核来做一个SoC。当时我就懵逼了,为什么还有这么不怕死的人敢用这个核来做SoC。虽然现在SoC看起来做的人很多了,什么人都进来做做SoC了。但这是建立在ARM这类设计服务公司“无微不至”的服务和关怀中,其实是把微电子技术、系统结构、软硬件协同设计的很多细节给屏蔽掉了。如果离开了这些服务和支持,很多人公司估计也做不了SoC了。而这个PowerPC处理器软核,呵呵……当时Freescale除了把软核给我们,别的什么也没给到我们。其实当时Freescale已经把这个核授权给了某个第三方,由那边来支持。但是那个支持是很弱并且需要花钱的。

所以我就把这情况给那哥们说了,他坚持他找的CTO是个技术水平很强的人,在某某研究所做过某个处理器的设计等等。我后面就让他自己问问他那CTO,当年他们那个所是投入了多少人用了多少年最后才做到这一步的。我国的这些研究所在处理器上面投了多少年多少人,就这么一个“参与过”处理器设计的人想从一个“裸处理器软核”开始设计整个SoC……

再后来就是和当年做这个项目的学生组长方同学聊起来这个事。方同学从本组毕业以后进入Synopsys,专门研究ARC处理器。他对此呵呵一笑:要从裸处理器软核做起,至少需要架构、前端、验证、后端、驱动五个大牛,每个人5-10年工作经验(还得是不灌水的工作),才有可能(注意是有可能)。

终于要说到主题了,为什么当年一窍不通呢?因为当年真是什么都不知道,在用一种很错误的方法来做。另外就是PowerPC这玩意其实太大了,导致后面大量的时间在解决时序问题。为了让这个PowerPC能够在FPGA上跑起来大概5个人用了半年多时间,才勉强真的动起来了。而且一个DE3-260里面把最小系统跑起来以后就已经很难在加什么外设进去了。当时还想着怎么把两块开发板堆起来再做……。后来我们换成了ARM cortex M0,大概就一个人用3个月就在DE2开发板上跑起来了,而且跑得很happy。

不过最关键的一点在于哪里?我们当时并不懂计算机系统结构,也不知道做计算机硬件,做处理器最重要的一点吃要去做体系结构级的仿真。当时完全都不知道这个世界上有一种叫体系结构级仿真器的东西。其实,当体系结构已经确定以后,剩下的工作基本上可以称为“搬砖”。

而今,我们已经拥有了自主开发的多核异构体系结构级仿真器,并在DAC、DATE等世界顶级的电子设计自动化会议上展出过。但当年那一批精干、自信、阳光、向上的学生们,却早已经毕业了。在他们意气风发的年纪,我还一无所知。当我终于在这里明白了很多道理的时候,手上却面临“无可用之兵”。

不知道为何想起了这样一首诗:

君生我未生,我生君已老 君恨我生迟,我恨君生早
君生我未生,我生君已老 恨不生同时,日日与君好
我生君未生,君生我已老 我离君天涯,君隔我海角
我生君未生,君生我已老 化蝶去寻花,夜夜栖芳草