ADALM2000による実習:「CD4007」を使って様々なロジック機能を実現する

目的

今回は、トランジスタ・アレイ「CD4007」を取り上げることにします。同製品は、NMOSトランジスタとPMOSトランジスタの相補ペアを3つ備えるICです。それらを組み合わせて様々なCMOSロジック機能を実現し、機能/特性を確認してみましょう。

CD4007によるインバータの構築

図1に、CD4007の内部構造とピン配置を示しました。

図1. CD4007の内部構造とピン配置
図1. CD4007の内部構造とピン配置

この図を見ればすぐにわかるように、CD4007を1個使用すれば、最大3個のインバータを実現することができます。1つ目のインバータは、図2の左端に示すようにして構築することにします。ご覧のとおり、8番ピンと13番ピンを接続することでインバータの出力を実現します。6番ピンがこのインバータの入力になります。14番ピン(VDDピン)は電源に、7番ピン(VSSピン)はグラウンドに必ず接続してください。この構成が、3個のインバータのうち最も簡単だと言えるでしょう。

図2. 3つのインバータ
図2. 3つのインバータ

2つ目のインバータは、2番ピンをVDD、4番ピンをVSSに接続することによって構成します。1番ピンと5番ピンを接続してインバータの出力とし、3番ピンを入力とします。3つ目のインバータは、11番ピンをVDD、9番ピンをVSSに接続することによって構成します。12番ピンが出力、10番ピンが入力です。

CMOSインバータの特性評価

CMOSインバータには、仕様として定義される数多くの性能指標が存在します。それらの静的(DC)性能や動的(AC)性能は、実測によって確認することになります。ここでは、インバータを対象としていくつかの性能を測定してみることにしましょう。ここで紹介する測定手法は、以降の実習で取り上げる他のゲートにも適用できます。まずは静的特性として、閾値電圧、遷移領域の幅、出力電圧、シンク電流を測定することにします。

各種特性の測定方法

一般にCMOSの製造プロセスは、NMOSトランジスタとPMOSトランジスタの閾値電圧VTHがほぼ同じになるように設計されます。つまり、両トランジスタが相補的に機能するようにするということです。一方、インバータの設計者はNMOS/PMOSトランジスタのゲートのサイズの設計に注意を払うことになります。ゲートの幅と長さの比(W/L)を調整し、両者のトランスコンダクタンスが等しくなるようにするということです。

説明

図2に示した1つ目のインバータを、ソルダーレス・ブレッドボード上に実装してください。それを使用して、入出力間のスイッチング特性を確認することにします。図3に示した青色のボックスは、アクティブ・ラーニング・モジュール「ADALM2000」のコネクタに接続する部分を表しています。電源電流を測定するために、100Ωの抵抗を介してVP(5Vの電源)とVDD(14番ピン)を接続します。VSS(7番ピン)は、グラウンドに接続してください。任意波形ジェネレータ(AWG)の出力(W1)を、抵抗R2を介してインバータの入力(6番ピン)とオシロスコープの入力(1+)に接続します。インバータの出力(8番ピンと13番ピン)は、オシロスコープの入力(2+)に接続してください。オシロスコープの未使用の負入力(1-と2-)は、グラウンドに接続するとよいでしょう。

図3. 測定の対象とするインバータの回路。入力閾値と遷移領域の測定を行います。
図3. 測定の対象とするインバータの回路。入力閾値と遷移領域の測定を行います。

ハードウェアの設定

AWGは、ピークtoピークの振幅が5V、オフセットが2.5V、周波数が100Hzの三角波が出力されるように設定します。オシロスコープの両チャンネルは、1V/divに設定するとよいでしょう。また、オシロスコープはXYモードで使用し、チャンネル1を水平軸、チャンネル2を垂直軸に設定します。

図4. 図3の回路を実装したブレッドボード
図4. 図3の回路を実装したブレッドボード

手順

まず、オシロスコープのチャンネル2を使用して、インバータの出力電圧を測定します。入力電圧を0Vから5Vまで掃引することにより、図5の上に示すようなグラフを取得できるはずです。なお、信号の表示にはソフトウェア・パッケージ 「Scopy」を使用します。

次に、オシロスコープのチャンネル2の入力(2+と2-)の接続を変更し、図3の抵抗R1(100Ω)の両端の電圧を測定します。場合によっては、電流波形の表示が最適になるように、チャンネル2の垂直スケールを調整する必要があるかもしれません。入力電圧を0Vから5Vまで掃引した場合のIDを観測してください。その結果は、図5の下のグラフのような形になるはずです(図6)。

図5. インバータの特性の例。入力電圧に対する出力電圧と電源電流の関係を表しています。
図5. インバータの特性の例。入力電圧に対する出力電圧と電源電流の関係を表しています。
図6. 実際の測定結果。Scopyを使用して、インバータの入力電圧に対する出力電圧と電源電流の関係をプロットしました。
図6. 実際の測定結果。Scopyを使用して、インバータの入力電圧に対する出力電圧と電源電流の関係をプロットしました。

