0

I'm working with a 32-bit ALU for a MIPS processor. I've read Pong Chu's book on verilog and other texts but I haven't really come across a concrete answer as to how exactly I would implement an add immediate with verilog?

for example with the asm code: addi Y, A, immediate

add is as simple as y = a + b but how do i interpret an immediate operand?

4

1 回答 1

1

总而言之,您可以通过以下方式为诸如此类的函数实现不同的操作数功能:

实现一个 add 函数,其中操作数通过多路复用器馈送。多路复用器将有几个输入,其中一个是指令字的立即值。使用指令字的操作码部分来选择要用于加法的多路复用器输入。

多路复用器的其他输入可能是“寄存器”内存的输出、处理器中其他位置的转发路径等。

我没有提供任何代码,但这完全取决于您已经拥有的现有结构。希望这份概述足以让您走上正轨。

MIPS 架构上的维基百科页面有一张图表,显示了以这种方式使用的多路复用器。

于 2015-02-24T10:53:53.900 回答