Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何消除由于标准逻辑类型不匹配整型文字而导致的VHDL类型不匹配错误?_Vhdl - Fatal编程技术网

如何消除由于标准逻辑类型不匹配整型文字而导致的VHDL类型不匹配错误?

如何消除由于标准逻辑类型不匹配整型文字而导致的VHDL类型不匹配错误?,vhdl,Vhdl,我的目标是在基于VHDL的Tic Tac Toe游戏中,为player1(9位)和player2(9位)生成一个开关磁道,用于控制板显示的position\u磁道和color\u磁道 目前,我能够显示3x3网格并显示开关的颜色。仅适用于Altera DE2板中分配给SW[9]至SW[0]的player1('Blue')player2('Red')都没有响应 这是一个使用VHDL和Altera DE2板、Cyclone II芯片的项目。过去,我曾尝试检查实体A架构(行为方法)的语法,以指定跟踪FP

我的目标是在基于VHDL的Tic Tac Toe游戏中,为
player1
(9位)和
player2
(9位)生成一个开关磁道,用于控制板显示的
position\u磁道
color\u磁道

目前,我能够显示3x3网格并显示开关的颜色。仅适用于Altera DE2板中分配给
SW[9]
SW[0]
player1('Blue')<对于任何
SW[17]
SW[9]
,VGA显示屏上的code>player2('Red')都没有响应

这是一个使用VHDL和Altera DE2板、Cyclone II芯片的项目。过去,我曾尝试检查实体A架构(行为方法)的语法,以指定跟踪FPGA板中内置硬件交换机更改的逻辑

使用标准库,如ieee.std_logic_1164.all和ieee_std.logic_unsigned.all

FPGA

道岔轨道的结构是 开始 过程 开始 如果(player1(0)=“1”),则
position_track(0)出现的错误是因为我没有将position_track和color_track的1和0分类为“1”和“0”,以正确表示二进制数。我没有使用正确的语法。

关于
std\u logic\u unsigned
,请参阅。它不是一个标准包,它是一个遗留包。您没有给出显示
position\u track
类型的代码,因此您的问题无法回答。然而,我非常怀疑
position\u track
是否是一个整数数组,这是编译第19行所必须的。大概,
position_track
是某种
std_ulogic
数组;在这种情况下,您需要的文字是
'1'
而不是
1
。请将您的实体添加到代码中,以便明确信号的定义。位置轨迹和颜色轨迹的类型是什么?@Matthew Taylor是的,错误是由于文字未与“\u”格式一起用于表示“1”而不是1。这是一个语法错误,但是用于构建“switch_track”模块以在播放器1(蓝色)和播放器2(红色)之间切换的VHDL代码现在应该可以在VGA显示器中正常工作。
architecture behavioral of switch_track is
begin
    process
    begin
        if (player1(0) = '1') then
            position_track(0) <= 1; -- error occurs in this line (19) --
            color_track(0) <= 1;
        elsif
        -- [same logic applies for player2(0)]
        else
            position_track(0) <= 0;
            color_track(0) <= 0;
        end if;
    end process;
end architecture behavioral;