VHDLの基本的な論理演算
構文 |
意味 |
A<=B |
AにBを代入 |
A and B |
AとBの論理積 |
A or B |
AとBの論理和 |
A xor B |
AとBの排他的論理和 |
not A |
Aの否定 |
A nand B |
not ( A and B ) |
A nor B |
not ( A or B) |
A xnor B |
not (A xor B) |
VHDLでは様々なデータ型が用意されているが、標準で用意されているものとライブラリ(パッケージ)を読み込む必要があるものがあるので、以下にその一覧をまとめる。
なお、VHDLでは文字列以外で大文字小文字の区別がない。
標準で用意されている型
データ型 |
内容 |
integer |
32ビット符号付き整数 |
real |
浮動小数点 |
bit |
’0’/‘1’ |
bit_vector |
bitのベクトル型 |
boolean |
true/false |
character |
ASCII文字 |
time |
時間の物理タイプ*1 |
severity level |
メッセージタイプ*2 |
natural(positive) |
integerのサブセット*3 |
string |
文字列 |
IEEE.STD_LOGIC_1164で定義される型
データ型 |
内容 |
std_logic |
’0’や’1’、不定値’X’など |
std_logic_vector |
std_logicのベクトル型 |
std_logicについて
EEE.STD_LOGIC_ARITH
データ型 |
内容 |
signed |
符号付き整数 |
unsigned |
符号なし整数 |
IEEE.STD_LOGIC_ARITHは複数あるらしい?
参考サイト
*4
STD.TEXTIOパッケージで定義される型
データ型 |
内容 |
line |
|
text |
|
side |
|
width |
|
STDはいまのところ使う予定がないので保留…
GHDLでパッケージstd_logic_arith, std_logic_signed, std_logic_unsigned, std_logic_textio.
を使うときは—ieee=synopsysのオプションをつける必要がある