玉宇小说库全本小说免费看
🏠 首页 玄幻 奇幻 武侠 仙侠 都市 历史 军事 游戏 竞技 科幻 灵异 其他 🔥 排行 🆕 新书 🏁 完本
首页 / 其他 / 四合院:我是雨水表哥 / 第569章 板卡仿真

第569章 板卡仿真

9311 字 · 约 23 分钟 · 四合院:我是雨水表哥

猎猎秋风,吹着红星所院墙上的五星红旗。

1969年的国庆节,吕辰依然忙碌。

一大早,吕辰就到了办公室。

把残茶倒进纸垃圾桶,重新捏了一撮铁观音续上水,门就被推开了。

万人手里抱着一摞图纸,用麻绳捆着,码得整整齐齐,他抱得有些吃力,进门的时候侧着身子才挤过来。

李工跟在后面,手里同样抱着一摞图纸,二人把图纸放在吕辰办公桌上,摞起来足有半人高。

万人敌直起腰,长长地吐了一口气,从兜里掏出一块手帕擦了擦额头上的汗。

吕辰起身,给二人倒了一杯水。

万人敌接过喝了一口,从帆布包里拿出一个牛皮纸文件袋,鼓鼓囊囊的。

“吕工,板卡的设计图,全部完成了。”

他把文件袋往桌上一放,解开绑绳,从里面抽出一沓图纸,A0幅面的硫酸纸,折得四四方方,边角处用红蓝铅笔标注着修改痕迹。

“电源板、时钟板、总线背板、I/o板、存储板,五大类,23个型号,全部设计完毕。图纸、物料清单、装配图,一样不缺。”

他如释重负:“吕工,这活儿,总算交了。”

吕辰走到桌前,翻开最上面一张图纸。

那是一块电源板的设计图,A0幅面,硫酸纸,墨线描得工工整整。

整流桥、滤波电容、dc-dc变换器、过压保护电路、电流采样电路……

每一个元件都用标准符号画出,引脚标注清晰,走线流畅,密密麻麻的线条从图纸的左上角延伸到右下角,像一座微缩城市的交通图。

他看了一会儿,又翻开另一张,是一块运算板的设计图。

这块板子比电源板复杂得多,16个芯片插座整齐排列成四乘四的矩阵,每个插座周围密密麻麻地环绕着去耦电容、电阻排、测试点。

数据总线从插座边缘引出,汇聚成一组粗线,通往板卡边缘的金手指。

地址总线、控制总线各自分开,在板卡的不同层之间穿梭。

“李工,辛苦了。”吕辰把图纸放下,抬起头。

“应该的。”李工摆了摆手,从兜里掏出烟,给万人敌和吕辰各发了一根。

“现在图都画完了,这些板卡,我们都反复检查过,但自己画的图,自己看不出毛病,得找别人看,得用东西测。”

万人敌把烟点上,吸了一口,慢慢吐出来:“李工说得对。图纸画得再漂亮,不上机跑一遍,心里没底。手工画图,线宽够不够、间距够不够、有没有虚焊、有没有短路,全靠眼睛看。眼睛有时候会骗人。”

吕辰端着搪瓷缸子喝了一口水,他脑子里在转。

板卡设计图出来了,按流程,下一步应该是送红星轧钢厂的掐丝珐琅生产线加工。

不过,吕辰有些新的想法,在生产之前,能否上星河cAd跑一遍仿真验证。

板卡不是芯片,但比芯片更复杂。

芯片里是几百个门、几千个晶体管,逻辑相对规整。

板卡上是大电流的电源线、高速的数据总线、敏感的时钟信号、脆弱的复位线,还有那些离散的电阻电容、电感变压器,每一个元件都有自己的脾器。

手工画图,画得再仔细,也难免有疏漏。

电源线画细了,IR drop超标,远端芯片电压不足;信号线间距画小了,串扰毛刺,数据传错;去耦电容放远了,高频噪声滤不掉,芯片工作不稳定。

这些问题,眼睛看不出来,万用表量不出来,只有上机跑仿真才能发现。

“李工、万工,图纸先放我这儿。”吕辰把搪瓷缸子放下,“板卡的事,不能急。我安排一下,上星河cAd跑一遍仿真。没问题了,再送加工。”

万人敌眼睛一亮:“吕工,星河cAd能排上号?”

