时间如流水,又是一年冬腊月。
寒风肆虐,横扫京城。
红星所右附楼的走廊里,暖气片嘶嘶地响着,对抗着从玻璃缝隙里渗进来的寒意。
吕辰紧了紧围脖,端着搪瓷缸子往第八组设计室走。
11月底,工业计算机的逻辑设计全面结束。
26颗芯片的功能规格书、逻辑图、真值表、状态转移图,堆起来有半人高。
现在已经进入电路设计阶段,用标准单元库里的元件,把逻辑图搭成真正的电路。
这是整个芯片设计流程里最枯燥、最磨人、也最考验功力的环节。
逻辑设计可以天马行空,画个方框标个“与门”
就算完事。
但到了电路设计,每一个与门要用几个管子、管子尺寸多大、驱动能力够不够、延迟能不能收住、版图能不能画得出来,全都要落到实处。
推开设计区的大门,一股热气扑面而来。
几十张绘图桌排成几排,每张桌上都亮着带放大镜的台灯。
大瓦数灯泡把整个设计室照得通明,黑板上写着各颗芯片的进度表,红色、蓝色、黑色的标记密密麻麻。
人声嗡嗡的,有人在讨论,有人在争论,有人在翻手册,杂乱中有着秩序。
“吕师兄,这边!”
大张海拿着一支红蓝铅笔,指节上沾着铅灰。
吕辰走过去,在他旁边坐下。
大张海面前摊着一张ao幅面的硫酸纸,上面画着数字量输入芯片的电路图。
图纸已经画了大半,左上角是输入保护电路,中间是光电隔离器,右边是滤波和整形电路,最下面是总线接口。
“卡在哪儿了?”
“输入滤波。规格书要求响应时间小于1毫秒,但现场信号可能有几十毫秒的抖动。不加滤波,误触;加了滤波,响应时间标。我用Rc滤波算了一下,时间常数做到o。5毫秒,能滤掉大部分抖动,但最坏情况下响应时间会到1。2毫秒,标。”
吕辰盯着图纸,想了一会儿,在空白处画了一个简图。
“别用Rc,用计数器。信号进来之后,先经过整形,然后送进一个移位寄存器。连续采样n次,如果n次都是高电平,才判定为有效。n可以配置,4次、8次、16次,用户自己选。响应时间=nx采样周期。采样周期用芯片内部的时钟分频得到,比如分到1o微秒一次,16次就是16o微秒,远小于1毫秒。”
大张海眼睛一亮,铅笔在纸上飞快地画起来:“这个好!用标准单元库里的计数器加比较器就能搭,几十个门,面积不大。而且可配置,不同工况用不同滤波深度。”
他顿了顿,又皱起眉头:“但这样需要时钟。时钟从哪儿来?”
“从gy-cLk引一条过来,回头和第四小队商量。”
大张海点了点头,在图纸边角处写下一行字:“待确认,时钟信号从gy-cLk引入,分频比待定。”
吕辰站起来,继续往里走。
钱兰坐在陈晓身边,面前摊着三张图纸,分别是gy-mc-o1、gy-mc-o2、gy-mc-o3,存储控制器的三颗芯片。
版图线条细如丝,每一笔都稳得像机器画出来的。
陈晓指着图纸上一块区域,那里画着密密麻麻的触器和门电路,线条密集得像一座微缩城市的交通图。
“地址译码器搭完了,64条地址线,片选信号产生延迟控制在1o纳秒以内。数据缓冲队列那边有点麻烦,16级深度,读写指针需要同步,我们用了两组触器和比较器,面积有点大。”
钱兰仔细看着图纸:“16级差不多够了,存储柜的访问冲突不会太频繁,队列深度太大反而浪费面积。先这样,流片回来测一下,不够再改。”
吕辰又往前走了一段,诸葛彪嘴里叼着一根烟,烟灰已经烧了老长一截,快掉到图纸上了。他手里拿着gy-pm-o1脉冲宽度调制输出的电路图,凑在电灯下仔细看着,这是用来控制电机和阀门的。
孙钢把烟灰缸端过来:“诸葛师兄,这个怎么样?”
诸葛彪把烟拿下来,弹了弹烟灰:“pm输出不需要太多路,一颗芯片有4路够了吧?每路加大驱动,面积大点就大点。工业控制对pm的精度要求不高,8位分辨率够了。你先把电路搭完,版图的时候再优化布局。”
吕辰在设计区里转了一圈,每一桌都停下来看几分钟。
周建国在画主控核心的指令译码器,用标准单元库里的译码器阵列,48条指令,每条指令对应一个8位操作码,译码逻辑用了将近5oo个门,布线密度高得吓人,但他把译码器拆成了两级,前级做粗分类,后级做细译码,每级的延迟都收住了。