当前位置:首页 >探索 >揭秘FPGA妄想难题:芯片降生也能影响功能展现

揭秘FPGA妄想难题:芯片降生也能影响功能展现

2024-05-13 13:11:36 [探索] 来源:自始至终网

作者:隐达

(一)昨夜东风凋碧树。揭秘降生独上高楼,妄想望尽咫尺路

2000年的难题时候,做妄想根基都是芯片运用Xilinx公司的Virtex以及Virtex-E系列芯片。那时候Altera技术实力还比力弱,也能影响基于Altera的展现芯片做妄想是要被巨匠diss的。某天破晓约莫十点多了吧,揭秘降生我正如痴如醉的妄想沉浸在编码的快感之中。主管悄无声息的难题站到了我去世后,我从展现器中看到了隐约的芯片影子,转头一看果真是也能影响他老人家。

主管神色凝重,展现眉头紧蹙。揭秘降生我在脑子里快捷回顾了一下自己最近的妄想所作所为,确信没干甚么罪孽深重、难题自绝于国夷易近的坏事儿,用发抖的语气毛骨悚然的问:老大,您找我?老大的神色快捷地转换,清晰在说:蠢货,你又不是甚么萌妹子,若是没事儿你以为我老人家违心屈尊站到你这儿么?after一个蓝衣女子般的风情万种的白眼之后,老大终于开腔了。

“咱们学文科的都不信鬼神对于吧?”年迈,你这是甚么竣事白?!我那会儿不外才使命两年多,纯挚的像一张黑不溜秋的白纸,根基识别不了您这是豫备给我刨甚么坑好吧,为啥你要给我出这样的难题?老大展现了一些不急躁:“多少个月以前到如今,有一批单板邪门儿了,有的使命个别,有的就不断的出乱码。经由巨匠废寝忘食没白没黑费精血汗玩儿命的加班定位之后,巨匠不同以为下场出在这块单板上的FPGA上”。早说嘛,FPGA我熟啊。“老大,下场既然都定位了,那就处置嘛”。老大展现了惊惶的神色:我X,你这货是奈何样混进我司的?转头老子要找当初面试你的人算账!老大深吸了一口吻,带着“老子再忍你十秒钟的神色”不断说:“这个FPGA一共9000多挨近一万行代码,最关键的是,妄想这个FPGA的共事三周前就去职了。如今尽管判断了下场出在这个FPGA,可是事实是甚么下场还不知道。以是呢,巨匠商量了一下,抉择临时把你抽调进去,起劲投入这个使命。一呢,要搞清晰事实是甚么下场,二呢,把下场残缺处置掉”。

要不奈何样说昔时的我便是纯挚啊,若是放到如今,这确定是一个绝佳的跟老大讨价讨价、多给自己抢夺个仨瓜俩枣的好机缘啊。彼时纯挚(着实便是弱智)的我却感应天大的揭示自己本领的光阴终于到来了,于是欣然接受。老大神色轻松了一些,但还带着少许怀疑:这货不知道行不可,愿望不要把老子也坑了。而后溜溜达达的走了。

(二)衣带渐宽终不悔,为伊消患上人干瘦

我一早晨无眠,留意脏不断在忽冬忽冬滴乱跳。越日我一头扎进了封锁的试验室。试验室里堆了良多多少多单板,好的一堆,坏的一堆,而后种种仪器以及电脑。整整一周,我都在试验室里瞎折腾,除了一遍又一遍的证明了下场天气简直如老大所形貌的,而后便是看那9000多行的HDL代码。写代码的共事不知道是分心的仍是习气如斯:诠释少的可怜、妄想文档以及实际代码差距极大(文档在说瓜果概况桃子最佳吃,代码写的是大飞机C919很英武)、变量的命名也毫无纪律,后缀_addr的变量居然是数据总线,而后缀_data的变量才是地址总线。我心说:“哥啊,地球人都知道花花轿子人抬人。你我似曾经清晰、似曾经清晰、萍水那个从未邂逅,可为神马你就知道我要被派来操持你的烂摊子,这么多花着来操持我涅?”

