【菜鸟FPGA VHDL学习帖】第5帖 按键
第一步,我们先来看看原理图
第二步,目标:
按下一个按键,一个灯亮,松开手,灯灭。
每一个按键对应着一个灯。
第三步,用的CASE语句
CASE语句需要特别注意以下几点。
(a)可读性比IF语句好,经常用来描述根据某逻辑表达式的值而进行的操作
(b)格式是:
Case<表达式> is
When<选择> => <顺序语句>;
……
When others => <顺序语句>;
End case;
(c)when语句中不能有相同的选择
(d)when语句中的选择值必须被穷举,不能遗漏
(f)when语句可以颠倒次序,但是others必须在最后
第四步: 例子
architecture behave of ledd is
begin
process(data_in)
begin
data_out <= (others => '1');---将data_out所有位负1
case data_in is
when "110" => data_out <= "110"; -- 0
when "101" => data_out <= "101"; -- 1
when "011" => data_out <= "011"; -- 2
when others => NULL;
end case;
end process;
end behave;
三个when语句,第1个WHEN表示KEY1按下,
第2个WHEN表示KEY2按下,
第3个WHEN表示KEY3按下
[
本帖最后由 常见泽1 于 2013-9-22 15:50 编辑 ]