有一些VHDL代码我正在经历的决赛,并遇到一些混乱的语法。我知道这是因为类型的差异,但并不真正了解发生了什么。 我只张贴代码的相关部分和库使用VHDL,混淆语法“”&
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
count : IN std_logic;
SIGNAL qi : unsigned(w downto 0);
qi <= qi + ("" & count);
基本上我的问题是,什么是“‘’&”,不串联与“”做一个自动转换为其他类型?
在此先感谢
编辑类型转换的混乱
原因,这里的代码
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY counter_alt IS
GENERIC (w : integer := 8);
PORT (clk, load, count : IN std_logic;
d : IN unsigned(w-1 downto 0);
q : OUT unsigned(w-1 downto 0);
co : OUT std_logic);
END counter_alt;
ARCHITECTURE bhv OF counter_alt IS
SIGNAL qi : unsigned(w downto 0);
BEGIN
PROCESS(clk)
BEGIN
IF rising_edge(clk) THEN
IF load='1' THEN
qi <= '0' & d;
ELSE qi <= qi + ("" & count);
END IF;
END IF;
END PROCESS;
q <= qi(w-1 downto 0);
co <= qi(w);
END bhv;
你肯定这些都是相关的库,还是有一些更像'ieee.std_logic_unsigned.all'? – damage
该程序编译并运行与上述库 – hops1