vhdl 端口映射port 地图这里有异常 求高手帮忙

vhdl 端口映射port map这里有错误 求高手帮忙
library ieee;
use ieee.std_logic_1164.all;

entity awgn_top is
port( clkin:in std_logic;
nout:out std_logic_vector(17 downto 0));
end awgn_top;


architecture beha of awgn_top is

component m_gen1
port(clk:in std_logic;
x1:out std_logic_vector(3 downto 0));
end component;

component m_gen2 
port(clk:in std_logic;
x2:out std_logic_vector(3 downto 0));
end component;

component rom1 
port(clk : in std_logic;
dinr1:in std_logic_vector(3 downto 0);
doutf:out std_logic_vector(8 downto 0));
end component;

component rom2
port(clk : in std_logic;
dinr2:in std_logic_vector(3 downto 0);
doutg:out std_logic_vector(8 downto 0));
end component;

component mult
 port( clk:in std_logic;
 f,g:in std_logic_vector(8 downto 0);
 n:out STD_LOGIC_VECTOR(17 downto 0));
end component;

signal x1t,x2t:std_logic_vector(3 downto 0);
signal ftemp,gtemp:std_logic_vector(8 downto 0);
begin
process(clk)
begin
if(clk 'event and clk='1') then
u1: m_gen1 port map(clk=>clkin,x1=>x1t);
u2: m_gen1 port map(clk=>clkin,x1=>x2t);
u3: rom1 port map(clk=>clkin,dinr1=>x1t,doutf=>ftemp);
u4: rom2 port map(clk=>clkin,dinr2=>x2t,doutg=>gtemp);     --这里报错 Error (10500): VHDL syntax error at awgn_top.vhd(49) near text "port";  expecting "(", or "'", or "."
u5: mult port map(clk=>clkin,f=>ftemp,g=>gtemp,n=>nout);
end if;
end process;
end beha;

有没有好心人帮忙看看哪出错了??
------解决方案--------------------
引用:
library ieee;
use ieee.std_logic_1164.all;

entity awgn_top is
port( clkin:in std_logic;
nout:out std_logic_vector(17 downto 0));
end awgn_top;


architecture beha of awgn_top is

component……

vhdl 端口映射port 地图这里有异常 求高手帮忙帮顶
------解决方案--------------------
port map是并行语句,不能用于process,应放到结构体中。

中秋放假了,还有人在钻研VHDL,真有劲头,头不晕的
vhdl 端口映射port 地图这里有异常 求高手帮忙
------解决方案--------------------
all中秋快乐~