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

Аз съм симулация на LEON3 с modelsim. След make vsim получавам do-файл, който използвам за извикване на modelsim. Дава ми предупредително съобщение и не знам дали това съобщение сега е уместно. Всъщност не знам какво означава.

# ** 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