一周毫无妨碍,我很恼恨。糊里糊涂的过了周末(着实也便是周日一天),周一不断钻进试验室。凋谢办公区里莺歌燕语,其乐滋滋,就我一总体傻兮兮的在试验室里古佛青灯统筹影自怜,至关称患上上凄凄凉惨戚戚。中间老大时不断的以前体贴我一下,着实便是督工外加魔难进度。可是没进度可言:我根基不知道下场出在哪里,这么短的光阴把小一万行HDL代码都看清晰也不可能。假如我能的话,那我理当去做老大的老大了(那会儿巨匠都敬仰技术牛人,普遍感应谁技术牛谁就理当做老大)。

一转瞬就到周五下战书了,我在试验室里仰面恼恨。双手捂着脸,开始报怨自己为甚么接使命的时候才泛起智商余额缺少的fatal error。大显法术是残缺的forget about it了,弄欠好倒可能因此把自己给舍身了。继而开始报怨主管:我不断是顺夷易近,挺听话也挺出活,你为啥要给我刨这么大的一个坑涅?百撕不患上奇解啊。一头雾水兼百无聊赖,我拿起一块单板,盯着那片FPGA。嗯,这里写着Malaysia,没想到Xilinx在大马尚有工场。换一块单板,嗯,仍是Malaysia。这不是空论么,买一批至少也是多少千片,尽管都是Malaysia。正要仰天浩叹“天亡我也,非我不能也”,猛然望见另一块单板的FPGA上印的彷佛不是Malaysia,拿起一看,果真印的是Taiwan。终于找到一点专神思的使命做了,于是再拿一块,嗯,Taiwan,再拿一块,嗯大马。拿着拿着,猛然发现一个纪律:从那堆坏板子里拿的都是印着Malaysia;从那堆好板子里拿的都是印着Taiwan。

(三)众里寻他千baidu,蓦然回顾,那人却在,灯火消退处

工程师都知道,追寻好板以及坏板之间的“差距”是定位下场的利器之一啊。因此当时尽管不哀痛欲绝,可是也隐约看到了一丝曙光。

我冲出试验室,一溜小跑去了焊板试验室。找到了焊板的共事,让他现场给我焊两块单板,一块必需用产自信马的FPGA,一块必需用产自台湾的FPGA。那个老兄很怪异的看了我一眼,而后又一眼。其后我才想清晰估量我是第一个在意芯片产地的怪咖。

我就站在他中间,看着他使命,感应光阴过患上奇慢颇为。拿到了焊好的两块板子,又以百米冲刺的速率杀回试验室,模摸糊糊听到有共事在报怨:发哪门子神经,刮这么大的风。我以迅雷不迭自欺欺人之势,先把台湾板子装置好,上电启动、加载、运行,果真是好的;拆掉台湾,换上大马板子,上电启动、加载、运行,果真出误码了。下场确诊了!为了保险起见,我从坏板以及洽板堆里各取了两块单板妨碍了验证,天气是不同的。

此时距离下班也就十多少分钟了,我赶紧去了老大的工位,强压着鸡冻滴留意境,向老大陈说:“老大,见告破费那边,发货只能用产自台湾的芯片,马来西亚的刚强不能用。我怀疑产自马来西亚的芯片的容差小,产自台湾的芯片的容差比力大。而妄想自己确定存在时序打擦边球的情景,导致使用产自马来西亚芯片的单板会出误码,而运用产自台湾的芯片则不下场。事实是哪里的时序存在擦边球的隐患,我还需要进一步熟习代码,追寻之而更正之而长治久安也”。老大罕有的展现了笑颜:“嗯,不错不错!这两周辛勤了,回去好好劳动,下周起劲处置下场。啊,对于了,你该刮胡子了。”

周末跟妻子(那时候仍是女同伙)去搓了一顿大餐,逛街,看片子,累患上半去世,可是情绪那是至关的欢喜。

