2017-10-15 410 views
0
parameter tDDKHMH = (tDQBit < 580) ? 150 : (tDQBit < 688) ? 150 : (tDQBit < 791) ? 245; 

`ifdef USE_EXACT_VALUES 
    parameter tCISKEW = (tDQBit < 580) ? 93 : (tDQBit < 688) ? 112 : (tDQBit < 791) ? 125; 
    parameter tDDKHAS = (tDQBit < 580) ? 410 : (tDQBit < 688) ? 495 : (tDQBit < 791) ? 606 ; 

參數tDDKXDEYE =(tDQBit < 580)? 350:(tDQBit < 688)? 400:(tDQBit < 791)? 500;

錯誤,附近的語法錯誤(;)。 錯誤,附近的語法錯誤(;)。 錯誤,附近的語法錯誤(;)。 錯誤,附近的語法錯誤(;)。Verilog語法錯誤 - 參數

+2

缺少tDQBit大於等於790的最終else表達式。 –

回答

0

有三點,這裏要注意:

  1. 請確保tDQBit是一個常數。參數值不能爲 動態計算,即tDQBit不能是信號/線/寄存器。

  2. 條件表達式必須包含true和false兩部分。代碼中的最後一個 條件表達式沒有虛假部分。 (tDQBit < 791)? 500;這是不正確的。

  3. 請儘可能使用括號以避免混淆。

我假定(tDQBit < 791)的假部分爲600。因此,它可以被寫入在這種方式:

參數tDDKXDEYE =(tDQBit < 580)? 350:((tDQBit < 688)→400:((tDQBit < 791)→500:600));