我遇到类型不匹配错误,但所有值都是相同类型的 std_logic。这是代码
Nx, Ny - 泛型
ipx - 输入端口向量
tempx, tempz - 信号
ipx : 在 std_logic_vector(Nx-1 downto 0);
.......
信号 tempx : std_logic_vector(Ny-1 downto 0) := ipx(Nx-1 downto Nx-Ny); (信号初始化)
信号 tempz : std_logic_vector(Ny-1 downto 0);
......
tempx <= (Ny-1 downto 1 => tempz(Ny-2 downto 0), 0 => ipx(a-1));
错误:错误(10381):ArrayDivider.vhd(53)处的VHDL类型不匹配错误:索引名称返回一个值,其类型与目标表达式的类型“std_ulogic”不匹配(tempx的最后一行代码错误)
但是 ipx 和 tempz 都是 std_logic 向量所以,这里的类型不匹配在哪里????请给我一些解决方案
我也尝试过使用连接运算符 & 但它给了我另一个与顶级层次结构相关的错误,并且“无法解析 tempx [0] 的多个常量驱动程序”!!!!!!