如何在ALU中实现Verilog中的立即添加?

时间:2015-02-24 08:44:01

标签: mips verilog xilinx operand alu

我正在为MIPS处理器使用32位ALU。 我已经阅读过Pong Chu关于verilog和其他文本的书,但我还没有真正得到一个具体的答案,我是如何用verilog实现一个立即添加的?

例如使用asm代码: addi Y,A,立即

添加就像y = a + b一样简单 但是我如何解释一个立即操作数呢?

1 个答案:

答案 0 :(得分:1)

总的来说,您可以通过以下方式为这样的函数实现不同的操作数功能:

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

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

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

wikipedia page on the MIPS architecturediagram显示以这种方式使用的多路复用器。