EOF: синтаксическая ошибка в строке 2

Я пытаюсь написать простой код vhdl. Когда я запускаю этот код в quartus 2, проблем нет. Однако, когда я запускаю modelsim, возникает ошибка в строке 2, то есть ошибка «use 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;

person Mohammad Zulkarnain    schedule 21.04.2013    source источник
comment
Возможно use IEEE.std_logic_1164.all;   -  person rene    schedule 21.04.2013
comment
Рене, все еще не удалось :(   -  person Mohammad Zulkarnain    schedule 21.04.2013
comment
Попробуйте использовать редактор Sigasi — он довольно хорошо указывает на подобные ошибки.   -  person Martin Thompson    schedule 23.04.2013


Ответы (1)


У вас есть ряд проблем в вашем коде, которые вызовут синтаксические ошибки.

  1. Как указал @rene, имя библиотеки std_logic_1164 - у вас есть «1164» и «все» в обратном порядке (заглавные буквы IEEE не имеют значения).
  2. В конце строки порта c не должно быть не точки с запятой.
  3. Вы должны включить оператор end component; после объявления порта (то есть после закрывающей скобки и точки с запятой)
  4. Знаки равенства в процессе должны быть <=
  5. Наконец, между 100 и ns должен быть пробел.
person Tomi Junnila    schedule 21.04.2013
comment
6. Отсутствие точки с запятой после одного из назначений сигнала - person user_1818839; 21.04.2013
comment
@Tomi Junnila большое спасибо :) точка с запятой всегда главная проблема в программировании -.- - person Mohammad Zulkarnain; 22.04.2013