吕辰点点头:“我跟宋教授协调过了,工业计算机已经送流片,其他任务往后推五天,从明天开始,专门跑板卡仿真。”

“能测?”

“能,我已经和汪教授沟通过,他派工程师过来帮助配置验证环境。”

李工脸上露出了一丝紧张:“四天,够吗?”

“够不够,跑了才知道。”吕辰合上笔记本,“下午,汪教授的工程师就到。李工,你把所有板卡的数字化设计文件整理好,按型号分类,统一命名。万工,你那边把《元器件库》和《测试向量库》的最新版调出来,一起拷到星河cAd上。”

“行,我们这就去!”

万人敌和李工也不多话,提着包就走。

下午两点,万人敌和李工一人拿着一个灰色的金属盒子,就来到红星所。

盒子比饭盒大一圈,表面是银灰色的,边缘有散热孔,能看见里面墨绿色的电路板。

“吕工,板卡的设计数据,全在这儿了。”

万人敌把金属盒子往桌上一放,发出沉闷的一声响。

他掀开盒盖,露出里面的电路板。

那是板卡设计系统的存储模块。

一块掐丝珐琅工艺的陶瓷板,比A4纸小一圈,上面整整齐齐地插着八颗存储芯片,银灰色的陶瓷封装,表面印着白色的丝印字。

芯片周围环绕着一圈去耦电容,密密麻麻,像列队的士兵。

李工把另一个盒子也放在桌上,掀开盖:“这是备份。两块板子,数据一模一样。一块跑仿真,一块留着,万一出了问题,还有个底。”

吕辰低下头,仔细看了看那块存储板。

走线在釉面下若隐若现,铜线泛着温润的金色光泽。

金手指边缘光亮,镀层均匀,每个焊点都饱满光滑。

他伸出手,轻轻摸了摸其中一颗芯片的封装表面。

光滑,平整,没有毛刺。

“数据都在里面?”

“都在。”万人敌从兜里掏出一张折了好几折的纸,展开,上面密密麻麻写着目录,“所有板卡型号的数字化设计文件,包括元件位置、网络连接、走线几何信息,全部存在这八颗芯片里。格式按照汪教授定的规范,直接能导入星河cAd。”

吕辰看了万人敌一眼:“万工,直接从板卡设计系统上抠存储板,这主意谁想的?”

万人敌把烟叼在嘴角:“录磁带太慢,存二维卡怕要存几百张,打纸带也能打一屋子,时间紧急,我直接把存储板抠过来,插到星河cAd的存储柜上,数据直接调,省时省力。”

李工在旁边补充了一句:“而且磁带容易失真,纸带容易出错。存储芯片不一样,数据写在里面,不会丢不会错。”

吕辰点了点头,合上盒盖,把两个金属盒子摞在一起,夹在腋下。

“走,去机房。”

三人出了办公室,下楼往星河cAd的机房走。

机房的门口,一个穿着白衬衫的年轻工程师已经等在那里了。

三十出头,瘦高个,戴一副黑框眼镜,手里夹着一个黑皮本子。

这是汪涵教授的学生,卫知南,程序设计院的骨干,星河cAd的核心开发者之一,负责存储接口模块的微程序编写。

虽然年轻,但已经是星河cAd系统最熟悉的人之一了。

“卫老师,等久了吧?”吕辰迎上去。

“刚到。”卫知南推了推眼镜,目光落在吕辰腋下的两个金属盒子上,“汪教授让我过来配合你们。这就是板卡设计系统的存储板?”

“对。”吕辰把盒子递给他,“数据全在里面,卫老师,能不能直接挂到存储柜上?”

卫知南接过盒子,打开看了一眼,又关上,点了点头。

“能,午马机的存储模块都是一样的,只需要插入中央存储柜的扩展槽就可以了。”

“行。那先去看看。”

推开机房的门,卫知南走到存储柜前面,蹲下来,打开一个副柜的门。

柜门内侧贴着一张电路图,是存储柜背板的走线图,密密麻麻,看了让人眼花。

他用手指在背板上点了几下:“这个存储柜有十六个插槽,现在只用了八个,还剩八个插槽空着。”

他把板卡设计系统的存储板从盒子里取出来,插到存储柜背板的一个空插槽上,拧紧螺丝。

