【发布时间】:2015-10-01 13:32:10
【问题描述】:
输入表示 0 到 9 之间的二进制值。有九个输出。每个输出驱动一个 LED。当输出为 0 时,其关联的 LED 亮起。当它为 1 时,其关联的 LED 熄灭。 LED 堆叠成竖条。顶部 LED 由 bar_graph(8) 驱动,底部 LED 由 bar_graph(0) 驱动。
我在这里粘贴了我的代码,它有一些错误,我不确定这是否是正确的方法。
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
entity bcd_2_bar is
port (bcd : in std_logic_vector (3 downto 0);
bar_graph : out std_logic_vector (8 downto 0));
end bcd_2_bar;
architecture test of bcd_2_bar is
begin
bar_graph<="111111111" when "0000" else
bar_graph<="111111110" when "0001" else
bar_graph<="111111100" when "0010" else
bar_graph<="111111000" when "0011" else
bar_graph<="111110000" when "0100" else
bar_graph<="111100000" when "0101" else
bar_graph<="111000000" when "0110" else
bar_graph<="110000000" when "0111" else
bar_graph<="100000000" when "1000" else
--nothing is displayed when number greater than nine.
bar_graph<="111111111" when others;
end test;
【问题讨论】:
-
您需要检查“条件赋值语句”的正确语法。