演算コードの定義


制御信号に冗長性を持たせない場合、制御信号は4ビットで事足ります。PASS 以外の演算は、KITEプロセッサの演算命令のオペレーションコード(第13〜10 ビット目)と一致させることが可能です。これに合わせることでALUの制御信号 生成を簡略化することができます。 命令表と照らし合わせて確認してみましょう。

演算種類 制御コード
加算(ADD) 0000
減算(SUB) 0001
インクリメント(INC) 0010
デクリメント(DEC) 0011
論理和(OR) 0100
排他的論理和(EOR) 0101
論理積(AND) 0110
論理否定(NOT) 0111
論理左シフト(LSL) 1000
算術左シフト(ASL) 1001
論理右シフト(LSR) 1010
算術右シフト(ASR) 1011
左回転(ROL) 1100
右回転(ROR) 1101
パス(PAS) 1110
バイトスワップ(SWP) 1111


演算のコードを `define を使用して記述してみましょう。この定義により, ソース中で 0や1 のようなビットパターンではなく任意のラベルとして演算を 参照することができます.これらの定義は "alu_op.v" ファイル中に記述しセー ブします。

  `define IADD 4'b0000
  `define ISUB 4'b0001
     ...
     ...
alu.v ファイルからは alu_op.v ファイルを参照するように記述しておきます。
`include "alu_op.v"

module alu ( ... );
  ...
endmodule


次は、 演算の記述 についてみていきます。


| Back | CAD Home |

My mail address is kuga@cs.kumamoto-u.ac.jp .
Last modified on