设备的问题暂时有了着落,但付成的心情并没有因此轻松。
李文渊的话在他心里激起了千层浪。
生态。
一个在1985年显得无比超前的词汇。
回到前海的第二天,付成就把所有人召集到了会议室。
他没有提香江的设备,而是先问了陈默一个问题。
“陈默,我们现在设计一个最简单的逻辑门电路,从画图到出菲林版,需要多长时间?”
陈默想了想,回答道:“如果顺利的话,大概需要一个星期。”
“一个熟练的版图工程师,用尺子和胶带,在巨大的绘图板上一点点画出电路的每一层。”
“画错了,就要用刀片刮掉,重来。”
“这个过程,繁琐、低效,而且极易出错。”
张伟补充道:“没错,上次我们画一个触发器,就因为一个线条搭错了位置,整块版图都废了。”
“这就是我们面临的现实。”
付成在白板上画了一个图。
“我们现在处于‘手工作坊’阶段。”
“而我们的对手,比如索尼,已经开始用计算机辅助设计了。”
“这就是所谓的eda,电子设计自动化。”
“它能把一个星期的工作,缩短到一天,甚至一个小时。”
“最重要的是,它能进行逻辑仿真和时序分析,在制造之前就发现绝大部分错误。”
所有人都听得入了神。
用计算机来设计芯片?这简直是天方夜谭。
“付成,这东西,我们能搞吗?”
任飞问出了所有人的心声。
“能。”
付成看向角落里一直沉默不语的陈默。
“而且,我们已经有人在搞了。”
所有人的目光都聚焦在了陈默身上。
陈默的脸一下子就红了,他扶了扶自己的厚底眼镜,有些不知所措。
“我……我只是自己瞎琢磨的。”
付成笑了笑。
“别谦虚了,把你的宝贝拿出来给大家看看。”
在众人好奇的目光中,陈默回到自己的工位,抱来了一台他们从京城带来的长城0520ch微机。
在那个年代,这已经是顶级配置了。
陈默打开计算机,在dos命令行里敲下了一串代码。
屏幕闪铄了几下,进入了一个蓝色的图形界面。
界面很简陋,只有一些简单的线条和菜单。。”
陈默平静地说道。
“它可以实现一些基本的功能,比如画线、画矩形、填充,还有一些缺省的逻辑门单元库。”
他一边说,一边用鼠标笨拙地操作着。
他在屏幕上拖出了一个“与非门”,一个“或非门”,然后用线条将它们连接起来。
“最关键的是,我写了一个简单的逻辑检查算法。”
他点击了菜单里的“检查”按钮。
屏幕上弹出一个提示框:“错误:引脚悬空。”
“它能自动发现这种低级错误。”
“天才!陈默,你就是个天才!”
张伟冲过去,一把抱住陈默,激动地摇晃着。
钱立人教授和林为民副教授也围了过来,戴上老花镜,趴在屏幕前仔细研究。
“了不起,了不起啊!”
钱立人教授连声赞叹。
“用算法来定义硬件,这是思想上的飞跃!”
付成看着被众人围在中间,手足无措的陈默,脸上露出了欣慰的笑容。
然而,狂欢的气氛没有持续太久。
当张伟试图将陈默设计的电路图,通过印表机输出成绘图文档时,问题出现了。
计算机死机了。
无论怎么操作,屏幕都定格在那里,一动不动。
“怎么回事?”
张伟急了。
陈默的额头上渗出了汗珠。
他重启计算机,又试了一次,结果还是一样。
“可能是……兼容性问题。”
陈默小声说。
“我这个程序,是在我自己的机器上调试的。这台连接印表机的计算机,配置稍微有点不一样,可能……某个底层的驱动有冲突。”
“兼容性?”
张伟一脸茫然。
“简单来说,就是我的软件,只认我那台计算机,换个环境就罢工。”
陈默解释道。
“那怎么办?总不能以后所有的设计都在你那台计算机上做,然后用笔抄下来吧?”
赵卫东吐槽道。
是啊,一个只能在特定计算机上运行的软件,实用价值大打折扣。
接下来的几天,陈默把自己关在房间里,试图解决这个兼容性问题。
他没日没夜地修改代码,调试程序。
但问题比他想象的要复杂得多。
当时的计算机硬件和作业系统,五花八门,标准混乱。
一个简单的打印指令,在不同的机器上,可能需要调用完全不同的埠。
陈默的程序,就象是为一个特定的锁,配了一把特定的钥匙。
换了一把锁,钥匙就废了。
团队里开始出现了一些质疑的声音。
“我就说,这玩意儿不靠谱吧?还是我们的尺子和胶带最可靠。”
“花那么多时间搞这个,还不如多画几张版图。”
“这东西就是个‘天坑’,投再多精力也填不满。”
这些话,或多或少地传到了陈默的耳朵里。
他变得更加沉默。
付成看在眼里,急在心里。
他知道,这不是陈默一个人的问题,而是整个时代的局限性。
他更知道,如果不能解决这个问题,eda工具就无从谈起,“生态”更是空中楼阁。
这天晚上,付成端着一碗泡面,走进了陈默的房间。
房间里一片狼借,满地都是写满代码的草稿纸。
陈默双眼通红,正对着屏幕发呆。
“还在搞?”
付成把泡面放在桌上。
陈默没有回头,声音沙哑。
“付成,我是不是很没用?”
“我搞砸了。”
付成拍了拍他的肩膀。
“这不是你的问题。”
“你已经做得很好了,你一个人,走完了别人一个团队需要几年才能走完的路。”
“现在,我们遇到的不是技术问题,是工程问题,是标准问题。”
付成在纸上画了一个图。
一个内核,周围是几个模块。
“你看,你的程序现在是把所有东西都耦合在一起了。”
“显示、逻辑、数据存储、硬件接口,全都搅成一锅粥。”
“我们得把它拆开。”
“我们来定义一个标准的数据格式,就叫它‘红花瓣版图交换格式’,怎么样?”
“你的内核程序,只负责生成和处理这种格式的数据。”
“至于怎么在屏幕上显示,怎么从印表机输出,怎么跟其他软件交互,我们把它做成一个个独立的‘驱动’模块。”
“这样一来,你的内核算法就跟具体的硬件解耦了。”
“以后我们换了新的计算机,新的印表机,只需要为它写一个新的驱动,内核程序完全不用动。”
陈默看着付成画的架构图,眼睛越来越亮。
付成的思路,让他看到了一个全新的世界。
模块化、标准化、接口化……
“我……我明白了!”
陈默激动地站了起来。
“把复杂的系统,拆分成简单模块的组合!这样不仅能解决兼容性问题,还能让不同的人分工协作!”
“没错。”
付成欣慰地点了点头。
“但是……”陈默又坐了下去,眉头紧锁,“这个工作量太大了。定义数据格式、重构内核代码、为不同的硬件写驱动……这比重写一遍还要复杂,我一个人,可能需要一年,甚至更久。”
付成笑了。
“谁说要你一个人干了?”
他站起身,看着窗外那片热火朝天的工地。
“陈默,我们不是一个人在战斗。”
“是时候,把我们的朋友们,都拉上这艘船了。”