VHDL如何将多个模块用语句连接起来?
用原理图方式比较麻烦。而PORTMAP()只能输入对应输入,输出对应输出。我指的是一个模块的输出通过语句连到另一个模块的输入,请高手指教…...
用原理图方式比较麻烦。而PORT MAP()只能输入对应输入,输出对应输出。我指的是一个模块的输出通过语句连到另一个模块的输入,请高手指教…
展开
1个回答
展开全部
在结构体中声明两个模块之间的连接线为“信号(SIGNAL)”,然后在元件例化语句中用PORT MAP()将元件的端口映射到连接线(信号)上,连接线是无所谓输入/输出的。
例如将一个反相器的输出连接到另一个反向器的输入:
ARCHITECTURE example OF Driver IS
SIGNAL wire:std_logic;
COMPONENT inverter
PORT( a:IN std_logic;b:OUT std_logic);
END COMPONENT;
BEGIN
U0:inverter PORT MAP ( a => in1,b => wire);
U1:inverter PORT MAP ( a => wire,b => out1);
END;
例如将一个反相器的输出连接到另一个反向器的输入:
ARCHITECTURE example OF Driver IS
SIGNAL wire:std_logic;
COMPONENT inverter
PORT( a:IN std_logic;b:OUT std_logic);
END COMPONENT;
BEGIN
U0:inverter PORT MAP ( a => in1,b => wire);
U1:inverter PORT MAP ( a => wire,b => out1);
END;
追问
谢谢你的回答,还请教个问题,请问在使用PORT MAP()时遇到这个错误怎么解决:format port or parameter “samp_clk” must have actual or default value.? 端口映射的时候需要把例化元件的每个端口都映射过去吗?
追答
1.我没有遇到过“format port or parameter “samp_clk” must have actual or default value.?”错误。
2.端口映射的时候确实需要把例化元件的每个端口都映射过去,对于元件中不用的输出端口,映射到"OPEN"。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询