フォト
無料ブログはココログ

TD4/GMC-4

2014年8月25日 (月)

TD4(2)

 以前作ったTD4のページに掲載しているサンプルプログラムが間違っているのではというコメントが付き、調べてみると確かに間違っていたのでシミュレータ(logisim)でシミュレーションしてサンプルプログラム(ナイトライダー)は正しく動作することを確認した。

 もうひとつのサンプルプログラム(テニスゲーム)は、プログラムが25byteある。作ったときにはスイッチで入力していたのだが、さすがに面倒になったので、arduinoを使ってプログラムローダを仕立てた。

 機能は、プログラムのロードと実行のモニタである。

○プログラムのロードは
手作業でやっていた、
スライドスイッチでプログラムをセット→書き込み(WE)ボタンを押す→ステップ・ボタンを押す
の動作を自動的にやるようにしたもの。

○実行のモニタは
クロックの立ち上がりをモニターして実行しているアドレスと機械語を表示するというもの。

Td4tenis ←奥の緑色の基板が秋月で基板を買って作ったArduinもどき

Programloader

 LコマンドでArduinoにプログラムをロードして、WコマンドでTD4もどきのプログラムRAMに書き込む。Mコマンドで実行しているアドレスと機械語が表示される。

Td4_tenis0000

ダウンロード TD4_tenis1.avi (923.5K)

2014年8月18日 (月)

Logisim

 以前作ったTD4のページに掲載しているサンプルプログラムが間違っているのではというコメントが付いた。 よく見ると確かに間違っているようだ。

 じつはTD4は3回くらい作った。
Spartan3Eとトラ技のおまけのMAXIIと
↓74シリーズで作ったTD4もどきだが、回路図も間違っていた。

20140810td4

 FPGA、CPLDで作るときにはISEやQuartusIIでシミュレーションできる。標準ロジックを使用した回路のシミュレーションも標準ロジックをHDLで書いてライブラリにしておくとISEやQuartusやModelSimでシミュレーションできるのだけれど、簡単に論理レベルでシミュレーションできるものを探したらLogisimを見つけた。

 Logisimはオフィシャルサイトの DownloadページLogisim's SourceForge.net page. からDLする。
シミュレーションに必要な7400シリーズのライブラリは Related linksページ7400 series Logisim library from Ben Oztalay (ZIP, uncompressed) から7400シリーズのライブラリ(7400-lib.circ)をDLしておく。

 このライブラリには、74173(4bit D-type Registers with 3state output),74283(4bit binary adder), 74259(8bit addressable latches)が含まれていないので、 このライブラリ(7400-lib-td4.circ 33.3K) を使用する。

ライブラリは、[Project]→[Load Library]→[Logisim Libray...]で
7400-lib.circと7400-lib-td4.circを読み込んでおく。

シミュレーションファイルは、これ (TD4-Yoshi.circ 43.5K)。 プログラムは これ KnightRider.bin

Td4sim
ダウンロード TD4-sim-1.avi (922.5K)

2012年9月27日 (木)

大人の科学 vol24

大人の科学 Vol24 4ビットマイコン

2009年に発売されたVol24の付録は4ビットマイコンで発売されてすぐに買って遊んだ。
Kagaku_vol24

付録のGMC-4は1981年に発売された電子ブロックシリーズに含まれるFXマイコンの復刻版らしい。
Gmc4

 レジスタは8個、命令は30個だが半分は組み込みサブルーチンへのCALLなので、アセンブラを作るのは簡単(スクリプト言語でチョコチョコっと作れるくらい)だ。何種類か公開されていたはず。

 yacc,flexの勉強がてら2パスアセンブラを作った。yaccの課題で電卓の次としてはちょうどいいくらいだった。プログラミングは命令が少ないので覚えてしまうくらいだがやはりアセンブラがあるとずいぶん楽だ。

 プログラムメモリが80ワード、データメモリが16ワードしかないので、如何にプログラムを小さくするかが問題である。

当時撮影したビデオがあった。(お約束のナイトライダー)
Knightrider0000 ←リンク先にAVI

 LEDが1個流れるのは簡単で、3個が流れるのはちょっと面倒、
最小はプログラム38ワード、データ2ワードだ。 どうよ >T君

 改造ネタを考えていたのだがフェードアウトしてしまった。

2011年9月 7日 (水)

TD4

「CPUの創りかた」のTD4を作ったときの記録