ブロックを積みながら(201) Scilab/Xcos、ModelicaブロックNORゲート

Joseph Halfmoon

前回、Xcos上でModelicaブロックを動かせるようになり。そこでModelicaブロック使用デモを端から動かして、Modelicaブロックどもを浚っていく予定。今回は電気系、その中でも「論理NORゲート」です。「論理」といってもデジタルではなく、アナログ回路扱いです。回路シミュレーションできるみたい。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

    Scilab 2024.0.0

ModelicaブロックとScilabブロックの接続

ううむ、Scilab/Xcos上のModelicaブロックの入出力端子について、お惚け老人にも分かるキッパリした説明が見当たらないので、以下はお惚け老人の勝手な見解です。currentSensor

まず、ModelicaブロックにはImplicitなポートとExplicitなポートがあり、各ブロックのどのポートがImplicitなのか、ExplicitなのかはHelpにも書かれてます。Implicitなポートは四角、Explicitなポートは三角で表されるみたいデス。

そしてModelicaブロックは「原則」左入力、右出力のスタイルになっているらしいです。しかし、Implicitな「ポート」というのは想像するに「ノード変数の共有」関係的なものらしく、入力ポートに見えても実は値を設定することも可能みたい。よって、

    • 四角のポートどうしを接続する。白四角出力を黒四角入力に接続するのが穏当に思えるが、黒四角どおしの接続(形式的に入力ばかりで出力なし)、などでも問題ない。
    • 三角のポートは「単方向」の値の流れ(Xcosのデフォ。)このポートをXcosネイティブなブロックと接続する。
今回練習してみるデモ

今回のデモはデモウインドウから以下で選択できる「回路シミュレーション」です。「論理NORゲート」とな。デジタルなゲートの筈ですが、実体はMOSトランジスタレベルの「アナログ」なシミュレーションです。selectNOR

 

 

上記デモで開かれるXcosフローが以下に。NORflow

中央付近に「NOR gate」と題するスーパーブロックあり、その左側のModelicaブロックでこれに与える信号を生成し、右側にならんだ「ポテンショメータ」ブロックで各ノードの電圧を取りだしてScilabのCSCOPEで観察するという段取りです。

「NOR gate」スーパーブロックの内部が以下に。NORcircuitEC

プリミティブなブロックとしては、トランジスタレベルでのモデリングです。Pチャン、Nチャン、各2トランジスタにより、2入力のNORゲートを構成しています。

Nch MOS Transistorの設定パラメータが以下に。NMOSparam

回路的にはCMOSですが、上記の回路パラメータを拝見するかぎり、約半世紀前くらいの古色蒼然としたMOSデバイスに見えます。しかし、トランジスタはトランジスタ。

フローの中の電源みてみると以下のように10V設定でした。ブロックの表面の10mVという表示はデフォルト値みたいです。値を設定しても表示は変えてくれないみたい。PowerSetting

入力波形は正弦波でした。以下の丸っこいブロックで波形を生成してます。VsrcSetting

シミュレーション結果

上記「回路」のシミュレーション波形が以下に。NORresultEC

下の赤波形と緑波形が入力信号です。電源電圧10Vの半分の5V付近に回路的なスレッショルドがきているようで、赤緑の双方がそこを下回ると出力はハイへと遷移しているみたい。それ以外ではロウ出力ね。ちゃんとNORゲートとして動作しておる感じデス。

回路シミュレータとしてはLTspiceがあるので、Scilab/XcosのModelicaブロックを使うかはビミョー。でもシミュレーションは可能。

ブロックを積みながら(200) Scilab/Xcos、Modelicaブロックの使用 へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です