IEEE 1164規格(VHDLモデルの相互運用性のための多値ロジックシステム)は、1993年にIEEEによって発行された技術標準です。これは、電子設計自動化で使用される論理値の定義を、VHDLハードウェア記述言語用に説明しています。[2]これは、電気電子技術者協会(IEEE)の設計自動化標準委員会によって後援されました。標準化の取り組みは、 Synopsys MVL-9型宣言の寄贈に基づいていました。
基本データ型std_ulogic(標準未解決ロジック)は、9つの文字リテラルで構成されています(右の表を参照)。[1]このシステムは、一般的なCMOSロジック設計がほとんどのモデリング状況で実装できる便利なロジック値セットを促進しました。これには以下が含まれます。
'Z'トライステートバッファロジックを簡単にするリテラル'H'ワイヤード ANDおよびワイヤード ORロジックを'L'可能にするための弱いドライブ。'U'すべてのオブジェクト宣言のデフォルト値として、シミュレーション中に初期化されていない値を簡単に検出し、必要に応じて簡単に修正できるようにします。
VHDLでは、ハードウェア設計者は次のステートメントlibraryとステートメントを使用して宣言を可視化しますuse。
ライブラリIEEE ; IEEE.std_logic_1164. allを使用します。
シミュレーションでの値の使用
使用'U'
VerilogやVHDLなどの多くのハードウェア記述言語(HDL) シミュレーション ツールは、デジタル エレクトロニクスのシミュレーション中に上記のような未知の値をサポートします。未知の値は設計エラーの結果である可能性があり、設計者は実際の回路に合成する前に修正できます。未知の値は、シミュレーションが実際の入力値が何であるかをアサートする前の、初期化されていないメモリ値と回路入力も表します。
HDL 合成ツールは通常、バイナリ ロジックでのみ動作する回路を生成します。
使用'-'
デジタル回路を設計する場合、一部の条件は回路が実行する目的の範囲外になることがあります。そのため、設計者はそれらの条件で何が起こるかを気にしません。さらに、回路への入力が他の信号によってマスクされ、その入力値が回路の動作に影響を与えない状況が発生します。
このような状況では、真理値表を作成するときに「 Don't Care'X' 」を示すプレースホルダーとしてを使用するのが一般的ですが、VHDL では を使用します。「 Don't care 」は、ステートマシン設計やカルノー図の簡略化で特によく使用されます。この値により、最終的な回路設計に自由度が追加され、一般的には簡素化された小型の回路が実現します。[3]-'-'
回路設計が完了し、実際の回路が構築されると、'-'値は存在しなくなります。それらは何らかの有形'0'または'1'値になりますが、最終的な設計の最適化に応じてどちらになるかは異なります。
使用'Z'
一部のデジタル デバイスは、出力のみで 3 状態ロジック形式をサポートしています。3 つの状態は、「0」、「1」、および「Z」です。
一般的にトライステート[4]ロジック(ナショナルセミコンダクターの商標)と呼ばれ、通常の真と偽の状態に加えて、ロジック出力を効果的に切断する3番目の透明な 高インピーダンス状態(または「オフ状態」)で構成されています。これにより、複数のロジック出力を1つの入力に接続する効果的な方法が提供され、1つを除くすべての出力が高インピーダンス状態になり、残りの出力は通常のバイナリ感覚で動作できるようになります。これは通常、コンピュータメモリバンクやその他の同様のデバイスを共通データバスに接続するために使用され、一度に1つだけを有効にするだけで、多数のデバイスが同じチャネルを介して通信できます。
出力は 3 つの状態のうち 1 つを持ちますが、入力は 2 つの状態しか認識できません。高インピーダンス状態は事実上「未知」であると主張することもできますが、ほとんどの電子機器では高インピーダンス状態をそれ自体の状態として解釈する機能はありません。入力は「0」と「1」のみを検出できます。
デジタル入力が切断されたままになっている場合、入力によって解釈されるデジタル値は、使用されているテクノロジの種類によって異なります。TTLテクノロジでは、確実にデフォルトで "1" 状態になります。一方、CMOSテクノロジでは、その入力で確認された以前の状態が一時的に保持されます (ゲート入力の容量による)。時間が経つと、リーク電流によって CMOS 入力がランダムな方向にドリフトし、入力状態が反転する可能性があります。CMOS デバイスの入力が切断されると、ノイズが拾われたり、発振が発生したり、供給電流が大幅に増加したり (クローバー電力)、デバイスが完全に破壊されたりする可能性があります。
参照
- 4つの値を持つ論理
- IEEE 1364は4値ロジック(その他)を定義している。
参考文献
- ^ ab 「VHDL とロジック合成」 。2010年1 月 22 日閲覧。
- ^ 「IEEE 1164-1993 – VHDLモデルの相互運用性のためのIEEE標準マルチ値ロジックシステム(Std_logic_1164)」。IEEE 。 2018年9月25日閲覧。
- ^ Wakerly, John F (2001).デジタルデザインの原則と実践. Prentice Hall. ISBN 0-13-090772-3。
- ^ National Semiconductor (1993)、LS TTLデータブック、National Semiconductor Corporation、2006年2月9日時点のオリジナルよりアーカイブ、2020年1月19日閲覧。
- 1164-1993 – VHDLモデルの相互運用性のためのIEEE標準マルチバリューロジックシステム(Stdlogic1164)。1993年。doi:10.1109/ IEEESTD.1993.115571。ISBN 0-7381-0991-6。
- D. Michael Miller、Mitchell A. Thornton (2008)。多値ロジック: 概念と表現。デジタル回路とシステムの合成講義。第 12 巻。Morgan & Claypool Publishers。ISBN 978-1-59829-190-2。
