• 簡単な説明
    ck.v8bitのエセカウンタ
    cu.v制御回路
    eu.vALU
    io.vOUT命令用
    minicpu.vtop module
    mu.vメモリ
    mul.mifメモリ内容(256Byte)
    ram_8.vメモリの下請け
    ru.vレジスタ
minicpuは以上9ファイルから構成されています。top moduleから入力する信号はclkとres信号です。 それぞれクロック信号とリセット信号に対応します。 評価ボードに搭載されているクロック信号は33Mhzです。(L6ピン) それをck.vで8分周してminicpuに与えています。
   Captain of the Ship
res信号はボード内の赤いディップスイッチ1番(Y10ピン)に割り付けてあります。 スイッチをclose側にする事によって信号はlowレベルに出来ます。

minicpuの仕様として、最初はlowレベルにしておかなければなりません。 ダウンロードが終了し、動作し始めた状態でopen側にすると動きだします。

ロジアナのプローブはJ11ヘッダピンに写真のように 取り付けてください。上8つは実は未使用なので繋がなくてもOKです。
サンプルプログラムの内容は掛け算プログラムになっています。 [0a]h*[0a]h を行い、結果として[64]h がアキュームレータに格納されます。

ロジアナの波形に[64]hが表示されれば成功です。

プログラムの内容を以下に示します。


00: +00:81 00 LD #00 Acc <- 00
+02:01 82 ST (82) Acc -> MEM[82]
+04:81 08 LD #08 Acc <- 08
+06:D1 83 ST (83) Acc -> MEM[83]
       
II: +08:91 81 LD (81) Acc <- MEM[81]
+0A:87 01 TST #01 Acc & 01 (Change flag Z only)
+0C:5E CLC CF <- 0 Carry Flag Clear
       
+0D:91 82 LD (82) Acc <- MEM[82]
+0F:C3 02 JZ +02 (LL) Jump if 0
+11:98 80 ADD (80) Acc <- ACC + MEM[80]
LL: +13:7A RRC Rotate Right with Carry
+14:D1 82 ST (82) Acc -> MEM[82]
       
+16:91 81 LD (81) Acc <- MEM[81]
+18:7A RRC Rotate Right with Carry
+19:D1 81 ST (81) Acc -> MEM[81]
       
+1B:91 83 LD (83) Acc <- MEM[83]
+1D:71 DEC Acc <- Acc -1
+1E:D1 83 ST (83) Acc -> MEM[83]
       
+20:C3 02 JZ +02 (SS) Jump if 0
+22:C8 08 JMP #02 (II) Jump II
SS: +24:91 82 LD (82) Acc <- MEM[82]
+26:0E OUT Out Acc
+27:91 81 LD (81) Acc <- MEM[81]
+29:0E OUT Out Acc
END: +2A:0F HLT
       
       
80: +00:0A (80) 被乗数
+01:0A (81) 乗数
+02:00 (82) 答え
+03:00 (83) ループ回数