11 月做了什么
2024 年 11 月,绝对是我这一年里最难受的一个月。因为在 ysyx SoC 这一块,我整整卡了一个月。
这个月我做了不少事情:学了一点 Rust,重构了 npc,重构了 AXI4-Lite 握手机制,折腾 FPGA,并在上面跑起了 npc,还顺手做了一次 ysyx 分享。当然,最重要的事情还是把 npc 接入 SoC。
这个接入过程可以说是一波三折。为了让 npc 顺利接入,我重构了很多模块。好在最后,它终于接进去了。
最难的是最后查看握手信号的那段时间。当时有几个握手信号和我的预期不一致。我反复检查 SoC 的 MROM 模块,检查了很多遍,还打印了一些信号,但传给 master 的信号就是不对。
那几天我甚至怀疑 SoC 本身有问题,怀疑计算机科学不存在了,甚至怀疑是不是三体人给我的计算机发射了一个智子,专门干扰我做实验。
后来,我深思熟虑之后,把问题描述写了好几页,发到讨论群里。很快,群里的小伙伴提醒我:可能是 reset 的问题,可以先让 npc reset 10 个周期。
听到这个建议的瞬间,我一下子来了兴致。因为我能感觉到,问题很大概率就出在没有 reset 上。
果然,我把 reset 加上之后,终于成功了。
这个问题整整卡了我 3 天。那几天里,我每天几乎都花 8 个小时以上思考这个握手信号。真的非常感谢群友。
虽然卡得很久,但我也确实收获了很多。我学到了许多 npc 之外的知识,也更深地感受到了专注的力量:只要持续盯着一个问题思考,就一定会有收获。