“上电试试。”

卫知南走到管理员终端前,敲了一行命令。

db> moUNt dEVIcE StoRAGE_SLot_09

屏幕上一行字跳出来。

dEVIcE moUNtEd. REAdING dIREctoRY…

几秒后,目录显示出来了。

/SImULAtIoN/pcbA/powER_V1

/SImULAtIoN/pcbA/cLocK_V1

/SImULAtIoN/pcbA/bAcKpLANE_V1

/SImULAtIoN/pcbA/Io_V1

/SImULAtIoN/pcbA/StoRAGE_V1

五大类,23个型号,527块板卡的目录,整整齐齐。

万人敌站起来,凑到屏幕前看了看,眼睛亮了。

“成了。”

李工在旁边搓了搓手,脸上露出如释重负的表情。

吕辰敲了一行命令,随便调出一块板卡的设计文件目录。

db> LISt /SImULAtIoN/pcbA/powER_V1/

屏幕上一行行文件名跳出来:

powER_V1_NEtLISt.dAt——112Kb

powER_V1_poNENtS.dAt——86Kb

powER_V1_GEomEtRY.dAt——234Kb

powER_V1_LAYER1.dAt——178Kb

powER_V1_LAYER2.dAt——165Kb

powER_V1_tESt.SEq——12Kb

数据都在,文本格式,每一行都是一个元件、一条连线、一个坐标参数。

没有图形,只有数字和文字。

吕辰点了点头。

“卫老师,这两天先把环境搭好。后天一早开始跑仿真。我把清单列一下。”

他从兜里掏出笔记本,翻开,上面用钢笔工工整整写了几行字。

“第一,导入板卡设计文件和元件库。数据已经在存储柜里了,明天直接调。但元件库的关联要确认,每颗芯片、每个电阻电容的电气模型,要从《元器件库》里调出来,跟设计文件里的元件标号一一对应。”

卫知南记下:“元件库关联校验,明天跑仿真前先做一遍。”

“第二,配置仿真参数。”吕辰继续念,“温度设三档,常温25度,高温85度,低温零下40度。电源电压设标称值正负5%两档。信号翻转率设20%和100%两档。这些参数要写成配置文件,放在存储柜的根目录下,每个仿真任务调用同一份配置,保证条件一致。”

“第三,设置测试向量。万工,《测试向量库》带来了吗?”

万人敌从文件袋里抽出一本册子,递给卫知南。

卫知南接过册子翻了翻,每一条测试向量都有编号、功能描述、输入输出定义、预期结果,条目清晰,格式规范。

他翻到最后一页,是一张总表,列着所有测试用例的编号和对应的板卡型号。

他把册子放在桌上:“明天导入系统,自动跑就行。我写一个批处理微程序,按顺序加载测试向量,不用手动一条一条敲。”

“第四,”吕辰竖起第四根手指,“问题记录和结果输出。仿真过程中发现的问题,自动记录到日志文件,按严重程度分级。跑完之后,生成汇总报告,打印出来。每一条失败或警告,至少要输出:板卡型号、网络名或元件标号、实测值、阈值、偏差百分比。”

卫知南点了点头,又补了一句:“还得再加一个断点续跑。板卡仿真比芯片仿真复杂,一次跑完可能要几个小时。如果跑到一半出了问题,中断了,从头再跑浪费时间。我写一个微程序,每跑完一个测试项,自动保存现场状态。中断之后,从断点继续跑,不浪费已经跑完的时间。”

吕辰眼睛一亮:“这个好。卫老师,多久能写好?”

卫知南推了推眼镜:“这套微程序我之前在芯片仿真上写过,移植过来改几个参数就行。”

“那就谢谢卫老师了。”

吕辰他转过身,看着万人敌和李工。

“万工、李工,后天跑仿真的时候,你们俩在边上看着。系统输出的数据,你们要过一遍。有些问题,系统不一定能判断出来,但你们凭经验能看出来。”

万人敌把烟点上,吸了一口:“行,我后天一早过来,带着《元器件库》的参数表,一一核对。”

李工也跟着点了点头:“我把图纸带来,摊在旁边。系统报一个数据,我对一个图纸。哪里不对,当场圈出来。”

吕辰又转向卫知南。

