Предупреждение Modelsim: не обозначает порт

Я моделирую LEON3 с помощью modelsim. После make vsim я получаю do-файл, который использую для вызова modelim. Это дает мне предупреждающее сообщение, и я не знаю, актуально ли это сообщение сейчас. На самом деле я не знаю, что это значит.

# ** Warning: [6] /path/to/lib/tech/ec/orca/orca.vhd(14744): (vcom-1288) VITAL timing generic "tpd_a1_s2" port specification "s2" does not denote a port.

Указанный код:

ENTITY fadsu2 IS
   GENERIC(
      TimingChecksOn : boolean := TRUE;
      XOn            : boolean := FALSE;
      MsgOn          : boolean := TRUE;
      InstancePath   : string := "fadsu2";
      tpd_a0_bco     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_a1_bco     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_b0_bco     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_b1_bco     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_bci_bco    : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_con_bco    : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_a0_s0      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_a0_s1      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_a1_s0      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_a1_s1      : VitalDelayType01 := (0.001 ns, 0.001 ns);
     tpd_a1_s2      : VitalDelayType01 := (0.001 ns, 0.001 ns); -- <--- here
      tpd_b0_s0      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_b0_s1      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_b1_s0      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_b1_s1      : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_bci_s0     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_bci_s1     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_con_s0     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tpd_con_s1     : VitalDelayType01 := (0.001 ns, 0.001 ns);
      tipd_a0        : VitalDelayType01 := (0.0 ns, 0.0 ns);
      tipd_a1        : VitalDelayType01 := (0.0 ns, 0.0 ns);
      tipd_b0        : VitalDelayType01 := (0.0 ns, 0.0 ns);
      tipd_b1        : VitalDelayType01 := (0.0 ns, 0.0 ns);
      tipd_bci       : VitalDelayType01 := (0.0 ns, 0.0 ns);
      tipd_con       : VitalDelayType01 := (0.0 ns, 0.0 ns));

   PORT(
      a0             :  IN    std_logic;
      a1             :  IN    std_logic;
      b0             :  IN    std_logic;
      b1             :  IN    std_logic;
      bci            :  IN    std_logic;
      con            :  IN    std_logic;
      bco            :  OUT   std_logic;
      s0             :  OUT   std_logic;
      s1             :  OUT   std_logic);

   ATTRIBUTE Vital_Level0 OF fadsu2 : ENTITY IS TRUE;

END fadsu2;

любые предложения?


person Sadik    schedule 22.08.2013    source источник
comment
Похоже, в вашем порту нет s2. Из стандарта IEEE Std 1076.4-1995 4.3.2.1.3.1 Задержка распространения Универсальная временная характеристика, начинающаяся с префикса tpd, представляет собой универсальную временную аннотацию, представляющую задержку распространения, связанную с заданным трактом задержки ввода-вывода. Ваши общие объявления и объявления порта не совпадают. Прокомментируйте это и посмотрите, что сломается.   -  person    schedule 22.08.2013


Ответы (1)


У меня случайно оказалась копия этого источника. Закомментируйте оскорбительную строку, в которой упоминается tpd_a1_s2, и она будет скомпилирована.

Без модификации:

david_koontz@Macbook: ghdl -a fadsu2.vhdl  
fadsu2.vhdl:23:7:warning: 's2' is not a port name (in VITAL generic name)

Комментирование оскорбительного общего:

david_koontz@Macbook: ghdl -a fadsu2.vhdl  
david_koontz@Macbook:

И анализирует. (Я извлек пару сущности и архитектуры для fadsu2 из orca.vhd)

Проблема в том, что у вас есть значение tpd (задержка распространения по времени), указанное между входом a1 и выходом s2 (tpd_a1_s2), где выходной порт s2 не существует.

person Community    schedule 22.08.2013