のようにに記述します。ここで注意するのは、頭の一文字が部品の種類を示しているので、この後に書く「~の書き方」に書いたように、頭の一文字は抵抗ならr、コンデンサならc、電圧源ならv、というように始めてください。 1 0 obj ルのSPICE系のシミュレータにも各種あ ります.しかし残念なことに,機能や記 ... トのネットリストで記述した例が,図4 です.やはり注目は,define~exitの中 です. V1>14.5VでVout=12V 14.5>V1>2.5VでVout=V1-2.5V V1<2.5VでVout=0V という入出力電圧特性を,if文と数式で 記述しています. また出力電圧は,1℃あたり0.9mVの 温度依存性があるので,リストの式には 温度補正の処 … どこでも構わないのですが、今回はわかりやすいように一番下に貼りつけます。, デバイスモデルを追加する数が増えてくると、 とりあえずこのネットリストを見てください。 ring osc r1 1 5 1e6 r2 1 2 1e4 c1 1 4 0.1u x1 2 3 7 inv (←サブサーキットを呼び出してる) x2 3 4 7 inv (書き方:x番号 端子1 端子2… <> %PDF-1.7 �y�C���sXz����F�F�va�[-B�8̈́�fBﲡ3F�������6�ۅ��k"�����ÍP���d[ܑ=���+�H@� �����Z7\@� ����c��r�>�َ�l6ʻ7��ƕ���GL'��6PA̗�EW�tx�����E��6r ��z�R��g,.���Z�XW�غ(&b� U���G՚�6M3�5[}]#IXG ���� ���G�H���c6�������JK�֑�9T�+�$�8���E�Qh;����5�����]��;�Rc�N�"��a7]_&' 9�6�fA��18���XM�$ѣ��(�'��iO�����l? ファイルの種類を「Discretes」にして、バイポーラトランジスタのデータが保存されている「standard.bjt」を選択して開きます。, 先程、メモ帳で開いた「2N4923.LIB」のテキストをコピーペーストします。  第1回 SPICEシミュレータの仕組み <> <>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 540 720] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> A complete listing of models for ON Semiconductor products. stream .MODEL 2N4923 npn(…) � 改行を「+」で表しているので、「+」を削除してパラメータをカッコ()で閉じます。各パラメータの間はスペースを入れておきます。, その他のやり方として、デバイスモデルのファイルをsubフォルダに保存することで、デバイスモデルを追加することができます。, しかし、この方法だといちいち回路図に.libの構文を配置しなければならないので面倒です。やはり、データファイルに直接、デバイスモデルのデータを書き込む方法が良いでしょう。, LTspiceで新規の回路図エディタを開き、「Component」をクリックします。, 「Select Component Symbol」から「npn」を選択してOKをクリックします。, 当記事ではNPNバイポーラトランジスタを例に解説していますが、その他のデバイスモデルに対応している回路図モデルは以下の通りになります。, NPNを配置後、右クリックして「Bipolar Transistor」の編集画面を開きます。, 「Pick New Transistor」をクリックして、standard.bjtに保存されているバイポーラトランジスタ一覧(Select Bipolar Transistor)を表示させます。, Select Bipolar Transistorの画面一番下を確認すると、追加した「2N4923」があるので、選択してOKをクリックします。, 「NPN」から「2N4923」に変更されます。これで、正しくデバイスモデルがLTspiceに追加されたことを確認できました。, 当記事では、SPICEモデルの内、サブサーキットモデル(.subckt)をLTspiceに追加する方法について詳しく説明します。LTspiceで標準で搭載されているアナログ・デバイセズ(旧リニアテクノロジー含む)のSPICEモデル以外でも、追加して問題なく使用することが可能なのです…, 当記事はLTspiceの回路図やシミュレーションに使用するSPICEモデルの基礎知識として、LTspiceのフォルダ・ファイル構成とSPICEモデルの種類について詳しく解説します。SPICEモデルは簡単に言えば、LTspice上での電子部品のことです。初心者の方で、標準で格納されて…, 当記事では、SPICEモデル(部品モデル)を無料で提供しているメーカーについて紹介します。LTspiceは無料で機能制限がない大変便利な回路シミュレータなのですが、標準で格納されているSPICEモデルはLTspiceを提供しているアナログ・デバイセズ(旧リニアテクノロジーを….  ●効率よく回路設計するためには、解析の順番がとても重要, 本連載記事  ● 直流解析:変動要因は、「電源電圧、温度、入力信号の直流電圧・電流値」 <>/Metadata 343 0 R/ViewerPreferences 344 0 R>> .MODEL MUN5215 npn(…) ■ こんにちは。株式会社モーデック CDK事業部の落合です。これから設計にSPICEシミュレーションを導入するユーザに向け、「SPICEモデルの作り方とSPICEへの組み込み」と題して、5回にわたりお話したいと思います。ぜひぜひお付き合いください。, SPICE(Simulation Program with Integrated Circuit Emphasis)は、代表的な回路シミュレータの一つです。無償で使用できるLTspiceの登場で、個人でも気軽にSPICEが利用されるようになりました。また、クルマなどの電装化により、電気・電子回路分野以外の学生や企業の技術者などがSPICEを利用する機会も増えてきています。そのため、SPICEの仕組みを十分に把握せずに利用している人も増えてきました。もちろん、SPICEの仕組みを把握しなくても回路シミュレーションによる電子回路設計は可能です。しかし、SPICEの特長を把握していないことが原因で、思わぬトラブルに直面することもあります。本稿ではSPICEの仕組みを解説し、効率的に電子回路を設計することを目的としています。, 図1に示すように金槌を使って釘を打つ例を考えます。大工が金槌を使えば、非常に素早くかつ安全に釘を打つことができます。しかし、金槌を使い慣れていない人が釘を打つとどうでしょうか。釘を打ち終わるのに時間を要したり、あるいは手を怪我してしまったりすることもあるかもしれません。これと同じことが回路シミュレーションの場面でも起こります。, せっかく素晴らしいアイデア(回路)を思いついても、道具(シミュレータ)の使い方が適切でないと間違った答えを導き出すことが起こり得ます。具体的な例を示しましょう。電源電圧10Vを分圧して5Vを出力する回路として、図2に示す回路を考えたとします。一見すると問題ないように思えますが、この回路をLTspiceでシミュレーションするとエラーが発生してシミュレーションが実行できません。どこが問題かお判りでしょうか。実は、図2に示す回路図にはGNDが存在しません。SPICEでは、電位の基準であるGND(0V)を必ず指定する必要があるからです。これはかなり極端な例かもしれませんが、実際に筆者が体験した事例です。, 仮に上記のような事例が発生しても、事前にSPICEの仕組みを知っていれば、エラーにすぐに気が付くはずです。しかし、それを知らなければ、長時間その問題に悩まされてしまうことになります。回路シミュレーションの結果が事前の予想と異なる場合、それは自分の考えた回路に要因があるのか、あるいはSPICEの設定や使い方に問題があるのかのいずれかです。もし、後者(SPICE)に問題がないことにいち早く気が付けば、その分自分のアイデアの軌道修正に時間が割けるわけです。そのためにはSPICEの仕組みを知っておくことが重要になってきます。SPICEの仕組みを知ることが、効率的な回路設計の第一歩と言っても過言ではありません。, SPICEは、1973年にカリフォルニア大学バークレー校(UC Berkeley)で開発された回路シミュレータです。初期バージョンはFORTRANで記述されていました。このFORTRANによるSPICEは改良・機能追加を経てSPICE2G6が最終版となります。これが代表的な商用版SPICE(PSpice、HSPICE等)の元になっています。その後、「Berkeley SPICE」はC言語に移植されました。C言語SPICEは、SPICE3として開発が継続され、SPICE3F5が最終版となりました。図3はSPICEの遍歴を簡単にまとめたものです。後ほど詳しく説明しますが、実はこのSPICEの成り立ちに起因して、ちょっとした煩わしさが生じてしまったのです。, ● Berkeley SPICEから派生したSPICE(SPICEには親戚がいる!), 先に説明したように、Berkeley SPICEが元になってさまざまな有償・無償のSPICEが登場しました。LTspiceもBerkeley SPICE(SPICE3F4/5)が元になっています(現在のLTspiceシミュレータは、性能向上、バグ修正、機能拡張のために完全な書き換えが行われています)。Berkeley SPICEを親とすると、LTspiceやPSpiceはその子供たち、あるいは親戚ともいえるわけです。ただ、困ったことに、この親戚は少々仲が悪いというと言い過ぎかもしれませんが、実は互いに互換性が十分ではないのです。もちろん、基本的な機能は共通なのですが、一部のSPICEでしか使えない機能・素子などがあります。例えば、図4 はLTspiceで使用できる代表的な素子の一覧です。, この中で、×印のデバイスはSPICE2G6系のSPICEでは互換性がありません。また、△印のデバイスは、LTspiceで独自に拡張されており、LTspice以外のSPICEでは使えません。このことは単独のSPICEを使用している限り特に問題ないのでは?と思われる読者がいるかもしれません。しかし、実はこの互換性が結構煩わしい問題になるのです。次にそのあたりを詳しく説明していきます。, 商用版SPICEやLTspiceには、回路図エディタという回路図を描くツールが付属しています。ユーザは、回路図エディタを使って電子回路を作成し、回路シミュレーションを実行するわけです。しかし、SPICEはこの「回路図」を人間のように認識することはできません。では、SPICEはどのように回路図を「認識」しているのでしょうか。実はLTspiceや商用版SPICEは、回路図からSPICEが認識できるフォーマットへ自動で変換し、回路シミュレーションを実行しているのです。SPICEが認識できるフォーマット(言語)が、「ネットリスト」と呼ばれるものです。ネットリストとは、図5 に示すようにある決まった構文・文法に従って回路素子の接続情報や素子値、または解析設定などを記述したASCIIファイルのことです。C言語をはじめとするプログラム言語は、人間が記述したソースコードから機械語に変換して実行ファイルを作成していますが、まさにSPICEでいうところの機械語がこのネットリストに相当します。機械語を人間が解読して記述するのは大変ですが、SPICEネットリストは構文が非常に簡単ですので、人間が作成することも容易です(なお、本稿ではSPICEネットリストの構文は割愛しますので、参考文献[1][2][3]などを参考にしてください)。従って、実は回路図を作成しなくともSPICEネットリストをテキストエディタなどで作成すれば、SPICEシミュレーションを実行することができるのです。, <参考文献> tͬL�l���A��CZp���I7o���0���4��x��f��j���bT��z|��%U%�e��`��䬖��jM�! endobj �X�J���.�����t�]���K�_I_Y۟����r�B;@�}5��oٟlƠ`:W�����քG����=���P�Л {UP�zTh�Y � { ��#ÖS� 5.�f�E&Ȍ���x��B�^6���G������S�����W�z�k审��"�l:4�貪&M?�Y��0�ʑ�ٔ��Lz$g�)��箤m^�ךVG�М���ڲ&N��^S�6g�b��(C������'�����^�M�����f�lyTUO����棄��S��gHl�Y��qre]!��e"�c�A�n\/�/��5I��I�� i�l�%�LM�h 'ަ+�+Н&�ŏNsNd���� Udz3����4P�����c���Xb�#UQ�!�}R[Ϲ�3] endobj  ● 交流解析:変動要因は、「電源電圧、入力信号の周波数」 ネットリストの初めの 出力・入出力」のいずれかに設定する 4行に相当する部分.modelで始まるトランジスタやダイオード のパラメータはそのまま「spice directive」 として、回路図中に配置する。 FAE : Michio Shibuya データシートに示されている内部等価回路 5 6 spiceの基本的な文法では、ネットリストは部品(要素)で始まり、その要素がどの ノードと接続しているかをノード番号を並べて示す。また、要素のパラメータ(抵抗 値や容量)はその行の最後に書く。要素の始まりの文字は、プリフィックスの文字 <>/Metadata 656 0 R/ViewerPreferences 657 0 R>>  第5回 モデルを作ってみよう(その2), http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE. *ST Microelectronics x��\�o�F�n��?RL��kv� Q$�\S\S;w��!g8ii�kZ��of���zP]����\.�=��]�v�˯޽}����Y���R���R@�*P�����(>]_�~u��_���x���u��#ß�w�*k�.~���*� �d�]U�X��+z�)����-~���AU`����Ww��V|����/�*k0��p��!��CO�uw��4����H0���ކ-�l�����b>��f��)�bQ� ��}��T!`+e����}~�i};ܾz��}Q>~�ys7��:�����A*���;Y#� ���bB��-�JV�  ● 過渡解析:変動要因は、「時間」 �.k�6�~�c`Hz#U�q�ۈ��y��Z�/|ʘʹ�0��Jm��w] endobj ネットリストからspice素子を作成し、spiceモデルリストとして追加する方法を教えてください。 Support Team 2018年11月07日 02:42  第4回 モデルを作ってみよう(その1) %PDF-1.7 1 0 obj https://spiceman.jp/wp-content/uploads/media-library-folders/spiceman/logo.png, 「2N4923.LIB」を「C:\Users\USER\Documents\LTspiceXVII\lib\sub」に保存する。, SPICE Directiveで「.lib 2N4923.LIB」と記入して、2N4923を使用する回路図に配置する。. endobj �qѶ�,̓��f@Y�y�SX�A��n��&I k�2mB��i#�lx(uT�P$�W$8w�a�C�R&,��I�H��`���e����F=C�.�ezeC�Ob.V��d���G�W-�)q�8�����yJ2�gp�qyFb��Z���0f'A����D�]\i����&�&�O2�������l��P2�xA���lLAp4��W@�P��K}����ȴ_rY�����.e�mP�����SD��q�g.��hx*�b)��T�'E��2|Lб�e*�Fd�^���R�*S'�BUHvH�q5AS�u�?��)`�Y� O�0V@���&��t������m�mϳ=sq���S�Xa�������ԫ�_�x�9���t��< �\.  ● SPICEの基本機能:直流/交流/過渡解析  ● 基本機能の違い:変動要因を限定して、回路特性を確認する  第3回 SPICEモデルの作り方とSPICEへの組み込み 3 0 obj 現在では(というか当時でも)spiceで回路解析するにしても電算機上で描いた回路図そのものを 電算機がネットリストに変換、そのまま回路解析を行うのが普通で、テキストエディタでネットリストを組む という手法をとる人はごく少数だと思います。 ;�0Q���e;(��(&W)�M3�*@'��y�LsEəJ^��;�k����c���%}K����� endobj .model BD135 npn(…), 「.MODEL Q2n4923 npn」と表示されていますが、このままだと回路図上では「Q2n4923」と表示されてしまうので、「.MODEL 2N4923 npn」と修正します。 .model TIP50 npn(…) ���o�1�ߗ�,B��ݘ�-f7����Ɩ�,��|�_3���?�5�ʻ?p��6s�t��������U{�1")7$4+m�4�X����˟޾�E�s���,���ԅ6�ݕ�vd��Ma\�w߾\�D�m2&�4s�4� %LB��x�:q}����$L5d QoC��p��Uz6Y��`�4�:��Z �\EO��σ��\2TuU AUP�UN��R ��3ư7�LM���~����z��ø�1�z��(��u��}�3;��Ù'�=p�p�ҁ��̂,�7N@p��Zϝ��x�M�0���3�"P>|Z�x��5̫Y���C���R�ã��?�,�Ns������1������s��͐$�!�/n8I�aA�i��p�m�n��!�t�G:� H‰•VÛŠ7ı‚ş=:#—T¥óœØã‡�¾,ë°Cùúœ’º{z—µ“0ˆ–º¥ªS§ê”æü®#sp6p‰æü¦;�%Éæ. <> %���� デバイスモデルはSPICE記述言語(ネットリスト)の表記が「.model」で始まり、モデルパラメータのみで表現されたSPICEモデルです。 LTspiceでデバイスモデルとして定義されており追加可能なのは、以下の8種類になります。 [2] http://ayumi.cava.jp/audio/spiceman 2 0 obj [3] 青木英彦著、電子回路シミュレータLTspice XVII リファレンスブック、CQ出版社, SPICEにはBerkeley SPICEの派生版が存在することを説明しました。また、SPICEはネットリストと呼ばれる共通フォーマットを元にして回路シミュレーションを実行することも説明しました。「派生版SPICE」はBerkeley SPICEのネットリスト形式を「ほぼ」踏襲していますが、各々のSPICEによって独自の「方言」があります。日本人が公用語である日本語を使っていても、関西弁や東北弁といった地方独自の特徴があるのと一緒です。派生版SPICEにも「方言」のような独自構文が存在しているのです。従って、あるSPICEで作成されたネットリストを別のSPICEで読み込んで実行しても正常に動作しなかったり、結果が異なったり、ということが発生するので注意が必要です。, ■ 次回(第2回)予定の内容 endobj %���� また、余分なコメント文についても削除しておきます。, このままでも問題ありませんが、改行が気になり他のデータと同じように横一列にしたい場合は修正しておきましょう。 デバイスモデルはSPICE記述言語(ネットリスト)の表記が「.model」で始まり、モデルパラメータのみで表現されたSPICEモデルです。 LTspiceでデバイスモデルとして定義されており追加可能なのは、以下の8種類になります。 3 0 obj spiceが認識できるフォーマット(言語)が、「ネットリスト」と呼ばれるものです。ネットリストとは、図5 に示すようにある決まった構文・文法に従って回路素子の接続情報や素子値、または解析設定などを記述したasciiファイルのことです。 4 0 obj <> ON Semiconductor provides many model types including SPICE, PSPICE, ISPICE and ORCAD. stream u�$EyV��B�.^#_v�5�m���:/1뼤�S���˪�ֽU.�+G���&f(� �G](CQ2Td7��'!߭�6l%m�l��̦ˌ1��b3|@�Fe�mX!�N��e��!A�)DW`N�`ԈE9���+ 8rS�3Υ3p߽�VJI���k�[�^=;P�A.Ki. *ON Semiconductor LTspiceでSPICEのネットリスト(Netlist)を出力する方法を解説します。 メニュー・ バーのView→SPICE Netlistを選択します。 (View→SPICE Netlist) SPICE Netlistが出力されます。 (SPICE Netlist) [1] http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE 当記事では、SPICEモデルの内、デバイスモデル(.model)をLTspiceに追加する方法について詳しく説明します。, LTspiceで標準で搭載されているアナログ・デバイセズ(旧リニアテクノロジー含む)のSPICEモデル以外でも、追加して問題なく使用することが可能なのです。, なお、「サブサーキットモデル(.subckt)の追加方法」については以下の記事で解説しています。, デバイスモデルはSPICE記述言語(ネットリスト)の表記が「.model」で始まり、モデルパラメータのみで表現されたSPICEモデルです。, LTspiceでデバイスモデルとして定義されており追加可能なのは、以下の8種類になります。, デバイスモデルを入手するには、部品メーカーが提供しているデバイスモデルを入手するのが最も簡単です。, 以下の記事で、SPICEモデルを無償提供しているメーカーをまとめましたので、参考にして下さい。, 当記事では、解説のためにONセミコンダクターのNPNバイポーラトランジスタ「2N4923」を入手してみます。, 以下のリンクをクリックして、ONセミコンダクターWEBサイトでSPICEモデルがダウンロードできるページに移動します。, なお、ONセミコンダクターWEBサイトのトップページから移動する場合はわかりづらいので、サイト内検索で「シミュレーション・モデル」と検索した方が早いです。, 拡張子の違う複数の種類のファイル名が表示されますが、LTspiceで使用できるファイルの拡張子は「.LIB」になります。「PSpice Model」をクリックすると、自動的にダウンロードが開始します。, ダウンロードした「2N4923.LIB」をメモ帳で開くと.MODELから記述が始まっているので、デバイスモデルであることがわかりますね。このデバイスモデルをLTspiceに追加していきます。, C:\Users\USER\Documents\LTspiceXVII\lib\cmpから、フォルダ「cmp」を開くと、各部品ごとのデータファイルが表示されます。 x��Z[o�6~7���G��޹0X�\d��u�>,�!�f2Y�dfg�X���wH�_��.9"E��;w�z����������^ ������&�H�_��� ^��?.�x�v5 �,Im�F���j���@4����6V� l��Q��N(����N��踳W���J�/ar ���Ӏ��/+H��+���X�u��t50AV����C�$(.VL�����A�rk$$%rH�=����XM:@���F `��΄ ���F'������f&�x,�0:Wɐ�J��*A��f��}w���e�:]�t��$�Ǘᯋ���4�7'*r��=� ����x&��q�)k)�?m��y���C]4���o������3�=��ϟ�L�b��G����ş������_ ����C�!P,lo*��J`�> ��ͧ���(f��/�y���JWf�� 4 0 obj 以下のようにコメント文を使って、メーカー別にわけて整理するとわかりやすいです。 OÔê�÷�~:ª]©“Å6C#炶Ÿƒ¡pŒVH(B0¶�ÚÀ¨¬›F€D+=õÇû~£c�eæûo¾À½ŞİB >õõ;êˆØ}íRÇÛO1ë0÷%¦±¸áÓhu+ù˜i¤ˆy¢hxeXö/Œ¨öÍÚËpDü¿’Ó¥¼âUUnßì’ç6%±ºkµºjÙÿŒBW endstream endobj 21 0 obj << /Type /Font /Subtype /Type1 /Name /F6 /Encoding /MacRomanEncoding /BaseFont /Helvetica >> endobj 22 0 obj << /Type /Font /Subtype /Type0 /BaseFont /ShinGo-Bold-Identity-H /Encoding /Identity-H /DescendantFonts [ 43 0 R ] >> endobj 23 0 obj << /Type /Font /Subtype /Type0 /BaseFont /GothicBBB-Medium-Identity-H /Encoding /Identity-H /DescendantFonts [ 39 0 R ] >> endobj 24 0 obj << /Type /Encoding /Differences [ 0 /NUL /SOH /STX /ETX /EOT /ENQ /ACK /BEL /BS /HT /LF /VT /FF /CR /SO /SI /DLE /DC1 /DC2 /DC3 /DC4 /NAK /SYN /ETB /CAN /EM /SUB /ESC /FS /GS /RS /US 39 /quotesingle 96 /grave 128 /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /degree 164 /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /notequal /AE /Oslash /infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation /product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash /questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft /guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /apple /Ograve /Uacute /Ucircumflex /Ugrave 246 /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] >> endobj 25 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /Encoding 24 0 R /BaseFont /Helvetica >> endobj 26 0 obj 1127 endobj 27 0 obj << /Filter /FlateDecode /Length 26 0 R >> stream