“卫老师,跑仿真的时候,能不能把结果实时打印出来?不是等跑完了再看报告,是跑的过程中,每完成一个测试项,就把结果打出来。哪条线串扰超标、哪个节点电压跌落,一目了然。”

卫知南想了想,从键盘上抬起头。

“能。每完成一个测试项,自动生成一行输出,写到电传打字机上。”

“行。那就这样。卫老师,这两天辛苦一下,后天一早我们过来,开始跑。”

卫知南点了点头,又转回屏幕前,继续敲代码。

吕辰走到万人敌和李工旁边,发了一圈烟。

“万工、李工,后天是关键。500多块板卡,能一次跑通最好,跑不通也正常。咱们一块一块地过,不急。”

万人敌眯着眼睛:“电源板、时钟板、总线背板、I/o板、存储板,五块核心板卡。这五块跑通了,剩下的就是修修改改。这五块跑不通,后面的就不用跑了。”

吕辰点了点头:“那就先跑这五块。其他的,等这五块定版了再说。”

三人又聊了几句,万人敌和李工先走了。

吕辰站在白板前,把那五个型号又看了一遍。

然后他转过身,走到卫知南身后。

卫知南正在写配置文件。屏幕上一行行的参数:

tEmp=25,85,-40

VoLtAGE=Nom,Nom+5pct,Nom-5pct

toGGLE_RAtE=0.2,1.0

VEctoR_dIR=/SImULAtIoN/VEctoRS/

oUtpUt_dIR=/SImULAtIoN/oUtpUt/

chEcKpoINt_INtERVAL=600

吕辰看了一会儿:“卫老师,辛苦了。今晚早点回去休息,明天还要盯一天。”

卫知南摇了摇头:“不回去了,机房凑合一宿。断点续跑的那个微程序还没写完,写完再说。”

吕辰看了他一眼,从兜里掏出两包烟,放在桌上。

“烟放这儿了,你抽。”

卫知南笑了笑,把烟收进兜里,转回屏幕前,继续敲。

10月3日,早上七点,吕辰就到了机房。

卫知南正坐在管理员终端前面,面前摊着一本打开的黑皮本子,本子上密密麻麻写满了微程序指令。

搪瓷缸子里的茶冒着热气,茶叶梗浮在水面上,散发出一股茉莉花香。

他眼睛下面有一圈青黑,但精神还好,手指搭在键盘上,随时准备敲。

万人敌和李工一人手里拿着一个笔记本,腋下夹着那本厚厚的《测试向量库》,在靠墙的位置坐下,翻开本子,把钢笔帽拧开,搁在本子旁边。

“开始吧。”吕辰走到管理员终端前,卫知南站起来,把位置让给他。

吕辰坐下来,深吸一口气。

屏幕上的光标一闪一闪的,等着他敲命令。

他的手指搭在键盘上,停了一瞬。

527块板卡,几十万个焊点,几百万条连线。

手工画了几个月,现在要在计算机上跑一遍验证。

跑通了,送加工;跑不通,改,改完再跑,跑到通为止。

他敲下第一行命令。

db> RUN SImULAtIoN /pcbA/powER_V1 /tEmp:25 /VoLtAGE:Nom /VEctoR:powER_SEqUENcE

屏幕上一行绿色的字符跳出来。

SImULAtIoN StARtEd. 16 NodES ALLocAtEd. EtA: 02:34:00

十六台午马机嗡嗡地响了起来,指示灯从绿色变成黄色,表示正在计算。

中央存储柜的指示灯也开始闪烁,读写的频率越来越快,像某种急促的心跳。

吕辰靠在椅背上,手指在桌面上轻轻叩着。

卫知南站在他身后,双手抱在胸前,眼睛盯着屏幕上的进度条。

万人敌端着搪瓷缸子,一口一口地喝着茶,目光在屏幕和笔记本之间来回移动。

机房里安静得能听见空调的嗡嗡声和磁带机偶尔转动的机械声。

进度条走了3%,停了。

屏幕上跳出一行警告:wARNING: NodE 07 tImEoUt. chEcK NEtwoRK coNNEctIoN.

吕辰眉头一皱。

卫知南已经走到第七台午马机前面,蹲下来,检查网线插头。

“松了。”他把插头拔下来,重新插紧,听到“咔嗒”一声,确认锁扣卡住了,才站起来。

“再试一次。”

吕辰敲了一行命令:

