【发布时间】:2013-06-11 18:34:52
【问题描述】:
我正在尝试编写一个简单的程序来在按下按钮时打开 LED。
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity TurnOn is
Port ( sig : in STD_LOGIC;
led : out STD_LOGIC);
end TurnOn;
architecture Behavioral of TurnOn is
(Line 39) process(sig)
begin
if sig = '1' then
led <= '1';
(Line 44) else
led <= '0';
(Line 47)end if;
end process;
end Behavioral;
我收到这些错误。
Line 39: Syntax error near "process".
Line 44: Syntax error near "else".
Line 47: Syntax error near "if".
我是 VHDL 的新手,所以我假设这是我缺少的一些小东西。盯着这个看了大约一个小时。感谢您的任何意见。
【问题讨论】:
-
你也可以省略整个过程,只写下面这行:
led <= sig;。那是一个并发的信号分配,所以这些信号然后直接连接。不过,您仍然需要缺少的begin。 -
并发语句有一个等价的过程,实际上是它们被模拟的方式。您可以将其视为流程声明的简写。 IEEE Std 1076-1993,9.5 并发信号分配语句,第 8 段和构造选择 d),或 -2008,11.6 并发信号分配语句,第 9 段和构造选择 d)。
标签: if-statement vhdl