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

TD4/GMC-4

2019年8月11日 (日)

74HC181 <4bit ALU>

ヤフオクで74HC181が出ていたいのでポチってみた。4個で2,500円でお手ごろだ。

74hc181x4

74LS181と14581は持っていた。

14581 74ls181

74181や74F181は秋葉で見たことがある。

今時はTTLといっても74HCシリーズ(CMOS)を使うので74LS181を使おうとするとレベルが違うので74HCTシリーズを使わなければならない。(まじめに作るろうとすると)

74181は4bit ALU(Arithmetic and Logic Unit)算術論理演算で、四則演算や論理演算ができるICだ。昔昔、コンピュータが標準ロジックICで作られていたときには、74181が使われていたそうな。

標準ロジックICでコンピュータを作っている人がけっこういる。(TNACOM-1とかRETFORとかweb-ringもある) 今時はFPGAやCPLDを使うと簡単にできるようになったけど、標準ロジックIC作ってみるとCPUアーキテクチャが理解できるようになる。

簡単なのは「CPUの創りかた」で紹介されているTD4だ。標準ロジックで4bitのCPUを作るというもの。

CPUの創りかた

実際に作ってみた

Td42

TD4の演算は加算だけなので、四則演算や論理演算ができるようなCPUを作ってみたくなる。そうすると、でも紹介されている74181(ALU)が必要になる。

ところが、今時、ALUはCPUの中に一体化しているので単独で使う用途は無くなってしまったので流通在庫を探すしかない。webショップでTTLを売っていると、つい181で検索してしまう。部品屋でTTLを売っていると、つい引き出しを開けてしまう。(変なおじさんだ)


最近の投稿】【TD4/GMC-4 】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

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を作ったときの記録

2019年8月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のトラックバック