db> RESUmE SImULAtIoN

屏幕上,第七台午马机的状态从红色变成黄色,又从黄色变成绿色。

进度条继续往前走。

5%,10%,20%。

进度条走到32%,屏幕上跳出一行字符:INFo: IR dRop dEtEctEd oN powER_V1. NodE 12 VoLtAGE=4.72V (NomINAL 5.0V). thREShoLd=4.75V.

万人敌手里的搪瓷缸子停了一下,慢慢放到桌上。

吕辰敲了一行命令,调出详细信息。

db> dISpLAY IRdRop powER_V1 NodE12

屏幕上一行行数据跳出来:

NodE: KL-pwR_04

x_cooRd: 2450

Y_cooRd: 1870

NomINAL_VoLtAGE: 5.00V

SIm_VoLtAGE: 4.68V

dRop_pERcENt: 6.4

StAtUS: FAIL

万人敌站起来,凑到屏幕前,把那几行数据看了两遍。

他的嘴唇抿成一条线,眉头拧成一个疙瘩。

“4.68V,比标称值低了6.4%。规格书要求电压波动不超过正负5%。这颗芯片离电源入口最远,电源线画细了。”他的声音不大,但每个字都很清楚,“不解决,这块板子焊好了也不能用。远端芯片电压不足,会间歇性死机,而且极难复现。”

李工翻开笔记本:“得加宽电源主干道,远端增加去耦电容(100μF+0.1μF并联)。”

吕辰敲了一行命令,把这个问题记录到日志里。

db> LoG ISSUE powER_V1 “IR dRop oN KL-pwR_04, VoLtAGE 4.68V” SEVERItY:3

然后他敲了coNtINUE,仿真继续。

进度条走到58%。

这一次跳出来的是一行警告。

ALERt: cRoSStALK oN cLocK_V1. SIGNAL LINE cLK_oUt_4 coUpLING_cAp=0.38pF,xtALK_AmpLItUdE=2.30V (thREShoLd 2.00V)

卫知南“嘶”了一声,嘴里念叨着:“2.3V,超过阈值0.3V。这已经不是警告了,是警报。”

吕辰敲了一行命令,调出这条线的详细信息。

db> dISpLAY cRoSStALK cLocK_V1 cLK_oUt_4

屏幕上一行行数据跳出来:

SIGNAL: cLK_oUt_4

tYpE: cLocK

AdJAcENt_SIGNAL: dAtA_bUS_7

tYpE: dAtA

SpAcING: 0.28mm

REqUIREd_SpAcING: 0.50mm

coUpLING_cApAcItANcE: 0.38pF

xtALK_AmpLItUdE: 2.30V

thREShoLd: 2.00V

StAtUS: FAIL

万人敌凑过来看了一眼,摇了摇头。

“间距只有0.28毫米,要求是0.5毫米。两条线靠得太近,数据线翻转的时候,耦合电容在时钟线上感应出2.3V的毛刺。在ttL电平里,两伏就算高电平了。这个毛刺会被触发器误认为是有效时钟沿,导致系统不定时死机,而且极难复现。”

李工在笔记本上又写了一行:“得加大间距至0.50mm,中间插入地线隔离。”

吕辰把这个三级问题也记录到日志里。

进度条走到71%,屏幕上跳出一大片字符,一行一行往下滚。

wARNING: tImING VIoLAtIoN oN StoRAGE_V1. A12 dELAY=23.4ns (REqUIREd 20.0ns)

wARNING: tImING VIoLAtIoN oN StoRAGE_V1. d7 SEtUp=1.2ns (REqUIREd 2.0ns)

wARNING: tImING VIoLAtIoN oN StoRAGE_V1. cS pRop_dELAY=18.7ns (REqUIREd 15.0ns)

吕辰敲了一行命令,调出第一条时序违例的详细信息。

db> dISpLAY tImING StoRAGE_V1 A12

屏幕上一行行数据跳出来:

NEt: A12

FRom: mc_AddR_dRIVER

to: SRAm_08_AddR_pIN

LENGth: um

mIN_LENGth: 9800um

dELAY_cALc: 23.4ns

dELAY_REq: 20.0ns

SLAcK: -3.4ns

StAtUS: FAIL

万人敌把搪瓷缸子往桌上一墩,茶水溅出来几滴。

