1

我有一个时钟输入到扇出缓冲器,它将 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)"

到目前为止一切顺利,但 fitter 正在生成一个非常烦人的警告,让我发疯:

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。

关于如何解决这个问题的任何建议?

4

2 回答 2

2

参见 Altera “Designing with Low-Level Primitives User Guide”了解原始细节和模板 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
于 2012-12-04T15:22:20.013 回答
2

为了摆脱这种情况,您需要创建这两个信号,然后将它们放入一个 LVDS 缓冲器组件(我不记得 Altera 在我的脑海中将这个组件称为什么),其输出将驱动一个“正常" 内部信号,然后您可以根据需要使用该信号。

于 2012-05-28T14:19:13.950 回答