<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 540 720] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> 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�� endobj *Infineon Technologies .MODEL MUN5215 npn(…) H‰•VÛŠ7ı‚ş=:#—T¥óœØã‡�¾,ë°Cùúœ’º{z—µ“0ˆ–º¥ªS§ê”æü®#sp6p‰æü¦;�%Éæ. 改行を「+」で表しているので、「+」を削除してパラメータをカッコ()で閉じます。各パラメータの間はスペースを入れておきます。, その他のやり方として、デバイスモデルのファイルを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を提供しているアナログ・デバイセズ(旧リニアテクノロジーを…. <>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 540 720] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> .model TIP50 npn(…) .model BD135 npn(…), 「.MODEL Q2n4923 npn」と表示されていますが、このままだと回路図上では「Q2n4923」と表示されてしまうので、「.MODEL 2N4923 npn」と修正します。 endobj 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 %���� <> 3 0 obj ■ こんにちは。株式会社モーデック 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シミュレーションを実行することができるのです。, <参考文献>