« とりとめのない日常 | メイン | 屋久島の森に惑われて その1 »
2008年2月17日
EGaLS(仮)、初公開です
さて、ここ最近(約3ヶ月ぐらい)ずっと作ってたソフトがようやく形になってきたのでここらでちょっと公開したいと思います。ソフト名はEGaLS(仮)、正式名称は「Educational Gate-Level Simulator(仮)」です。
取りあえず仮の名前なので正式名は大幅に変わるはずです、っていうか誰か名前のアイデアちょーだいよぉぉ・・・。
![]()
まず、これがメイン画面となります。ソフト名の通り、ゲートレベルの回路シミュレータとなっています。いろいろボタンがありますが、基本的にはゲート等をおいて、「回路テスト」ボタンでテスト、という流れになります。
![]()
これが基本ゲートをおいてテストしている様子です。現在設置できる基本ゲートはAND、OR、NAND、NOR、EOR、NOTの6つです。まぁ3入力のNANDとかNORとか必要な場合は後述するサブサーキット機能で作成することになります。
![]()
基本ゲートをこのように並べて全加算器、FullAdderをこんな感じで作成することが出来ます。図にあるように配線の分岐機能も実装しています(配線はまだまだバグの温床となっていますが・・・)。
![]()
でもって、これがサブサーキット機能です。さっき作った全加算器をこのように1つのモジュール(サブサーキット)にまとめることで同じ回路を複数画面に設置することが出来ます。左が入力、右が出力となっています。ちなみにサブサーキットという言葉は私が普段使っているHSPICEからそのままパクってます(これぐらい、いいよね?)。
![]()
設置できるのは組み合わせ回路だけではありません。このようにD-フリップフロップも設置できます。現在仕様上の制限でマスタースレーブ型のFF、つまりクロックの立ち下がりで値を出力する仕様になっていますが、いずれはエッジトリガ型のFFも準備出来たらなぁと考えています。また、リセットに使っているボタンは押しボタンでクロック動作時にここを押すと値が1になります。
![]()
このソフトの機能として状態遷移図を描画する機能があります。状態遷移図に関する説明は省きますが、図のような状態遷移図を簡単に書くことが出来ます(状態設置ボタンで各状態を配置、画面クリックで矢印を描画)。
![]()
でもってさっきの状態遷移図から制御回路を生成することが出来ます。その制御回路とインクリメンタを2つ設置した回路がこれになります。CLOCKをONにすると、画面下のインクリメンタが1ずつ増加し、9の時点で上のインクリメンタが増加しかつ下のインクリメンタがリセットされます。つまり7→8→9→10となります。ってことでこれで簡単なストップウォッチが出来たことになります。
とまぁざっと機能紹介してみましたが、まだまだバグだらけだったりします(とりあえず最低限動く)。でもって同じ研究室の人からいろいろ言われているのは
- タイトル名がださい
- Verilogはき出せないの~?
いやまぁタイトルについては今後なんとかするとして、Verilogは難しいかもなぁとは思っています。出来たらかっこいいけどね。
というわけで近況報告みたいな物でした。
投稿者 mak : 2008年2月17日 23:05
トラックバック
このエントリーのトラックバックURL:
http://sorakaze.net/cgi-bin/blog/mt-tb.cgi/129
コメントする