错误:在...附近输入错误;当前类型...;预期类型

问题描述

我想分别将来自 r_D1_1 和 r_D2_1 的数据(这些是来自单独实体的输出并不断变化)输入到 r_wave0 和 r_wave1 中,我尝试执行以下操作:

r_wave0 <= r_D1_1 ;
r_wave1 <= r_D2_1 ;

这导致了错误(我已经显示了第一行的错误,因为第二行除了交换输入之外是相同的):

Error : type error near r_D1_1 ; current type integer ; expected type t_wave

如前所述,输入不是固定的,所以我想在它们生成时将它们分配给 r_wave0 和 r_wave1。我是否应该彻底检查我创建其他数组并“调用”输入的方式,或者我不应该将它们标记为“整数范围 0 到 256”,而是使用 SLV?

感谢所有反馈,谢谢!

以下是整个实体的代码副本。

entity Demodulator_A is
Port (  i_Clk : in STD_LOGIC;
    i_Reset : in STD_LOGIC;
    r_D2_1 : in integer range 0 to 256;
    r_D1_1 : in integer range 0 to 256;
    final_D2 : out integer range 0 to 256;
    final_D1 : out integer range 0 to 256 );
end Demodulator_A;

architecture Behavioral of Demodulator_A is

type t_waveform1 is array (0 to 7) of integer; -- Array for reference waveform '1'
signal r_waveform1 : t_waveform1  := (16#80#,16#60#,16#40#,16#80#,16#A0#,16#C0#,16#A0#);
signal r_demodulated1 : t_waveform1;

type t_waveform0 is array (0 to 7) of integer; -- Array for reference waveform '0'
signal r_waveform0 : t_waveform0  := (16#80#,16#60#);
signal r_demodulated0 : t_waveform0;

type t_wave is array (0 to 7) of integer;
signal r_wave0 : t_wave ;
signal r_wave1 : t_wave ;
 
begin

DeModulationProc : process (i_Clk)
begin 
    if (r_wave0(2)>=16#81#) then
        r_demodulated0 <= r_waveform0;
    elsif (r_wave1(2)<=16#7F#) then
        r_demodulated1 <= r_waveform1;
    end if;
end process;

--0 = 80,A0,C0,80,60,40,60. -- in hex the waveform values for 0
--1 = 80,A0. -- in hex the waveform values for 1

end Behavioral;

编辑 1:我试图将 1 个变化的整数分配给整个数组,这会导致问题,所以我想将第一个整数分配给数组的第一个元素,将第二个整数分配给第二个元素,依此类推。从评论中,我现在知道我可以使用计数器寻址数组,并且每次输入值更改时,该计数器都可以递增。一旦我编写了此代码以帮助其他人,我将上传此代码。谢谢布赖恩!

编辑 2:我确实列出了 2 个库,但忘记将它们包含在上面的代码片段中。下面是我用过的两个。

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...