VHDL的变量赋值
时间:10-02
整理:3721RD
点击:
麻烦问下各位,在写VHDL中,对变量进行赋值,该怎么写?假设上面定义了模块:
component r2p_corproc
port(
clk
: in std_logic;
ena
: in std_logic;
Xin
: in unsigned(15 downto 0);
Yin : in signed(15 downto 0);
Rout
: out unsigned(19 downto 0);
Aout
: out signed(19 downto 0)
);
end component;
下面对模块内部的信号赋初值,
signal clk : std_logic:= '0';
signal ena : std_logic:='0';
signal Xin : unsigned := '0001'; --有错
signal Yin : signed := '0001'; --有错
然后我改成了:
signal Xin : unsigned <= '0001'; --有错
signal Yin : signed <= '0001'; --有错
但都报错。报告的错误是:在“”“”中有语法错误。我真心没搞懂这是哪里的错。
component r2p_corproc
port(
clk
: in std_logic;
ena
: in std_logic;
Xin
: in unsigned(15 downto 0);
Yin : in signed(15 downto 0);
Rout
: out unsigned(19 downto 0);
Aout
: out signed(19 downto 0)
);
end component;
下面对模块内部的信号赋初值,
signal clk : std_logic:= '0';
signal ena : std_logic:='0';
signal Xin : unsigned := '0001'; --有错
signal Yin : signed := '0001'; --有错
然后我改成了:
signal Xin : unsigned <= '0001'; --有错
signal Yin : signed <= '0001'; --有错
但都报错。报告的错误是:在“”“”中有语法错误。我真心没搞懂这是哪里的错。
用"0001",非'0001'.
修改后:
signal Xin : unsigned := ”0001“;
signal Yin : signed := “0001”;
报告的是:array type for xin is not constrained.array type for yin is not constrained.还是有错
然后,我试着改成:
signal Xin : unsigned <= "0001";
signal Yin : signed<= ”0001“;
此时,报告:near "<=" expecting ‘;’
凌乱了,不知道怎么改了。
signal Xin: unsigned (15 downto 0) := "0000000000000001";
