第554章 上机了(2 / 2)
请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
LIBRARYLOADED.470CELLSAVAILABLE.
5微米标准单元库,470个单元。
与门、或门、非门、与非、或非、异或、触发器、锁存器、加法器、比较器、多路选择器、译码器、编码器……
每一个单元都有精确的版图、时序模型、功耗模型。
吕辰靠在椅背上,手指在键盘上停了片刻。
他在脑子里过了一遍GY-CU-01主控核心的架构。
指令译码器、程序计数器、堆栈指针、ALU、寄存器堆、中断控制器、总线接口。
七个模块,每个模块少则几十个门,多则几百个门。
全部要用标准单元库里的元件搭起来,一个一个地放,一个一个地连。
他深吸一口气,坐直了身子,开始敲键盘。
他先调用了一个与门。
屏幕上跳出一个对话框:INSTANAME?
他敲了:AND_1
屏幕上跳出一个图形,是一个与门的版图示意图。两个输入端,一个输出端,线条细如发丝,整整齐齐。
他把这个与门放在了图纸的左下角坐标(100,100)的位置。
然后他调用了一个或门,放在了(100,200)的位置。
与非门、或非门、异或门、非门……
一个一个地放,一个一个地连。
他没有鼠标,所有的操作都靠键盘。
移动元件用方向键,旋转用R键,放大缩小用加减号,连线用W键。
没有图形界面,所有操作都是命令行。
屏幕上显示的是一行一行的代码,不是图形。
要看版图,得敲“DISPLAY”命令,屏幕上才会跳出一张黑白的版图示意图,线条是白色的,背景是黑色的,粗糙得像老式示波器的波形。
但这就是现在能用到的,最好的工具了。
旁边围了一圈人。
钱兰站在吕辰身后,盯着屏幕看了一会儿,然后走到旁边的午马机前坐下,打开自己的设计文件。
她负责存储模块的7颗芯片,每一颗都要在系统上重新做一遍。
诸葛彪叼着烟,在另一台午马机前坐下来,打开I/O模块的设计文件,眯着眼睛看了一会儿,开始敲键盘。
曾祺带着几个人,负责通信模块和电源模块。
大张海和小张海挤在一台午马机前,两个人头挨着头,盯着屏幕。
“你往左移一点。”大张海说。
“移了。”小张海敲了一下方向键。
“不对,多了,往右回一点。”
“你自己来?”
“我来看,你敲。”
两个人吵吵嚷嚷的,但效率不低。
机房里的气氛变了。
之前画版图的时候,设计室里安静得能听见铅笔的沙沙声,每个人都在埋头画自己的,很少有人说话。
现在不一样了,键盘声嗒嗒地响,显示器上绿色的字符一行一行地跳,有人敲着敲着忽然停下来,皱着眉头盯着屏幕看半天,然后恍然大悟地“哦”一声,继续敲。
有人在两个文件之间切来切去,眼睛盯着屏幕,嘴里念念有词。有人调出版图看了两秒,不满意,删了重来。
吕辰画了一个上午,搭完了指令译码器的前两级。
他敲了“DISPLAY”命令,屏幕上跳出版图示意图。
白色的线条在黑色的背景上交织,像一张精细的蛛网。
他盯着看了十几秒,然后拿起桌上的铅笔,在旁边的草稿纸上画了一条线,标注了一个坐标。
“这条线的位置偏了,帮我查一下这个模块的坐标参数。”
一名员接过草稿纸,在他的午马机上敲了几行命令,调出模块的参数表,看了一眼:“X坐标应该是124,你敲成了142。”
吕辰点了点头,敲了几行命令,把坐标改过来。
重新显示版图,线条的位置对了。
“行了。”
他靠在椅背上,长长地吐了一口气。
这才是一个上午,一个模块都还没搭完。
但急也没用,星河CAD2.0刚升级完,功能虽然比以前强大了,但操作还是很繁琐。
自动布局布线是有了,但跑一遍要几个小时。
而且跑出来的结果不一定满意,有时候要改参数重新跑。
人工干预的地方还很多,不是点一个按钮就能完事的。
中午去食堂吃饭的时候,诸葛彪端着饭碗坐到吕辰旁边。
“怎么样?”他问。
“还行。”吕辰扒了一口饭,“就是慢。一个上午搭了两级译码器。”
“慢就慢了。”诸葛彪夹了一块红烧肉,“比手工画快多了。手工画一颗主控核心用了将近一个月,系统上最多两个星期就能搞完。快了一倍。”
吕辰点了点头:“嗯,而且改起来方便。手工画错了要擦掉重画,系统上改几个坐标就行。”
下午继续。
吕辰敲了一下午的键盘,手指都有点酸了。
指令译码器的三级流水线全部搭完了,总共用了140多个门。
他在稿纸上画了一条连线图,标注了每一级的输入输出关系,然后开始搭程序计数器。
程序计数器是一个12位的计数器,每执行一条指令加1,遇到跳转指令时加载新的地址。
12位计数器由12个D触发器级联而成,每个D触发器带一个复位端和一个置位端。
他一个一个地调用D触发器,一个一个地放,一个一个地连。
敲了几十行命令,屏幕上跳出一排触发器的符号,每一个都标注着坐标和连线。
他敲了“DISPLAY”命令,看了看整体布局。
12个触发器排成一排,整整齐齐。
时钟线从左边进来,逐级向右传递。
复位线和置位线从上面走下来,每个触发器都有一根分支。
“还行。”他自己嘀咕了一句。
然后他开始搭堆栈指针。
堆栈指针是一个8位的计数器,带预置功能,用于子程序调用时保存返回地址。
和程序计数器类似,但多了压栈和出栈的控制逻辑。
他搭了一个多小时,搭完了堆栈指针的主体结构。
天已经快黑了,机房里的日光灯亮着,发出嗡嗡的声响。键盘声还在嗒嗒地响,有人还在加班,有人已经走了。
吕辰看了一眼墙上的挂钟,六点二十。
他保存了设计文件,敲了一行命令:
DB>SAVEGY-CU-01_V1
屏幕上跳出一行字:
FILESAVED.14:22:05
他站起来,活动了一下僵硬的脖子,拿起帆布包,出了机房。
他蹬上车,出了厂门,往家骑。
到家的时候,何雨柱已经做好饭了,正端着一盆红烧排骨从厨房出来。
“吃饭了,去洗手。”
一家人围坐在八仙桌前。
红烧排骨、清炒时蔬、酸辣汤,还有一碟花生米。
吕辰端起碗,大口大口地吃。
娄晓娥夹了一块排骨放在他碗里:“慢点吃,没人跟你抢。”
吕辰嚼着排骨,含混地应了一声。
吃完饭,娄晓娥帮他倒了一杯茶。
吕辰端着茶杯,坐在院子里,看着天边最后一抹光慢慢消失。
星星一颗一颗地亮起来,先是东边的一颗,然后是西边的几颗,越来越多,越来越密。
日子就这样一天一天地过。
每天早上骑车到所里,泡一壶茶,坐下来敲键盘。
中午去食堂吃饭,回来在办公室眯一会儿,下午继续敲。
六点下班,骑车回家,陪家人吃饭,逗孩子玩,帮娄晓娥揉脚。
不紧不慢,不急不躁。
六月下旬的一天,吕辰正在敲键盘,车载火控战神-1的芯片,第一版流片的消息回来了。
战神-1火控系统,一共7颗芯片,良率最低的21%,最高的63%。
这意味着,工业计算机又要给战神-1让路了。
吕辰把烟掐灭在烟灰缸里。
“行,让就让吧。反正咱们手工画也画过来了。
大家点了点头,收拾东西离开。