HOME Corporate Product Verilog VHDL Link Contact Site map


これまで“std_logic”, “std_logic_vector”を使用してきましたが、実はVHDLの標準データタイプとしてロジック型データタイプの“bit”があります。
しかし、このデータタイプは‘0’と‘1’の値しか持っていません。
また、このデータタイプは、不定‘X’をもっていないのでシミュレーションには不向きです。
さらに、ハイインピーダンスをもっていないので、双方向バスをモデル化することができません。
そこでIEEEでは、1993年に新しいデータタイプ“std_logic”を標準化しました(IEEE Std 1164)。
“std_logic”は以下のような値を持っています。

記号 意味
U 初期値
X 不定
0 0
1 1
Z ハイインピーダンス
W 弱い信号の不定
L 弱い信号の0
H 弱い信号の1
don't care


“std_logic”, “std_logic_vector”はIEEEで標準化された新しいデータタイプですが、VHDLの文法上では外付けのデータタイプです。
すでに紹介したとおり、“std_logic”を使用するためにはライブラリの宣言、パッケージの呼び出しが必要になります。

library IEEE;
use IEEE.std_logic_1164.all;


算術演算子は、VHDLの文法では整数型データタイプ“integer”と浮動小数点“real”でしか定義されていません。
“std_logic_vector”で算術させるためには

use IEEE.std_logic_unsigned.all;

のパッケージ呼び出しが必要になります。
ただしこのデータタイプはSYNOPSYS社から提供されているもので、IEEE標準ではありません。
このパッケージを使用することにより、“+”, “-”, “*”は、 “std_logic_vector”同士、あるいは“std_logic_vector”と“std_logic”、あるいは“std_logic_vector”と “integer”との演算が可能になります。



Back

HOME Corporate Product Verilog VHDL Link Contact Site map