문제
VHDL에서 비트를 어떻게 연결합니까? 다음 코드를 사용하려고합니다.
사례 B0 & B1 & B2 & B3은 ...
그리고 오류가 발생합니다
감사
해결책
연결 연산자 '&'는 신호 할당 연산자 '<=',
다른 팁
다음은 연결 연산자의 예입니다.
architecture EXAMPLE of CONCATENATION is
signal Z_BUS : bit_vector (3 downto 0);
signal A_BIT, B_BIT, C_BIT, D_BIT : bit;
begin
Z_BUS <= A_BIT & B_BIT & C_BIT & D_BIT;
end EXAMPLE;
CASE 명령문과 함께 연결 연산자를 사용할 수 없습니다. 가능한 한 가지 해결책은 프로세스 내에서 변수를 사용하는 것입니다.
process(b0,b1,b2,b3)
variable bcat : std_logic_vector(0 to 3);
begin
bcat := b0 & b1 & b2 & b3;
case bcat is
when "0000" => x <= 1;
when others => x <= 2;
end case;
end process;
제휴하지 않습니다 StackOverflow