我的目标是为板卡的position_track
(9位)和color_track
(9位)控制player1
和player2
在基于VHDL的井字游戏中显示。
当前,我能够显示3x3网格并显示开关的颜色。仅适用于在Altera DE2板上分配给player1
至SW[9]
的{{1}}(“蓝色”)。对于SW[0]
至player2
中的任何一个,SW[17]
('红色')在VGA显示中均无响应。
这是针对使用VHDL和Altera DE2板,Cyclone II芯片的项目。过去,我曾尝试检查实体体系结构的语法(行为方法),以指定用于跟踪FPGA板中内置硬件开关中的更改的逻辑。
使用的标准库,例如ieee.std_logic_1164.all和ieee_std.logic_unsigned.all。
FPGA
SW[9]
我希望.vhd文件中的代码可以正确合成。但是,在Quartus II编译器中遇到的唯一错误是:
错误(10517):switch_track.vhd(19)处的VHDL类型不匹配错误: std_ulogic类型与整数文字不匹配。
我不确定为什么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;
会出现在编译器中。我是VHDL和Quartus II硬件设计的新手。感谢建设性的反馈意见。
答案 0 :(得分:0)
出现的错误是因为我没有将position_track和color_track的1和0分别分类为“ 1”和“ 0”以正确表示二进制数。我没有使用正确的语法。