晚上十一点多。电脑风扇呼噜呼噜喘着粗气。屏幕刚暗下去,我顺手摸过孟宪元那本《FPGA嵌入式系统设计》,指尖停在某一页上。作者说话不绕弯子:FPGA芯片的面积和逻辑资源是有限的。你不能把所有功能模块都硬塞进去。必须做裁剪,做软硬协同。

盯着那行字发愣。这事儿大概就是这么个意思。人吧,有时候真跟块硅片似的。

书里掰开揉碎讲怎么拿VHDL搭系统,怎么用ISE把抽象代码敲成实实在在的硬件逻辑,怎么在指甲盖大的芯片里塞进软核处理器。每一步都在跟“容量”死磕。空间挤了,就砍掉花里胡哨的冗余;逻辑打架了,就往后拖时序。工程师管这叫约束驱动设计。可咱们过日子,偏偏反着来。

白天在公司,我恨不得把日程表摞成墙。早八回三十封邮件,上午连开三个会扯皮,下午赶项目进度,晚上还得勒着自己背二十个单词、跑三公里。仿佛只要把缝隙填满,这一天就算没白过。直到某个周末,我瘫在沙发上盯着天花板。胸口突然像塞了团湿棉花。不是累。是过载。脑子里那些想搞定的目标、想端着的人设、想攥在手里的机会,全在后台吭哧吭哧抢内存;可身子骨这块“硬件”,早就红灯狂闪了。可能我当初真高估了自己的散热片。

起初我总觉得自己是“底层代码”写得烂。转头去啃时间管理课,下载一堆效率软件,妄图用更骚的操作算法榨出多一小时。后来才咂摸过来。报错的压根不是程序。是芯片物理尺寸,就摆在那儿。搞FPGA的工程师门儿清。架构再牛逼,也顶不住硅片面积的死限。人家不硬刚,懂得下刀。把用不上的模块直接掐掉,把打架的资源重新排线,让软件逻辑和硬件底子互相递个台阶,最后稳稳当当跑在合适的频率上。

过日子跟这破事儿其实一个理儿。不过话说回来,“全栈”这词儿现在被吹得太神了。真以为人能啥都抓?未必。扯淡。

咱们总被教导要当成年人里的“全栈开发”。什么都会一点,什么都想抓。可现实是,人的带宽就那么宽。你非要让工作、家庭、爱好、社交同时跑满,系统迟早会死机。书里提到软核的概念,说它灵活、可配置,能根据需求改变形态。其实咱们的脾气秉性也该是软核。碰见啥境况就缩成啥样。可我们偏拿电烙铁把它焊死在标准件上,逼着自己永远高效、永远在线、永远不出错。可能成年人的体面,就这点虚火。

这话听着可能有点绕。但掰开揉碎了看。真就是咱们的日常。

我现在也不敢说自己想明白了。只是偶尔在地铁上看着陌生人发呆的时候,会顺手掐掉几个后台进程。不较劲今天够不够充实。不拿秒表算产出比。跟工程师综合报错时一样,不急着改代码,先翻翻资源分配表。把那些“本来应该”、“别人都在做”、“将来肯定用得上”的模块,一个个标上“可砍”。大概删掉两三个,系统反而能多跑半年。

芯片没嘴。电流过去了就过去了,热极了自己降频保命。人倒好,天天给自己加戏。拿焦虑当脑子使,拿瞎忙当方向盘。说真的,在一块有限的芯片上,能把系统跑顺溜,就已经挺不容易了。不用非得把所有功能都点亮。更不用天天满负荷干到冒烟。

屏幕彻底黑透。屋里的风扇声也慢了下来。我把书往旁边一搁。没再碰电脑。留点白。系统反而跑得长久。