入力電圧VINと出力電圧VOUTのグラフは、このインバータの伝達特性を表しています。入力電圧が0Vから5Vに増加していくにつれ、出力電圧は5Vから0Vに低下していきます。電源電流は、VDDとグラウンドの間に接続されたトランジスタを流れます。ここでは、その特性を入力電圧VINをパラメータとしたグラフとして取得しました。このグラフからわかるように、入力電圧がグラウンド・レベルに近いときとVDDのレベルに近いときには、VDDとグラウンドの間に電流は流れません。つまり、それらの条件下では電力は消費されないということです。これは、非常に魅力的な特性だと言えます。実際、このことが1つの大きな理由となって、今日のほぼすべてのデジタル回路はCMOS技術で実現されています。

遷移領域の幅は、電源電圧範囲の一部を占めます。この幅は、一般にノイズ・マージンと呼ばれる性能指標との関連を持ちます。ノイズ・マージンとは、入力電圧範囲のうち、出力が一定してハイまたはローに維持される部分のことです。多くの場合、入力信号にはノイズが重畳されています。そのため、この種の回路の場合、入力の小さな変化に対して出力は応答しないということが望ましいと言えます。遷移領域が狭ければ、出力がハイとローの間の遷移状態にとどまる時間も短くなると考えられます。そうすれば、NMOS/PMOSトランジスタの両方が部分的にオンになった場合に生じるシュートスルー電流を抑制できます。

動的性能

続いて、CMOSインバータの動的特性について確認してみましょう。ここで言う動的特性とは、入力信号がローからハイまたはハイからローの電圧に遷移する際のインバータの動作と消費電力のことを指します。

ここでは、電圧パルスによってCMOSインバータを駆動するケースを考えます。一般的な入出力波形は図7のようになります。インバータの動的な動作に伴う遅延は、2つの伝搬遅延時間THL、TLHによって表されます。これらの遅延時間は、電源電圧の中央値であるVDD/2を基準として規定される点に注意してください。

図7. CMOSインバータの伝搬遅延
図7. CMOSインバータの伝搬遅延
図8. CMOSインバータの立上がり時間/立下がり時間
図8. CMOSインバータの立上がり時間/立下がり時間

ハードウェアの設定

AWGは、ピークtoピークの振幅が5V、オフセットが2.5V、周波数が500kHzの方形波が出力されるように設定します。出力電圧波形を測定できるように、オシロスコープのチャンネル2を接続し直してください。オシロスコープの両チャンネルは、1V/divに設定しましょう。図7、図8のように入力/出力波形の立上がり/立下がりエッジを観測できるよう水平スケールを調整してください。

図9. CMOSインバータを実装したブレッドボード
図9. CMOSインバータを実装したブレッドボード

手順

オシロスコープのチャンネル1とチャンネル2は、入力信号と出力信号の複数の周期を取得できるように設定します。Scopyによって取得した波形の例を図10に示しました。

図10. CMOSインバータの入出力波形。伝搬遅延を確認することができます。
図10. CMOSインバータの入出力波形。伝搬遅延を確認することができます。

測定

伝搬遅延THLとTLHは、入力が遷移してから(VIN = VDD/2のとき)出力が遷移するまで(VOUT = VDD/2のとき)にかかる時間です。一方、立上がり時間TRとは、波形が定常状態の値の10%から90%に上昇するまでにかかる時間のことです。立下がり時間TFとは、波形が定常状態の値の90%から10%に下降するまでにかかる時間のことを指します。

CD4007によるCMOSシュミット・トリガの構築

続いては、CD4007を使用してCMOSシュミット・トリガ回路を構築してみましょう。

説明

図11をご覧ください。このように、シュミット・トリガ回路の入力は、連結された4つのトランジスタのゲートに供給されます。上側の2つはPMOSトランジスタであり、下側の2つはNMOSトランジスタです。トランジスタM5、M6はソース・フォロワとして動作します。これらにより、2個のNMOSデバイスと2個のPMOSデバイスの間の2点に、出力電圧VOUTをフィードバックします。それによって、ヒステリシスが実現されます。

図11. CMOSシュミット・トリガ回路
図11. CMOSシュミット・トリガ回路

