std_logic
解決機能があります
するだけでなく、std_logic
ほかにもっと便利な状態を持っている1
し、0
それはまた、解像度機能が定義されています、。
解決機能はVHDL言語の概念です。これはタイプに関連付けられている関数であり、そのタイプの複数の値が単一の信号に適用されたときに何が起こるかを決定します。構文は次のとおりです。
SUBTYPE std_logic IS resolved std_ulogic;
ここでstd_ulogic
の未解決(及び従ってはるかに少ない有用)バージョンですstd_logic
。
特に、これは素敵なようなものを意味0
し、1
リードにはX
:
library ieee;
use ieee.std_logic_1164.all;
entity std_logic_tb is
end std_logic_tb;
architecture behav of std_logic_tb is
signal s0 : std_logic;
begin
s0 <= '0';
s0 <= '1';
process
begin
wait for 1 ns;
assert s0 = 'X';
wait;
end process;
end behav;
これは、X
互換性のない複数の値が1つのワイヤに適用されている状態であると理解しているため、直感的に理解できます。
std_logic
LRMにある表に従って、入力信号の可能な他のすべてのペアを解決する方法も知っています。
bit
一方、には解決機能がなく、上記の例で使用した場合、GHDL 0.34でシミュレーションエラーが発生します。
可能な値std_logic
は、IEEE 1164によって標準化されており、多くの一般的な使用例に対応しているため、適切な値です。