以前の VHDL では、論理演算子の両方のオペランドが同じサイズである必要がありました。
VHDL-2008 では、1 つのオペランドが配列、もう 1 つのオペランドがスカラーである論理演算子がサポートされます。たとえば、1 つのビットとベクターのすべてのビットに対して AND
を実行するには、次のコードが必要でした。
out1(3) <= in1(3) and in2;
out1(2) <= in1(2) and in2;
out1(1) <= in1(1) and in2;
out1(0) <= in1(0) and in2;
これを次のコードに置き換えることができます。
out1<= in1 and in2;