入力電圧VINが0Vのとき、トランジスタM1、M3はオンになり、同M2、M4、M5はオフになります。出力電圧VOUTはハイになるので、M6はオンになりソース・フォロワとして機能します。それにより、M2のドレイン/M4のソースの電圧はVDDとVTHの間の値になります。VINがグラウンドよりも上の1つの閾値まで上昇すると、M2がオンに遷移し始めます。M2とM6の両方がオンになると分圧回路が構成され、M4のソースが電源電圧の約1/2にバイアスされます。VINがVDD/2よりも上の閾値に達すると、M4がオンに遷移し始めて回生スイッチング(regenerative switching)に切り替わります。VINが更に上昇すると、VOUTは低下し始めます。VOUTが低下すると、M6のソースはゲート(VOUT)をフォローします。その結果、M2とM6で構成される分圧回路において、M6の効果は瞬く間に消滅し、VOUTが更に低下します。一方、M5はオンに遷移し始め、急速に低下するVOUTによってゲートがローになります。M5がオンになると、M3はソースがローになってオフになります。M3がオフになると、VOUTはグラウンドまで一気に低下します。このスナップ動作は、ソース・フォロワとして動作するトランジスタがもたらす正のフィードバックにより、連結構造のループ・ゲインがユニティよりも大きくなることで実現されます。VINが再び低下するときには、連結構造の上側の部分で同様の動作が生じます。スナップ動作は、低い方の閾値に達したときに発生します。

ハードウェアの設定

図11のシュミット・トリガ回路を、ソルダーレス・ブレッドボード上に実装します。CMOSインバータの場合と同じ手順で、入力と出力の間のスイッチング特性を確認しましょう。

AWGは、ピークtoピークの振幅が5V、オフセットが2.5V、周波数が1kHzの三角波を出力するように設定します。また、オシロスコープの両チャンネルは1V/divに設定してください。オシロスコープはXYモードで使用し、チャンネル1を水平軸、チャンネル2を垂直軸に設定します。

図12. 図11の回路を実装したブレッドボード
図12. 図11の回路を実装したブレッドボード

手順

入力電圧を0Vから5Vまで掃引し、オシロスコープのチャンネル2を使用して出力電圧を測定します。CMOSインバータの場合と同じようにグラフを取得します。

図13. 図11の回路の入出力応答
図13. 図11の回路の入出力応答

CD4007によるNAND/ANDゲートの構築

続いて、NAND/ANDゲートを構成してみましょう。図14に示すように、CD4007を1個使用することにより、2入力のNANDゲートとインバータを1個ずつ構築することができます。NANDゲートの出力は、12番ピンと13番ピンを接続することによって実現します。14番ピン(VDD)と11番ピンは電源に接続し、7番ピン(VSS)はグラウンドに接続してください。9番ピンと8番ピンを接続し、NANDゲートのN側を構成します。6番ピンは入力A、10番ピンは入力Bとして使用します。

図14. 2入力のNANDゲートとインバータ
図14. 2入力のNANDゲートとインバータ
図15. 2入力のNAND回路を実装したブレッドボード
図15. 2入力のNAND回路を実装したブレッドボード
図16. 2入力のAND回路を実装したブレッドボード
図16. 2入力のAND回路を実装したブレッドボード

インバータの電源については、2番ピンをVDD、4番ピンをVSSに接続します。1番ピンと5番ピンを接続して出力とし、3番ピンを入力とすることでインバータを構成できます。12番ピンと13番ピンのNANDゲートの出力をインバータの入力である3番ピンに接続すれば、ANDゲートを実現できます。

図17に示すように、6個すべてのトランジスタを使用すれば、3入力のNANDゲートを1個構成することができます。

説明

2入力、3入力のNANDゲートを構築し、ロジック機能を確認します。そのためには、入力の条件を変えて動作を確認しつつ、それぞれの真理値表を作成するとよいでしょう。未使用の入力をVDDに接続することにより、CMOSインバータの場合と同様に各入力の閾値電圧を測定することも可能です。

図17. 3入力のNANDゲート
図17. 3入力のNANDゲート
図18. 図17の回路を実装したブレッドボード
図18. 図17の回路を実装したブレッドボード

問題

CD4007を使うことで実現できる他のロジック機能を列挙してください。また、それぞれの動作を説明してください。

答えはStudentZoneで確認できます。

著者

Doug Mercer

Doug Mercer

Doug Mercerは、1977年にレンセラー工科大学で電気電子工学の学士号を取得しました。同年にアナログ・デバイセズに入社して以来、直接または間接的に30種以上のデータ・コンバータ製品の開発に携わりました。また、13件の特許を保有しています。1995年にはアナログ・デバイセズのフェローに任命されました。2009年にフルタイム勤務からは退きましたが、名誉フェローとして仕事を続けており、Active Learning Programにもかかわっています。2016年に、レンセラー工科大学 電気/コンピュータ/システム・エンジニアリング学部のEngineer in Residenceに指名されました。

Antoniu Miclaus

Antoniu Miclaus

Antoniu Miclausは、アナログ・デバイセズのシニア・ソフトウェア・エンジニアです。Linuxやno-OSドライバを対象とした組み込みソフトウェアを担当。それ以外に、アナログ・デバイセズのアカデミック・プログラムやQAオートメーション、プロセス・マネージメントにも携わっています。2017年2月から、ルーマニアのクルジュナポカで勤務。クルジュナポカ技術大学で電子工学と通信工学の学士号、バベシュボヨイ大学でソフトウェア・エンジニアリングの修士号を取得しています。