Verilog语法错误 - 参数

时间:2017-10-15 11:10:03

标签: verilog fpga

  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&lt; 580)? 350:(tDQBit&lt; 688)? 400:(tDQBit&lt; 791)? 500;

错误,(;)附近的语法错误。 错误,(;)附近的语法错误。 错误,(;)附近的语法错误。 错误,(;)附近的语法错误。

1 个答案:

答案 0 :(得分:0)

这里有三点需要注意:

  1. 请确保tDQBit是常量。参数的值不能 动态评估,即tDQBit不能是信号/有线/寄存器。

  2. 条件表达式必须同时具有true和false部分。最后 代码中的条件表达式没有错误的部分。 (tDQBit&lt; 791)? 500;这是不对的。

  3. 请尽可能使用括号以避免混淆。

  4. 我假设(tDQBit <791)的错误部分是600.因此它可以用这种方式写成:

    参数tDDKXDEYE =(tDQBit&lt; 580)? 350:((tDQBit&lt; 688)?400:((tDQBit&lt; 791)?500:600));