“这条地址线从存储控制器到远端芯片,走了微米,最短路径只有9800微米,绕了将近一倍。为了绕开那些电容电阻,自动布线器把关键路径绕远了。延迟超标3.4纳秒,时序收不住。”

李工在笔记本上写:“这个要手动拉直,得重新布局周围元件。”

卫知南在旁边补了一句:“不只这一条。存储板有好几条地址线和数据线都有类似问题。布线算法的目标函数是‘总连线长度最短’,不是‘单条关键路径延迟最小’。为了省几毫米的普通线,把关键路径绕远了。算法层面的问题。”

吕辰把这些警告一条一条地记录到日志里。

进度条走到89%。

这一次跳出来的虽然不算警告,但也不是好消息。

INFo: REFLEctIoN oN bAcKpLANE_V1. tERm_mISmAtch. ImpEdANcE=135Ω (tARGEt 120Ω)

吕辰调出详细信息。

db> dISpLAY REFLEctIoN bAcKpLANE_V1

NEt: bAcKpLANE_bUS_03

tERm_RESIStoR: 135Ω

tARGEt_ImpEdANcE: 120Ω

dEVIAtIoN: 12.5%

REFLEctIoN_coEFF: 0.059

StAtUS: pASS (mARGINAL)

万人敌看了一眼:“终端匹配电阻选大了。135欧姆,目标是120欧姆。反射系数0.059,不算大,但在高频信号里会有影响。100兆赫兹以上的信号,这种反射会累积,造成信号质量下降。”

李工在笔记本上写:“这个要更换电阻,控制在±5%以内。”

进度条走到95%,97%,97%,屏幕上的字符猛地一刷,整屏绿色。

SImULAtIoN pLEtEd.

totAL tImE: 02:58:21

pASS: 342

FAIL: 18

wARNING: 27

万人敌盯着那行数字看了好几秒,紧紧皱着眉头。

18个FAIL。27个wARNING。

卫知南敲了一行命令,生成汇总报告。

db> pRINt SImULAtIoN_REpoRt

打印机在角落里咔嗒咔嗒地响了起来。

针头打在复写纸上,一行一行地输出。

纸带从打印机里慢慢吐出来,软塌塌地垂下来,拖在地上。

吕辰走过去,撕下第一页。

那是一张总表,密密麻麻列着所有失败和警告的测试项,按严重程度排序。

最上面是SEVERItY:3(致命)的,两条。

powER_V1: IR dRop on KL-pwR_04, 4.68V (thREShoLd 4.75V)

cLocK_V1: cRoSStALK on cLK_oUt_4, 2.30V (thREShoLd 2.00V)

万人敌把那页纸接过去看了两遍:“这两个三级,必须改。不改,板子焊好了也是废品。”

李工点了点头,在笔记本上把这两个问题圈了起来,旁边画了两个大大的感叹号。

卫知南继续翻报告。

SEVERItY:2(严重)的5条。SEVERItY:1(一般)的11条。

吕辰把打印出的报告从头到尾翻了一遍,每翻一页停一下,目光在那些数字上扫过:“万工、李工,这两块板子,今天改完。明天一早再跑一遍仿真。通过了,送加工;通不过,再改。其他的板子,一级和二级的问题,也一并改完。”

万人敌点点头:“行,我马上去通知所里改,明天之前改完。”

李工站起来,把钢笔插回兜里,笔记本夹在腋下。

“万工你在这边看着,我回去看着他们改。”

吕辰道:“李工不要急,所里先改着,咱们一鼓作气,把仿真走一遍,然后再回去盯着。”

接下来,大家又开始了其他板卡的仿真。

直到深夜,白天,又一个深夜。

《四合院:我是雨水表哥》— 做梦都不放过 著。本章节 第569章 板卡仿真 由 玉宇小说库 整理,如需阅读完整章节请翻页。

本章共 9311 字 · 约 23 分钟阅读 · 章节有错误?点此报错

📚 同类推荐 更多 其他 →

🔥 大家都在看 排行榜 →

御鬼者****
沙之愚者
御鬼者传奇
沙之愚者
📝 我的本章笔记
17px

玉宇小说库 全本小说免费阅读网 - 内容仅供交流学习

投诉/建议请发送至 dmca@www.biaobenwu.com,我们会及时处理