neosでlogix その41
概要
niosでlogixやってみる。
練習問題、やってみる。
構想編。
練習問題
cpuを実装せよ。
1から100まで、数えよ。
方針
レジスタマシンを作る。
機能毎に、実装する。
命令セット
命令セットを作る。
code | ニーモニック | 動作 |
---|---|---|
0 | nop | - |
1 | ifc adr | if (c > 0) pc = adr |
2 | ldb i | b = i |
3 | ldc i | c = i |
4 | inc | b = b + 1 |
5 | sub | c = c - 1 |
6 | out | tostr b |
1から100まで、数える。
ldb 0
ldc 100
loop:
inc
out
sub
ifc loop
nop
ハンドアセンブル
2 0
3 100
4 0
6 0
5 0
1 2
0 0
プログラムカウンタ部
- 入力
ldb 0
ldc 100
loop:
inc
out
sub
ifc loop
nop
2 0
3 100
4 0
6 0
5 0
1 2
0 0
プログラムカウンタ部
- 入力
パルス、行番号
- 出力
パルス、プログラムカウンタ
- 動作
タイマーでプログラムカウンタをインクリメント
ROM部
- 入力
パルス、プログラムカウンタ
- 出力
パルス、オペコード、オペランド
- 動作
プログラムカウンタの示すROM内容を命令デコードして出力する
実行、レジスタ部
- 入力
パルス、オペコード、オペランド
- 出力
パルス、cレジスタ、パルス、行番号
- 動作
命令を実行する
アウト、表示部
- 入力
パルス、cレジスタ
- 出力
なし
- 動作
cレジスタの値を文字にして表示する
以上。
Author And Source
この問題について(neosでlogix その41), 我々は、より多くの情報をここで見つけました https://qiita.com/ohisama@github/items/f3aeda815c031a431d5a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .