油麦菜小说网 > 穿越小说 > 四合院:我是雨水表哥 > 第540章 设计进行时
    第二天一早,第八组设计室,工业计算机26颗芯片的分配图挂在黑板上。

    吕辰手里拿着《精简指令集体系结构与编码表》,站在黑板前。

    台下坐着诸葛彪、钱兰、曾祺,以及七个设计小队42名成员。

    “咱们的精简指令集,理论组已经设计完毕,我们在午马机上跑通了。48条指令,全部验证通过。”吕辰开门见山,“今天,咱们把这48条指令,分配到26颗芯片里。”

    他翻开编码表,指着第一页的总表。

    “按照咱们最初的设计,使用频率最高的指令,要做在主控核心和运算器里,单周期执行。I/O和特殊指令,分配到对应的专用芯片里。这些指令直接和硬件打交道,必须和对应的接口芯片协同设计。”

    他放下手,看着台下:“下面,一项一项过。”

    第一类是算术逻辑指令,一共是12条,吕辰在黑板上依次写了下来。

    ADD、SUB、MUL、DIV、AND、OR、XOR、NOT、CMP、INC、DEC、NEG

    钱兰道:“这12条指令,是工业控制最常用的,几乎每个控制回路都要用。必须全部硬件化,放在主控制核心和定点运算器里。”

    大张海举手:“MUL和DIV也硬件化?乘法器和除法器面积可不小。”

    曾祺回应道:“工业控制里的乘除,大部分是乘除常数,比如PID算法里的系数乘。做简单乘法器就够了,不需要32位乘32位的复杂单元。用移位加实现,面积小,速度够用。”

    其他人没有意见,吕辰点点头:“主控核心:算术逻辑单元ALU,支持12条指令。”

    第二类是分支跳转指令,一共8条。

    JMP、JZ、JNZ、JC、JNC、CALL、RET、INT

    诸葛彪道:“这些指令控制程序流程。中断、子程序调用、条件跳转,实时性要求高。”

    钱兰特别指出“INT”和“CALL”:“中断响应要在几个时钟周期内完成,所以中断现场保存必须硬件自动完成,不能用微程序。”

    其他人没有意见,吕辰在中央处理模块那一栏画了一个箭头,指向主控制核心。

    “全部放在主控制核心。”

    第三类是数据传送指令,一共6条。

    MOV、LOAD、STORE、PUSH、POP、XCHG

    吕辰指着黑板:“MOV是寄存器之间传数据,LOAD/STORE是寄存器和内存之间传数据。这些指令的执行频率极高,一个温度控制回路里,有一半指令是数据传送。”

    周建国道:“LOAD/STORE要访问内存,地址计算和总线时序怎么处理?”

    吕辰在黑板上画了一个简图。

    “地址计算放在主控制核心,总线访问由存储控制器(KL-MC)配合完成。LOAD指令执行时,主控核心把地址发到地址总线,存储控制器从内存读数据,放回数据总线,主控核心再把数据写进寄存器。”

    其他人没有意见,吕辰在存储模块那一栏写了几个字:“KL-MC:配合LOAD/STORE实现。”

    I/O读写指令一共10条。

    IN、OUT、INS、OUTS、READ_ADC、WRITE_DAC、READ_TEMP、SET_PWM、READ_ENCODER、SET_STEPPER

    “这一类指令最多。”吕辰的声音提高了一些,“工业控制的核心就是读传感器、写执行器。这10条指令,每一条都对应一种或几种I/O操作。”

    他在黑板上画了一张表,左边写上指令,右边空着。

    “现在,咱们来讨论各I/O读写指令的对应芯片。”

    钱兰道:“按照咱们的架构,I/O操作要放在专用芯片里,所以这些指令,不全部做在主控制核心里。”

    吕辰点了点头:“主控核心只负责指挥,不负责干活。干活的事,交给专用芯片。这样主控核心的设计就简单了,不需要集成各种模拟电路和接口逻辑。”

    经过讨论,IN/OUT放在数字量输入/输出芯片;INS/OUTS放在串行通信控制器;READ_ADC放在模拟量输入芯片……

    移位指令仅有4条,分别是SHL、SHR、ROL、ROR。

    这个比较好定,移位指令用于数据处理,比如协议解析、编解码。

    这些指令逻辑简单,但执行频率不低。

    因此,放在主控核心的ALU里,和算术逻辑单元共用数据通路。

    位操作指令也只有3条,BSET、BCLR、BTST,这些指令硬件实现很容易,放主控核心。

    系统控制指令虽然同样是3条,但是就比较考量。

    NOP是空操作,HALT是停机,WDR是看门狗复位。

    WDR指令很重要,工业控制不能死机,看门狗定时器需要程序定期‘喂狗’,如果程序跑飞了,没有及时喂狗,看门狗就会自动复位系统。

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    因此,WDR指令需要和电源管理芯片里的看门狗定时器配合。

    在执行WDR时,主控核心通过控制总线告诉电源管理芯片喂狗了,定时器清零。

    最后是两条特殊指令SWI和RDTIM,前者是软件中断,用于系统调用。后者是读时钟,用于实时任务调度。

    讨论完毕,吕辰在黑板上写完最后一行字,放下粉笔,转过身。

    “48条指令,分配完毕。咱们来总结一下。”

    “主控制核心,硬件实现40条高频指令,算术逻辑、分支跳转、数据传送、移位、位操作、系统控制、特殊指令中的SWI和RDTIM。冗余监控核心同上,2颗定点运算器,实现乘除法和移位操作,加速运算,存储模块……”

    吕辰讲完,会议室里安静了几秒。

    钱兰第一个开口:“吕辰,你把I/O指令和专用芯片的对应关系写成一张表,这个方法不错,以后写微程序的时候,程序员能查。”

    曾祺赞同:“依我看,咱们得整理一个《I/O指令与芯片映射手册》,我看这个事,我来负责吧。”

    诸葛彪问了一句:“那8条没有硬件化的低频指令,放在程序存储器里的微程序,谁来写?”

    吕辰想了想:“这点事情不大,不用麻烦程序设计院,我拿去交给李师兄,这些没有硬件化的指令,最终都是要放进工业计算机的微程序库的。”

    诸葛彪把烟掐灭在烟灰缸里,站起来伸了个懒腰。

    “48条指令,40条硬件化,8条微程序模拟。分配完了,下一步干什么?”

    吕辰看了看墙上的挂钟,已经快十二点了。

    “下午开始,各小队根据指令集分配,修改《芯片功能规格说明书》。每一颗芯片,要明确列出它需要支持的指令、数据通路、控制接口。”

    他看着台下:“三天之内,改完。然后开始逻辑设计。”

    方案议定,吕辰等人进入了枯燥的设计工作当中。

    这天一早,吕辰从厨房拿了两个馒头揣进兜里,推着自行车就出了门。

    到了设计室,钱兰已经坐在桌前,面前摊着厚厚一沓稿纸,铅笔夹在耳朵上,正对着那张《精简指令集体系结构与编码表》发呆。

    听见脚步声,抬起头,眼睛下面一圈青黑,显然昨晚也没睡好。

    “钱师姐,这么早?”

    钱兰揉了揉太阳穴:“48条指令分配到26颗芯片里,说是一句话的事,做起来全是问题。昨天晚上我翻了三个小时,发现好几个指令的执行路径在物理上根本走不通。”

    她把稿纸转过来,指着上面用红笔圈出来的几处。

    “你看这个LOAD指令,需要从内存读数据到寄存器。但咱们的存储控制器和主控制核心之间,数据总线只有8位。LOAD一次要两个周期,这还行。但问题是,如果连续LOAD,总线仲裁会冲突。我刚才算了一下,至少要加一个数据缓冲队列,不然指令流水线根本转不起来。”

    吕辰凑过去看了两眼,眉头皱了起来。

    “加缓冲队列,意味着控制核心的逻辑要改。本来已经定了40条硬件指令,现在为了这个队列,至少要多加两个状态。”

    “所以我才头疼。”钱兰把铅笔拿下来,在纸上敲了敲,“不加,性能不达标;加了,面积超标、时序收不住。宋教授那边卡得严,五微米工艺下,核心芯片面积不能超过80平方毫米。”

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。

    正说着,走廊里传来一阵急促的脚步声。

    诸葛彪推门进来,手里端着一个搪瓷缸子,嘴里叼着一根烟,头发乱得像鸡窝。

    “你们也这么早?”他把搪瓷缸子往桌上一墩,表情严肃。

    “10条I/O读写指令,数字量输入/输出芯片,8路输入、8路输出,光电隔离,响应时间1毫秒,这些都好办。但指令集里那个INS和OUTS,要连续读写一串数据。在芯片上怎么实现?是加DMA控制器,还是让主控核心一条一条搬?”

    “一条一条搬太慢。”吕辰摇了摇头,“工业控制虽然不在乎那几微秒,但连续I/O的时候,如果每次都打断主控,整个系统的实时性就完了。我倾向于在I/O芯片内部加一个小状态机,支持自动地址递增和块传输。主控核心只需要发一条指令,剩下的活儿由芯片自己干。”

    钱兰点头:“这个思路可行,状态机不复杂,几十个门就能搞定。而且以后升级也方便,换个状态机就行,不用改主控。”

    诸葛彪想了想:“我试试,I/O芯片加快传输状态机,希望能行。”

    正说着,曾祺也推门进来了。

    他手里拿着厚厚一沓图纸,往桌上一放,图纸的边角都已经卷了,上面密密麻麻画满了门电路符号和连线。

    他拉过一把椅子坐下:“我昨晚过了一遍板卡,发现一个问题,主控核心有40条硬件指令,指令译码器的逻辑至少需要七八百个门。放在五微米工艺下,面积倒是不大,但关键是指令译码的延迟。我算了一下,最坏情况下,译码路径要经过四五个门级,加上布线延迟,怕是会超过时钟周期。”

    小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!

    诸葛彪想了想:“把指令译码器拆成两级流水。第一级做指令预取和粗分类,第二级做详细译码。这样每级的延迟都能收住,而且第一级可以提前预取下一条指令,减少流水线停顿。”

    钱兰拿起铅笔,在图纸上画了一个两级流水线的示意图,看了一会儿,点了点头:“应该可行,但这样控制器的状态机要改,从原来的五状态变成七状态。”

    吕辰拍板:“改,七状态能守住时序就行。咱们不求最快,但求最稳。生产线上的计算机,不能动不动就死机。”

    四个人围着桌子,一张图纸一张图纸地翻,一个问题一个问题地过。

    窗外的太阳慢慢升起来,阳光从窗户照进来,照在那堆密密麻麻的图纸上,照在四个人熬得发红的眼睛上。

    不知不觉,已经九点多了。

    办公室的门又被敲响了。

    大张海端着一保温桶豆浆,提着一兜油条进来:“你们还没吃早饭吧?我从食堂带的,先吃了再做。”

    诸葛彪这倒了一碗豆浆,端着就灌了一大口,烫得嘶了一声。

    “诸葛师兄,慢点,烫。”大张海嘿嘿笑了两声,转身跑了。

    四个人就着豆浆油条,边吃边继续讨论。

    这一天,只是接下来两个多月里最普通的一天。

    接下来的日子,整个集成电路实验室第八组,加上自动化控制中心抽调过来的十几个人,全部陷入了没日没夜的逻辑设计攻坚战。

    吕辰的办公室成了“作战指挥部”。

    桌上、地上、椅子上,到处堆着图纸,有的是手绘的逻辑图,硫酸纸,墨线描得密密麻麻。

    有的是打印的版图草稿,边角处用红蓝铅笔标注着修改意见。

    还有的是从档案室借出来的旧电路图,纸张已经发黄,边角卷曲,但上面的每一个继电器、每一条连线,都可能是新芯片的逻辑来源。

    每天早上,吕辰到办公室的第一件事,就是烧一壶开水,泡一缸浓茶,然后坐下来,开始翻图纸。

    一看就是一上午。

    有时候盯着一个模块看上两个小时,铅笔在纸上画了又擦、擦了又画,最后发现最初的设计就是对的,又原样画回去。

    有时候翻着翻着,忽然发现一个隐藏的bug,兴奋得站起来拍桌子。

    中午去食堂吃饭,端着饭碗还在想问题,走到桌边才发现碗里已经空了,不记得自己吃没吃过。

    下午继续看图、画图、讨论、推翻、重来。

    晚上别人下班了,他们还在办公室里熬。

    一盏台灯、一缸浓茶、一包烟,能撑到半夜。

    有时候困得不行了,就趴在桌上眯一会儿,醒来接着干。

    这天晚上,又熬到半夜,每个人都是差不多的状态,眼睛发红、头发凌乱、衣服皱巴巴的。

    吕辰去食堂煮了一锅新鲜玉米,提到设计室里发。

    诸葛彪一边啃着一边说:“数字量输出芯片的驱动电路,我们重新画了一遍,从24V输出改成开漏输出,外接上拉电阻。这样用户可以根据负载自己选电阻值,灵活性大多了。”

    钱兰剥了一颗玉米,皱着眉头:“开漏输出是好,但上升沿时间会变长。高速开关的时候,波形会变形。”

    “工业控制不需要高速。”诸葛彪啃了一口,“一个继电器动作要几十毫秒,你那几微秒的上升沿,谁在乎?”

    钱兰想了想,点了点头,没再说什么。

    周建国把啃完的玉米棒子丢进垃圾桶,从兜里掏出一张皱巴巴的图纸,展开铺在桌上。

    “今天遇到一个麻烦。那个8位比较器,我用标准单元库里的异或门搭了,仿真没问题。但版图的时候发现,8位并行比较,走线要交叉,布线密度太高。能不能改成串行比较?用一个异或门,逐位比,8个周期出结果。”

    “不行。”吕辰摇头,“毕竟指令是单周期执行的,改成串行,指令流水线就断了。宁可面积大一点,也要并行。”

    他拿起一个玉米,掰了一半递给周建国:“把8个异或门排成一排,数据总线从上面走,结果总线从下面走,中间用局部互连线。这样虽然面积大,但布线规整,不会交叉。”

    周建国接过玉米,点了点头:“行,明天我重新画版图。”

    日子一天一天地过,墙上的挂历一页一页地撕。

    九月中旬,雨水已经正式在厂医院独立值班了。

    每周五天在医院,周五去李一针那里跟诊,忙得脚不沾地,但每次回家都是笑呵呵的,说周医生夸她进步快,说工人师傅们对她很客气。

    吕辰却很少能赶上晚饭了。

    有时候娄晓娥把饭菜热了三遍,他才推着自行车回来,满脸疲惫,简单吃两口,洗个澡,倒头就睡。

    有时候干脆不回来,在所里的办公室凑合一宿。

    这天晚上,吕辰难得早回来了一次。

    推开院门的时候,天已经黑透了。

    堂屋的灯亮着,一家人正围坐在八仙桌前吃晚饭。

    雨水眼睛一亮:“表哥!你今天怎么这么早?”

    “卡住了一个地方,想不通,回来换换脑子。”吕辰把帆布包挂在门后,洗了手,在娄晓娥旁边坐下。

    娄晓娥给他盛了一碗饭,夹了一块红烧肉放在他碗里,什么也没说。

    他一边吃着,一边想着,家人的欢声笑语,竟然让他脑子里那个卡住的问题忽然有了一丝松动。

    他放下茶杯,站起来,拿起挂在门后的帆布包。

    “我想通了,回所里一趟。”

    娄晓娥没有拦他,只是说:“带两个馒头,别饿着。”

    “好。”

    吕辰推着自行车,消失在巷口的夜色里。

    日子就是这样。

    有人在前面冲,有人在后面守。

    冲的人不觉得苦,守的人不觉得冤。