如何摆脱关于LVDS补充引脚的钳工警告?

时间:2012-05-27 19:36:29

标签: verilog intel-fpga

我有一个时钟输入到扇出缓冲器,它将LVDS输入驱动到PLL输入的下边缘。有两个引脚 - AJ19(高电平有效)和互补AK19引脚(低电平有效)。我只对AJ19感兴趣,所以我的顶级模块看起来像这样:

module top(clk, ...);
...
endmodule

以下是clk

的引脚分配
set_instance_assignment -name IO_STANDARD LVDS -to clk
set_location_assignment PIN_AJ19 -to clk
set_location_assignment PIN_AK19 -to "clk(n)"

到目前为止一切都那么好,但是钳工正在产生一个非常恼人的警告,让我发疯:

Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details
Warning (176674): Following 1 pins are differential I/O pins but do not have their complement pins. Hence, the Fitter automatically created the complement pins.
    Warning (176118): Pin "clk" is a differential I/O pin but does not have its complement pin. Hence, fitter automatically created the complement pin "clk(n)"

Altera的知识库建议将时钟实际定义为一对(即input wire [1:0] clk)以删除警告。这没有多大帮助,因为那时你得到另一个警告,说输入引脚不会驱动任何逻辑。

我尝试使用// altera message_off 176118禁用此警告。这会导致错误,因为“176118”不是有效的消息ID。

有关如何解决此问题的任何建议?

2 个答案:

答案 0 :(得分:2)

要摆脱这种情况,你需要创建两个信号,然后将它们带入LVDS缓冲器组件(我不记得Altera将这个组件称为我的头顶),其输出将驱动一个“正常”的内部信号,您可以根据需要使用它。

答案 1 :(得分:2)

有关原始详细信息和模板,请参见Altera“使用低级基元设计用户指南” http://www.altera.co.uk/literature/ug/ug_low_level.pdf

包装顶级块的示例:

module top_wrap (
    ...
    input wire refclk,  input wire refclk_n,
  );

    // differential input buffers
  wire int_refclk;
  ALT_INBUF_DIFF inbuf_refclk (
    .i (refclk),
    .ibar (refclk_n),
    .o(int_refclk),
  );

  top wrapped (
      .refclk( int_refclk),
      ...
  )
endmodule