このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

*目次 [#tefb87f5]

#contents


*TINA利用によるALU74581実験ボードのシミュレーション [#rbbfb06a]

-[[ALU]](算術論理演算装置)である[[74581]]を用いた実験ボードの回路図が『続・ディジタルIC実験と工作マニュアル』に載っており、ちょうどTINA7を入手したところなので、[[TINA]]の使用方法を覚えるために実験してみた。
-実験3時間。


*回路図 [#t28b6475]

 実験で使用した回路図は次の通り。

#img(http://security2600.sakura.ne.jp/main2/image3/ALU.jpg)
#img(,clear)

-『続・ディジタルIC実験と工作マニュアル』の回路図を少し修正。
--ハトメなどはなくすため、そこを省略。
--『続・ディジタルIC実験と工作マニュアル』ではACTIVE HIGH INPUTで書かれており、これをACTIVE LOW INPUTで解釈するためにLEDやスイッチを結線方向を修正。


*実験 [#g71bedc0]

-インタラクティブモードはDCモード、表示は3Dビューモードでシミュレーションを実行した。
-作成したTSCファイルは[[ALU74581.TSC:http://security2600.sakura.ne.jp/main2/data1/ALU74581.TSC]]である。

**実験例 [#d2151acc]

 MC=L∧CSUB{n};=L∧(SSUB{3};SSUB{2};SSUB{1};SSUB{0};)=(HLLH)のとき、桁上げなしの算術演算であり、真理値表よりF=A plus Bである。これをシミュレーションにより確かめる。

+まず、セットアップとしてMCとCn、ファンクション制御である(SSUB{3};SSUB{2};SSUB{1};SSUB{0};)を指定どおりにセットする。
+次に、例えば(ASUB{3};ASUB{2};ASUB{1};ASUB{0};)=0010、(BSUB{3};BSUB{2};BSUB{1};BSUB{0};)=0010にセットしてみよう。
+真理値表で解釈すれば、A plus B=0010 plus 0010=0100になるはずである。シミュレーション結果を見ると、確かに(FSUB{3};FSUB{2};FSUB{1};FSUB{0};)=0100になっていることが確かめられる。

#img(http://security2600.sakura.ne.jp/main2/image3/ALU2.jpg)
#img(http://security2600.sakura.ne.jp/main2/image3/ALU3.jpg)
#img(,clear)


**注意点 [#abc221fe]

-74581はACTIVE LOW INPUTであるか否かで、真理値表が異なる。
-74581のdatasheetのHLLHの論理演算のところが誤植していた。
--正しくは、&mimetex("F=A \oplus B");

**問題点 [#i5e2d868]

-DIPスイッチを最初使っていたが、「The model is not installed.」というエラーが出てうまくシミュレーションができなかった。そこを普通のスイッチに置き換えたらうまくいった。TINA7の使い方を知らないからうまくいかないと思い色々調べていたので、普通のスイッチの置き換えに気付くのにすごく時間がかかった。なぜうまくいかなかったのかを調べるのは今後の課題である。
-集合抵抗を使えば見やすかったかもしれないが、どこに存在するかわからなかった。これも今後の課題である。


*習得したこと [#y26168ea]

-TINAの基本的な使い方
--ジャンパのラベル名を共通にしておくと、それらが結線される。回路図を簡略化するときに便利。
--テキスト欄では簡単な数式エディタが付いている。つまり、添え字や累乗などがあるような数式なら書ける。
--テキスト欄における枠と文字が少しかぶってしまう。
--TINA7でコピーしたものを[[Visio]]にペーストすると、画像として認識される。
-74581の基本的な使い方
--入力によって演算を切り替えることができる。
--色々な応用ができそう。
--今後は[[メモリ]]からデータを読み込んで、メモリに書き込むような回路を考えたい。

*参考文献 [#e616b67b]

-『続・ディジタルIC実験と工作マニュアル』