長野工業高等専門学校紀要 ・第19号(1988) 27
論 理 回 路 学 習 シ ス テ ム の 開 発*
堀 内 泰 輔 堀 内 征 治
Some Systems for Learning of Logical Circuit TaTaisuke HORIUCHI and Seiji HORIUCHI
ln education ofinformation processing,especially formechanicalorelectrical englneer,itisimportanttoteachnotonlyprogrammingtechniquebutalsodesignlng ofdigitalcircuit.From thispointofview,wehavedeveloped somesystemsfor experimentwithdigitalcircuit,inthepast10years.
Firstly,orthodoxlogicalcircuittrainerwasdeveloped.Thissystem isone・board typetrainer,andusercammakedigitalcircuitusingpatchcords.Secondly.unittype logicaltrainer wasmade. And thirdly, we developed logical circuitsimulator. Tllissystem isoperated on apersonalcomputer,anduserusesamousetodraw circuitdiagram on theCRT display.
ThesesystemsIlaVemeritsrespectively,butithasbeen appreciated thatthe logicalcircuitsimulatoristhebestsystem forstudents.
1. は じ め に
情報処理教育は とか くソフ トウェアに重点が置かれがちであるが,機械系 ・電気系の科に あ っては, メカ トロニクス教育に立脚 した‑‑ ドウェア教育 も重視されなければな らない.
そのなかでも論理回路の学習は最 も基本的なものであ り,学生が早 くか らこの考 え方 と意義 を知 ってお くことは重要である.
われわれはこの立場か ら,過去10年間に渡 り,情報処理教育の一環 としての論理回路の基 礎実習を行ってきた. これに用いた学習 システムはすべて 自作であ り,初期はICを用いて
パ ッチ コ‑ ドによ り論理回路を作成する‑‑ ド的なものであったが,現在ではパ ソコソとマ ウスを用いて画面上で回路を描画 してその実行をシ ミュレー トす るとい うソフ ト的なシステ ムに変わ ってきている.
本論では, これ らの開発,実践の経緯を述べ るとともに,学習の効果について評価す るこ ととしたい.
2.論 理 回 路 学 習 シ ス テ ム 開 発 の 経 緯
表1はこれまでに開発 し学生の実習に供 して きた本 システム群 の概要を示す.
* 昭和63年8月 ・全国高等専門学校情報処理研究協議会,情 扱処理教育研究発表会において発表
** 横桟工学科 講師
*** 機械工学科 助教授
原稿受付 昭和63年9月30日
28 j軌XJ本棚 ・瀕=勾征治
嚢 中,也)は一般 に 「ロジ ック トレーナ」 と呼ばれてい る殻 もオー ソ ドックスな論理 回路Ji 習 システムであ り,/1ッチ コー ドを用 いて任意 の論理回路を構成 し,実際に電圧 を与 えてLE
Dの点灯/消灯 に よって結果を知 る ものであ る. 当時市販 のものが 1台十数万 円以上 もし,購 入で き た として も個別実習は到底無理 で あ ったため,基本的な ゲー ト (N
OT,NAND,NOR)を搭載 し た簡易 ロジ ック トレーナを8台 自 作 し, 1台当 り1‑ 2学生が 占有
表1 システムの経緯
システム名 主要システム構成バーツ 一体型pジ.ソクトレーナ 1979E,I<ヲチ讐 苧蔵本体
03) E言;::去警 レ̲ナ 1985滝 壷 警;言三上響 (C)lこ.f三gレ ク l1987バソコソ マウス
シミュレー トソフ トウェア で きるよ うな システ ムを構築 した.
Ui)は学習 システ ムとしては十分機能 したが,桜 抑なIrj)路 にな る と配線状態 が把捉 しに くく な り,誤配線を しやす い欠点が描̲T.:され た. また,fLだmで きるゲー トの数が限定 され るため あ ま り複雑な ものは実習で きない うらみがあ った. この ことか ら,03)のユ ニッ ト型 ロジック
トレーナのDfl発 とな った ('7‑如 1, 2).
これは,原理 は州 と同 じであ るが, 各ゲー トや人)J,州')J.陀附 な どを完全 に分離 しそれ ぞれ のユ ニ ッ トに まとめた ものであ る.火映回F糾TFt,.じて必公 な=iニ ッ トを選択 し,それ ら を電源 ライソを含め てバ ッチ配線す ることで, どんなに以純な回路で もjl験で き,呪線 も比 蚊的容易であ るメ リッ トを持つ.& 2には各ユ ニッ トの機能 と相 成を/示す.なお,山 では実
習が面倒だ った フ リップフ pップを呼用 のユ ニ ッ ト (J/Kフリップフロップ) として新 た に用志 した.
糾 お よび(B)システムは機能的には十分であ ったが, /1ッチ コー ドの抜 き遺 しとい う物理的 操 作を伴 うために, パ ッチ コー ドの断線 お よびICや ジャ ックの接触不 良が抑 え,実習の進 行 に支障を きたす ことが多 くなって きた.
この ことか ら,(C)の 「ロジ ックシ ミュレータ」 とい う全 く新 しい考 え方 に よるシステム杏 開発 した. これは,パ ソコソの画面上で論理 回路 の シ ミュレー トを行 うもので, マ ウスに よ
る論理 回路作図の部分 と,入力端子 に任意 の論理値 を入れ動作を シ ミュレー トして結果を 出 力端子 に表示す る部分 か ら成 り立 ってい る. この システ ムは画面上 で配線 をす るので, 自分
‑;野L>:tlit・無 類 ::.1周 表
+‑●
.TL
写真1 ‑ニットの一例 写真2 ユニット型 ロジックトレーナ の実習風茄
論理回路学習システムの閲発 表2 ユ ニ ッ ト 一 覧 表
4入力
NANDゲー ト 4 〝 1 2 lSN7420 4入力
NORゲー ト J‑K
フリップフPップ
2 lSN7425
SN74LS73
fE桁 ス イ ッチ 人 力 ス イ ッチ 出 力 &示 (L ED)
1 1 Vcr/GND描け 瀬m
8 仰 l l
8 〝 ・ [
巾触 ボ ックス I 12 〝 l l t配似//)収用
29
の描 いた約7ty・洞 路図 と畏際 の配線が完全に対応 し,火門の進行,I‑ui一生 の理節度 とも3つ の シ ステムのなかでは最良 と恩わIJLる.以下には, この システムについて概祝 したあ と, これ ら の システムの総令的な評価を行 う. なお,写実 3には(C)に よる実習風E(を示す.
3. ロ ジ ッ ク シ ミ ュ レー タ に よ る論 理 回 路 学 習 シ ス テ ム 3‑ 1 開発思想
授業 とい う限 られた時間内での有効 な学習 システムを構築す る最大条件 は, システム自体 の使 い勝手が良い ことである.本 システムでは,入力装置 としてマ ウスを採用 し, キ ーボー ドはほ とん ど不要 とな るよ う設計 した. また,ペ ーパーマ ニ ュアルを見なが らの操作をな く す ために,機能や ゲー トを アイ コソ化 し,画面だけを見なが ら配線か らシ ミュレー トまでを 行 える よ うに配慮 した.
なお,開発 のターゲ ッ トマ シソは,本校電子計算機 Itソクーにパ ソコソ端末 として設 旺 さ れ てい るFM16βFDⅡ (45台)であ り, ソフ トの開発にはC言語 (LatticeC)を用 いた.
サ イズは ソース コー ドで約1200行,実行 プ ログラムは38KBであ る.
3‑2 機能の概要
配位可能 な論理 ゲー トや入 出力端子 のシ ソポルを表3に示す. これ らをマ ウスに よ り選択 し, マ ウスカー ソルを所定 の位置 に 持 って行 ってボタソを ク リ ック す る こ と で,画面上 の任意 の場所 に これ らを配置 で
きる.
次 に, これ らの シソポルを配線す ること
にな るが, 自分 の描 いた論理 回路因にで き 写真3 pジツクシミュレ‑タによる実習風袋
30 堀 内 泰 輔 ・堀 内 征 治
表3 シ ン ポ ル ー 覧 表
ゲ‑ トの種類 人力 ゲー ト図
NOT 1
o &
AN'D 2
̲ : 工⊃‑
3
迂⊃‑I
4
紅⊃‑
3
■ 迂⊃‑
ゲ‑ トの種摂 人力致 ゲー ト回
NAND 2
コ⊃‑
3
冒: : >一 〇 .
4
質: >o
NOR 2
・ コ⊃‑.
3
‑ 迂⊃‑
4
質: >
入 力 0
‑ . 〇一
出 力 I ̲0‑‑⊂]
表4 配 線 形 態 の 種 塀
論理回路学習システムの開発 31 るだけ近づけるため, また配線を見やす くす るために,表4のような 4種塀の配線形態を用 意 した.
また,配線の修正のために, ゲー トの削除,配線の削除,画面全体の消去の各校鰭を設け た.ただ し, システムを簡略にす るため, ゲー トの移動機能は省略 した. このほか,回路図 を ファイルに保管 し,任意の時点で呼び出す ことができるように した.以上の諸機能をすべ てアイコソ化 したため,従来の ソフ トウェアに見 られ るようなキーボー ドか らの コマソ ド入 力は一切不要である.図1には描画中の画面の一例を示 した.
次に回路のシ ミュレー トであるが, これには実行のアイコソを クリック後,各入力端子に
oまたは1の論理値をアイコソ入力す る方式を採 った.全入力端子への入力が終了 した時点 で シ ミュレー トを行い,論理値0,1をそれぞれ青,赤 の2色に対応させて,配線部 と出力 端子に表示す る. これによ り学習者は出力のみな らず,回路の各部での論理 の状態を一見 し
て理解できる.図2には実行の一例を示 した.
3‑3 システム概要
本 システムは,マウス入力に よる回路の描画部分 と,描画 された回路のシ ミュレー ト部分 に大別 される.
3‑3‑ 1 マウス入力と回路図の描画
回路図の描画は, ゲー トアイコソの選択 と画面への配置を繰 り返 した後,各 ゲー トを結線 す るとい う手順になる. この うち,ゲー トアイコンの選択では,アイコソとして表示で きる ゲー トの個数が限 られるため, 2入力 ゲー トのみをアイコソとして配置 し, アイコソ選択直 後ポ ップアップメニュ‑形式で3‑4人カゲー トを表示 し,最終的にアイコソ選択を行 うよ
うにした.
次に画面へのゲー トの配置であ′るが,描画の自由度を上げ るため,指定枠内であれば任意 の位置に配置できるように した. また,各ゲー トの結線の手続 きでは, 出力 どうLは結線で きない ような論理チ ェックを施 した.
最終的な回路図が完成 した段階では, これを シ ミュレ‑ I.で きるように特定のデータ構造
ゲートを配置する位置を指定して下さい
Ch I
一口 '
ゝ 。
L O F I D
C一 一 」‑ 竜 叫 S糾E
図1 描 画 の 一 例
32 堀内奉拝 ・堀 内征治
に ⊃ 一に⊃ 一 江 ⊃ 一 江 > 〇 一一 一 口
削
消」 」 「
1除 1
・レベル :′i′‑ 赤 ̀0′一 膏. +
○→ p l
o ‑ n
図2 図1の回路の実行例
da【l】【○】 ゲー トコー ド d8【I】【l】 入力端子のⅩ座棟 血【1】【2】 入力端子① のY座榛 dl【1】【31 入力嘘子②のY盛擁 JAtI]ll] 入力端子@ のY座桟 由【I]【5] 入力也子⑥のY座は da【11【6】 出力端子のX座楼 datl】【7] 出力端子のY座穣
dl【l】tO】 だ換 コ‑ Jt d1【J】【1】 始点 のX座接
dl【l】【2】 始点 のY座掠 dllI】【3] 終点 のX座揺 dlll][4] 終点 のY座は dl【り【5】 始点a)ケ'‑は'‑1配列番号 dlll][6] 抵点 のケ̀一打‑1配列番号
(Ill.絶ゲー ト救) (Ill.総ゲー ト歎)
(a) ゲートデータ配列 (b)配線データ配列 図3 回 路 図 デ ー タ 配 列
を用いて内部表現がなされなければならない.本 システムでは,図3のようなデータ構造を 用いた。 これによれば, シ ミュレー トのみならず,ゲー トの削除,再配置,結線の変更など
も可能 となる.
3‑3‑2 描画 した回路のシ ミュレー ト
シ ミュレ‑ トに先立ち,描画が完成した回路図中の各入力端子に,論理 0または論理1の いずれかな入力する必要がある。 これには2つのアイコソを用意し,マウスか ら入力す るよ うにした.入力端子にはいずれかの論理値が必要 となるが,入力端子が多い回路のとき,特 定の入力のみを変更 してシ ミ,.レー トする場合が多いことを考慮 して,前回の入力をそのま ま用いることを指示するためのアイコソも用意 した.全ての入力値が決定 した時点で,回路
論理回路学習システムの開発 のシミュt/‑ ttが行われる.
前述のゲ‑ トデーター配列ならびに配線データ配列 を もとにシミュy‑ トが行われるが,最初にこれ らを 処理 しやすいデータ構造に変換す る.これをシミュレ ー ト用配列 と称 し,図4に示す.実際のシミュレー ト では, この配列 と各ゲー トごとに用意された出力バ ッ
ファが用いられる.
シ ミュレー トに際 しては, まず各入力端子の入力値 をそれに按綻されている各ゲー トの入力端子に供給す る.次に,当該 ゲー ト固有の論理浜算を行い,出力,:
・
y'ファに状態を記憶 した後,次段のゲ‑ トにその出力 を供給す ることを繰 り返す∴
一致回路や加算器など,入力のみにより出力が決定
33
g【1】【0】 ゲー トコ‑ ド
Cll](1). 出力拍援任(0.1.2).く2は未定〉 、 8【11【2】 入力端子数(1‑4)
t【i】lg] 前段のゲー ト革列番号① g【l]【4] 前段のゲ‑ トだ列番号② ̲ g【日【S】 前段のゲ‑ トだ列番号③
g【l】【6】 前段のゲー トだ列番号q)
(Ill.総 ゲー ト歎)
図4 シミュレ‑t・配列 される組合せ回路の場合には,入力値がすべて決定 し
た ゲー トか ら順次出力を求めていき,すべてのゲー トのシミュレー トが終了 した時点で全体 のシミュレー トを終えることができる. これに対 し, フ リップフpップに代表 され る順序回 路では, フィー ドバ ックが掛かっているため,通常,各 ゲー ト当 り1回のみの シミュレー ト では出力が決定できない.このため, このようなシミチレー トの終了はユーザがマ ウスを用 いて明示的に指示するまでは, シ ミュレー トを続行する仕様 とした.なお, シ ミュレ‑ I.の
図5 シミュレートのアルゴリズム
34 城内奉輔 ・城内征治 アル ゴリズムを図5のPADに示 した.
シ ミュレー トの経過な らびに結果は,画面上の各配線の色に より表現す ることとし,論理
;1の場合は赤,論理0の場合は青 とした. シ ミュレー ト開始時点の配線 の色は黄色 としたた め, シ ミュレ‑ I.が進んでい く様子が画面の配線の色の変化により認識できる.
4. 各システムの評価 と課題
以上の各 システムは開発時期 の相違はあるものの,それぞれ特徴を持 った ものである.表 5は, これまでに実習を行 った学生のレポー ト中の感想などを もとにして作成 した評価表で ある.
この結果, Tlジックシ ミュレータは操作性,実習事項 の理解度な どで最良 と考 えられる.
ただ し,実体 (IC,スイッチ,LEDな ど)が見えないため,実際の応用製品 (メソコソ な ど) との関係がつかみに くく,机上の理論に留 ま りがもであるとい う欠点を持つ.
このことか ら, ロジックシ ミュV‑タと3・ニット塑 ロジック トレーナ と組み合わせること に より両者の長所を最大に引き出せることにな り, これが最良の利用方法 と考えられる.
なお,現状の ロジックシ ミュレータについて,ユーザか らの要望が多かったのは,画面の
‑‑ ドコピー枚能, ゲ‑ I.の大 きさの縮小横能,画面のスクロール (上下/左右)校能な ど のサポー トである. これ らのほか,任意のICのシ ミュt/‑ トをユーザ レベルで増設可能に す ること,ⅩYプロッタに出力できること, タイ ミソグチャー トの自動作成等を今後の課題
として, よりよい学習 システムにして行 きたい.
表5 各 シ ス テ ム の評 価
W .‑ ・・・・・・・・.一体型ロジックトレーナ
㈱・・・・‑ ・・・‑ユニット型ロジックトレーナ
(C)・・‑ ・‑‑1'ジッタシミュレータ
5.お わ り に
本論では,各種の自作 した論理回路学習 システムを紹介 し,それぞれ の特徴を持ちなが ら ち, シミュV‑タ方式に よるシステムが,学習効率か らも有効であることを述べた.バ ツコ ソの コス トが極度に低下 している現在,従来の‑‑ ド一辺倒の実習教材を見直す ことも有効 な教育改善 とな りうると思われ る.
おわ りに, シ ミュレータの開発に当たっては,本校機械工学科情報研究室に在籍 した畑山 昌也 (現東京電機大学),宮川良一 (現富士通),大池明,各君の努力が大 きい. ここに深 く 感謝 の意を表す る.
論理回路学習 システムの開発
参 考 文 献
(1)デ ィジタルICの基礎,白土末男,東京電枚大学 出版局,1980 (2)LatticeC Compilerユーザーズマニュアル, ライフボー ト (3) FM C関数 ライブラ リ使用手引書,富士通
35