我从试验室回到了工位,在感触人世烟火气的同时,起劲看代码。子细的看了一终日之后,我发现前共事对于“同步”、“组合逻辑嵌套条理不能过多”等妄想原则残缺不care,隐患到处都是,要想残缺的处置这些隐患,惟独一个措施:推倒重来。我去找老大剖析了想法,老大说:“要不要这么夸诞?劳资派你去处置下场,你处置下场便是了,搞这么大工程进去,有需要末?”我说:“老大,我以一个工程师滴半生清誉保障:假如不推倒重来,下场根基不能残缺处置。”老大无奈的挥了挥手,语言的同时目露凶光兼恨之入骨:“是否推倒你来定。但素,市场那边给出的预料是至多三个月内,这块单板就会迎来发货高峰,到那时不论若何也要保障FPGA不出任何下场。你有定夺滴干活?”“饿夫考斯啊老大,不金刚钻,不揽磁器活啊”,我心说:“你若是允许给我加五百块人为,没准儿我敢应承一半的光阴就给你搞进去”。

服从不到三个月,我的全套重写的代码就实现为了,编译、加载、测试:不论是产自台湾的芯片仍是马来西亚的芯片,残缺没下场。老大不耽忧,特意多找了多少块焊着马来西亚芯片的板子一遍又一遍的测试,服从依然是no problem at all。

老大笑靥如花(港版那个),眼睛眯成为了一条缝儿:“小样儿,行啊!”我只顾嘿嘿傻笑,服从忘了趁热打铁跟老大提加薪。已经有一个机缘摆在我眼前,我不珍惜。假如有重来一次的机缘,我特么会加一个十万光年的期限。

过了没多久,Xilinx公司也发来了陈说:由于马来工场的某个车间顶部一个窗户没关严,导致车间纯挚度不够,以是那段光阴破费的芯片尽管各名目的都在及格规模内,可是都在边缘,从而容差能耐都比力低。公司已经发现并做了响应处置,之后破费的芯片从不同性方面跟台湾产的芯片不差距了。

Well,这便是我从业生涯中碰着的“芯片也要看降生”的“灵异”使命。给我的印象是如斯之深,18年后我依然记患上清朗白楚。下场处置是在2000年的9月份,第二年,我惨遭表彰,取患了某公司的最高声誉:XXXX奖。

后记:

1.着实下场定位的历程很痛苦,也比文中形貌的要重大,由于那批单板运用的FPGA芯片尚有另一个产地:韩国。在定位下场的历程中,台湾以及韩国的芯片加载原共事的妄想都不下场,马来产的就不可。于是比对于、比对于、再比对于,最终判断了下场出在马来产的芯片上。

2. 我重写后的妄想残缺不分说芯片的产地。接管原共事妄想、已经发货的那批单板,运用产自台湾、韩国的芯片而临时没出下场的,总量约莫多少千块吧,这些单板在条件爆发变更时(好比温度变更、电压变更),出误码是确定的。幸好那时候经营商对于国产厂家都比力重办,用服的共事找了种种机缘,神不知鬼不觉的对于这些单板上的FPGA重新加载了新版本,残缺消除了隐患。

3. 9000多行代码,我用了约莫70个使命日妨碍了重写,合计开拓功能,约莫是130行/人天。实际上,我做过总体职业生涯的不残缺统计:运用HDL开拓FPGA,从全流程的角度来合计(从需要合成到最终宣告),功能不会逾越20行/人天,跟软件开拓功能简陋相似。尽管,随着新的妄想语言以及工具等方面的后退,开拓功能会逐渐提升是毫无疑难的。

4. 文档真的很紧张、很紧张、很紧张。良多人会说:全部妄想(模块)我闭着眼睛都能知道哪行代码是干嘛的,文档意思不大。但素,人的影像是会消退的。假如妄想百孔千疮、不任何下场,在全部性命周期里不任何降级概况功能变更,那末文档概况没那末紧张。但素,巨匠想一想,对于FPGA来说,上述条件全副知足的多少率是否以及行星撞地球差未多少?我简直重写了全部妄想文档,基先天保障文档形貌的是西施,而妄想至少是凤姐。

------

本文作者:隐达,阿里云资深专家,混名的意思便是做人隐,处事达。业余光阴爱都雅美剧以及念书,特意是历史乘;还喜爱喝点小酒侃大山,饮酒只喝啤酒以及威士忌;酒量比力差,可是酒品还过患上去。我在某通讯公司使命了18年,其中十年的大规模FPGA/ASIC开拓以及零星妄想,适才退出阿里云,负责FPGA/ASIC异构合计。

审核编纂:黄飞

(责任编辑:知识)

    推荐文章
    热点阅读