library IEEE;

use IEEE.std_logic_1164.all;


entity multit is

end multit;


architecture hard of multi is

port (

a : in STD_LOGIC_VECTOR(3 downto 0);

b : in STD_LOGIC_VECTOR(3 downto 0);

p : out STD_LOGIC_VECTOR(7 downto 0)

    );


begin

process(a,b)

variable pv,bp : STD_LOGIC_VECTOR(7 downto 0);

begin

pv :="00000000";

wait for 50ns;

bp :="0000"&b;

wait for 50ns;

for i in 0 to 2 loop

if a(i) = '1' then

pv := pv or bp;

wait for 50ns;

end if;

bp := bp(6 downto 0) & '0';

wait for 50ns;

end loop;

p <= pv or ((not b) or "0001")&"0000";

wait for 50ns;

end process;

end hard;



아키텍쳐 밑에  port가 잘못된 표현이라고 저거 하나 에러떴는데
시뮬돌리기전에 마지막 에러인듯한데 왜 저 표현이 오류가나는거에용?