2013-08-22 70 views
0

我用modelsim模擬LEON3。在使vsim後,我得到一個用於調用modelsim的do-file。 它給了我一個警告信息,我不知道這條信息現在是否相關。其實我不知道這是什麼意思。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; 

任何建議嗎?

+1

在您的端口中似乎沒有s2。根據IEEE標準1076.4-1995 4.3.2.1.3.1傳播延遲「帶前綴tpd的定時通用開始是表示與指定的輸入到輸出延遲路徑相關的傳播延遲的反向注入定時通用」。泛型和端口聲明看起來不匹配。評論它,看看什麼時候休息。 – user1155120

回答

1

我碰巧得到了一個源代碼的副本。註釋掉提及tpd_a1_s2的違規行,它會進行編譯。

沒有修改:

[email protected]: ghdl -a fadsu2.vhdl 
fadsu2.vhdl:23:7:warning: 's2' is not a port name (in VITAL generic name) 

註釋掉違規通用:

[email protected]: ghdl -a fadsu2.vhdl 
[email protected]: 

並分析。 (I萃取從orca.vhdfadsu2實體和架構對)

問題是,你必須輸入a1和輸出s2tpd_a1_s2),其中,輸出端口s2是不存在之間指定一個TPD值(時間的傳播延遲) 。