【发布时间】:2015-11-30 22:17:31
【问题描述】:
您好,有人可以帮我解决困扰我一段时间的事情。我有一个简单的 case 语句,据我所知,语法很好。看下面的代码
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
ENTITY D7SEGSEL IS
PORT (
SW :in std_logic_vector(3 DOWNTO 0);
SEG :out std_logic_vector(6 DOWNTO 0)
);
END ENTITY D7SEGSEL;
ARCHITECTURE behavioral OF D7SEGSEL IS
BEGIN
CASE SW IS
WHEN "1000000" => SEG <= "0000";
"1111001" => SEG <= "0001";
"0100100" => SEG <= "0010";
"0110000" => SEG <= "0011";
"0011001" => SEG <= "0100";
"0010010" => SEG <= "0101";
"0000010" => SEG <= "0110";
"1111000" => SEG <= "0111";
"0000000" => SEG <= "1000";
"0011000" => SEG <= "1001";
"0001000" => SEG <= "1010";
"0000011" => SEG <= "1011";
"1000110" => SEG <= "1100";
"0100001" => SEG <= "1101";
"0000110" => SEG <= "1110";
"0001110" => SEG <= "1111";
END CASE;
END ARCHITECTURE behavioral;
它是一个简单的 7SEG LED 驱动器,每次我编译代码时都会收到以下 错误消息:
错误 (10500):文本附近 D7SEGCASE.vhd(19) 处的 VHDL 语法错误 “案子”;期待“end”,或“(”,或标识符(“case”是 保留关键字),或并发语句 错误 (10500):D7SEGCASE.vhd(21) 靠近文本“=>”的 VHDL 语法错误;期待 > "(", 或 “'”或“.”
谁能指出我做错了什么?
我已经使用 select/when 语句为 7seg 制作了解码器,但想练习使用 case,然后通过添加时钟输入使其同步
【问题讨论】:
标签: vhdl