我正在为我的大学毕业做这个项目。我已经为我的一门课程做了一个流水线 CPU 并在 Logisim 程序中对其进行了模拟,但现在我需要将 CPU 闪存到我的 FPGA 并为这个 CPU 编写游戏。所以我想改进我的架构,也改变了一些功能,因为我真的不知道它应该如何工作。问题在于内存访问,在第一张图片上你可以看到我的第一个 CPU。逻辑是:读取操作码->解码并准备操作数->根据需要读取内存->检查 JMP(CJE,CJNE...)->算术和逻辑计算->将答案写入寄存器或内存(我在这里延迟了如果需要不与读取内存操作冲突 - 避免内存危险),则为所有流水线提供 1 个时钟。
现在我想为我的游戏插入一些图形,并添加一个与 PPU(图片处理单元)合作的片段。
另外,我在互联网上看到很多将内存段放在执行段之后的例子,这对我来说是无法理解的。如果我需要从内存中读取 MEM 变量然后将其添加到 A,我如何实现像 ADD A、MEM 这样的操作码?或者我错过了什么?你能帮我解决这个问题吗?