各コンポーネントの仕様 - TMU-VHDL-team2/sqrt GitHub Wiki
クロック(CLK)
入力:
出力:
機能:
制御信号生成回路
入力:
- クロック信号・1ビット
- 命令レジスタより機械語・16ビット
出力:
- バスAの入力選択信号・3ビット
- バスBの入力選択信号・5ビット
- バスA,Bへの実効アドレス値(機械語の第二オペランド)・8ビット
- 汎用レジスタのラッチ・1ビット
- 汎用レジスタのバスA出力選択信号・4ビット
- 汎用レジスタのバスB出力選択信号・4ビット
- 汎用レジスタのバスC入力選択信号・4ビット
- 命令レジスタのラッチ・1ビット
- フラグレジスタのラッチ・1ビット
- プログラムレジスタのラッチ・1ビット
- プログラムレジスタのカウンタ機能フラグ・1ビット
- MARのラッチ・1ビット
- MDRのラッチ・1ビット
- MDRの入力選択信号・1ビット
- メモリのアドレス変更ラッチ・1ビット
- メモリの書き込み可能フラグ・1ビット
- メモリの読み出し可能フラグ・1ビット
- ALUへのニモニック・4ビット
機能:
- 命令レジスタから機械語を読み込み、クロックが立ち上がるごとに制御信号を生成する
バスA
入力:
- 汎用レジスタの内容・16ビット
- MDRの内容・16ビット
- 実効アドレス値・8ビット
- 入力選択信号・3ビット
出力:
機能:
- 入力を制御信号に従って選択し、命令レジスタやALUへ送る
バスB
入力:
- 汎用レジスタの内容・16ビット
- プログラムレジスタの内容・16ビット
- MARの内容・16ビット
- MDRの内容・16ビット
- 実効アドレス値・8ビット
- 入力選択信号・5ビット
出力:
機能:
バスC
入力:
出力:
機能:
命令レジスタ
入力:
- クロック信号・1ビット
- バスAの内容・16ビット
- ラッチ・1ビット
出力:
機能:
- ラッチが1かつクロックが立ち上がったとき、バスAの内容を保存する
フラグレジスタ
入力:
- クロック信号・1ビット
- オーバーフローフラグ・1ビット
- サインフラグ・1ビット
- ゼロフラグ・1ビット
- ラッチ・1ビット
出力:
- オーバーフローフラグ・1ビット
- サインフラグ・1ビット
- ゼロフラグ・1ビット
機能:
- ラッチが1かつクロックが立ち上がったとき、それぞれのフラグの内容を保存する
プログラムレジスタ
入力:
- クロック信号・1ビット
- バスCの内容・16ビット
- ラッチ・1ビット
- カウンタ機能フラグ・1ビット
出力:
機能:
- ラッチが1かつクロックが立ち上がったとき、バスCの内容を保存する
- カウンタ機能フラグが1かつクロックが立ち上がったとき、内容を1増加させる
MAR
入力:
- クロック信号・1ビット
- バスCの内容・16ビット
- ラッチ・1ビット
出力:
- メモリに送るアドレス・8ビット
- 内容(メモリアドレス)・16ビット
機能:
- ラッチが1かつクロックが立ち上がったとき、バスCの内容を保存する
- メモリに送るアドレスは、内容の下位8ビット
MDR
入力:
- クロック信号・1ビット
- バスCの内容・16ビット
- メモリの内容・16ビット
- ラッチ・1ビット
- 入力選択信号・1ビット
出力:
機能:
- ラッチが1かつクロックが立ち上がったとき、入力選択信号が0ならバスCの内容を保存する
- 同様に、入力選択信号が1ならメモリの内容を保存する
メモリ
入力:
- クロック信号・1ビット
- MARからのアドレス・8ビット
- MDRの内容・16ビット
- アドレス変更ラッチ・1ビット
- 書き込み可能フラグ・1ビット
- 読み出し可能フラグ・1ビット
出力:
機能:
- 16ビットの記憶領域を256個持つ
- ラッチが1かつクロックが立ち上がったとき、MARからアドレスを取得する
- 書き込み可能フラグが1かつクロックが立ち上がったとき、アドレスが指す領域にMDRの内容を保存する
- 読み出し可能フラグが1かつクロックが立ち上がったとき、アドレスが指す領域の内容を正しく出力する
汎用レジスタ
入力:
- クロック信号・1ビット
- バスCの内容・16ビット
- ラッチ・1ビット
- バスA出力選択信号・4ビット
- バスB出力選択信号・4ビット
- バスC入力選択信号・4ビット
出力:
- バスAへの出力・16ビット
- バスBへの出力・16ビット
機能:
- 16ビットの記憶領域を16個持つ
- ラッチが1かつクロックが立ち上がったとき、バスC入力選択信号が指すレジスタにバスCの内容を保存する
- バスA出力選択信号が指すレジスタの内容を出力する
- バスB出力選択信号が指すレジスタの内容を出力する
ALU
入力:
- ニモニック・4ビット
- バスAの内容・16ビット
- バスBの内容・16ビット
- オーバーフローフラグ・1ビット
- サインフラグ・1ビット
- ゼロフラグ・1ビット
出力:
- 計算結果・16ビット
- オーバーフローフラグ・1ビット
- サインフラグ・1ビット
- ゼロフラグ・1ビット
機能: