"); //-->
3BSE050198R1 重置逻辑通过握手协议跨越时钟域
也就是说,这让我有点进退两难:这是一位善良的退休绅士。他没钱雇工程师。我花在修复他的错误上的时间永远不会得到报酬,而且当时我的盘子里有要求很高的工作。另一方面, ZipCPU中的错误 会影响我的工作,我会努力让我的 github 存储库正常工作和调试。
所以,我花了一个星期六来调试他的问题。
果然,这不是 ZipCPU中的错误。是的, ZipCPU测试用例不再在他的硬件上运行,但问题不在 ZipCPU 中。他的问题是由于他复制的 SDRAM 控制器配置错误,然后更改以匹配他的芯片。那是在对 SDRAM 的工作原理了解甚少(如果有的话)的情况下进行的复制和更改。
这是最好的巫术工程:
Voodoo Engineering,Defn: 改变未损坏的,试图修复损坏的。
更糟糕的是,SDRAM RTL 被以一种方式修改,SDRAM 仿真模型 不再匹配。
因此,作为一位好心的老师,我试图指出,如果他的设计在仿真中不起作用,他就没有必要在硬件上运行或调试他的设计。
事实上,我走得更远:我指出他设计的 SDRAM 部分有一个错误。
然而,这不再是我觉得有责任的控制器。是的,它最初是我的控制器,但后来 Pi 对其进行了更改并进行了重大修改。当然,我可以为他调试,但谁会为我的时间买单?这不是我的 SDRAM 控制器中的错误,也不是我的 C++ SDRAM 模型中的错误,也不是ZipCPU中的错误。这是 Pi 更改中的错误。
不用说,Pi 非常沮丧。据我所知,他至今仍深陷 FPGA 地狱。更糟糕的是,他似乎已经放弃了 RTL 设计,而且他肯定已经停止尝试让 ZipCPU在他的板上工作。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。