VHDL - 连接开关和LED

时间:2018-06-09 12:58:50

标签: vhdl fpga led xilinx-ise spartan

我有Xilinx Spartan6和下一代VHDL代码:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity Switches_Leds is
    Port (switch_0: in STD_LOGIC;
          LED_0 : out STD_LOGIC);
end Switches_Leds;

architecture Behavioral of Switches_Leds is
begin
   LED_0 <= switch_0;
end;

这是我的用户约束文件:

NET "switch_0" LOC = C3;

NET "LED_0" LOC = P4;

我的问题是:为什么led总是打开,但如果我点击按钮就会关闭?

我解释说:我编程我的fpga - 指示灯打开,按下开关按钮 - 指示灯熄灭,我按下按钮 - 指示灯继续亮起。

1 个答案:

答案 0 :(得分:2)

反转可能发生在两个地方:

  • 在按钮中。
  • 在LED中。

这完全取决于他们的联系方式。我做了一个图表:

enter image description here

(因为我们在EE站点上没有原理图编辑器,所以必须绘制它)

如果查看图表:按钮可以通过两种方式连接。它们可以在推或低时产生高电平。

LED也可以通过两种方式连接:输出高时它们可以点亮,或者输出低时可以点亮。

它为您提供了四种组合,当按下按钮时,两个组合使LED点亮,两个组合按下按钮时按下LED。