“EOF”:第2行的语法错误

时间:2013-04-21 12:30:20

标签: vhdl modelsim

我正在尝试编写一个简单的vhdl代码。当我在quartus 2中运行此代码时没有问题。但是,当我在modelsim上运行时,第2行出现错误,即“使用ieee.std_logic_all.1164;”时出错。 。我不知道因为我是vhdl的新手。顺便说一下,我正在使用Modelsim Starter edition 6.5e

library ieee;
use ieee.std_logic_all.1164;

entity tb is
end tb;

architecture behaviour of tb is 
component ORG is
port (
a : in std_logic;
b : in std_logic;
c : out std_logic;
 );

 signal ina, inb, outc : std_logic;
 constant period : time := 100ns;
 signal done : boolean := false;


begin
  process
    begin
      ina = '0';
      inb = '0';
      wait for period;


      ina = '1';
      inb = '0'

      wait for period;
      done <= true;
      wait;
  end process;
end behaviour;

1 个答案:

答案 0 :(得分:1)

您的代码中存在许多会导致语法错误的问题。

  1. 正如@rene指出的那样,图书馆名称是std_logic_1164 - 你有“1164”和“全部”反转(IEEE的大写并不重要)。
  2. c端口行的末尾应该是分号
  3. 您应该在端口声明后(即在右括号和分号之后)包含end component;语句
  4. 过程中的等号应为<=
  5. 最后,100ns
  6. 之间应该有一个空格