10.1 / 11.x NGDBuild  – “错误:NgdBuild:770 ……”-Altera-Intel社区-FPGA CPLD-ChipDebug

10.1 / 11.x NGDBuild – “错误:NgdBuild:770 ……”

问题描述

设计中有一个黑盒子模块,配有EDIF / NGC网表。在翻译期间发出以下错误和警告:

“ERROR:NgdBuild:770 – IBUF’b_IBUF’和网络’b_IBUF’上的IBUF’b_ibuf’是串联的行数。相同方向的缓冲器不能串联。

我该如何解决这些错误?

解决/修复方法

发出这些错误是因为子模块EDIF / NGC网表包含IBUF / OBUF。 XST还将IBUF和OBUF添加到顶层,以便它们排成一行或者焊盘由非缓冲组件驱动/驱动。

当EDIF / NGC网表用作另一种设计的子模块时,必须满足以下条件:

  • 如果子模块的输入/输出端口直接连接到顶层模块端口,如下图中的port1,则IBUFs / OBUF可以放在子模块中,但必须检查XST属性“Read Cores”。然后,XST将读取项目目录中的网表或“核心搜索目录”中指定的位置,并且不会在这些顶级端口上添加额外的IBUF / OBUF。
  • 如果子模块的输入/输出端口未直接连接到顶层模块端口,如下图中的端口2,则不得将IBUF / OBUF放入子模块中。

以下是此问题的一些解决方案。

  1. 生成子模块网表时禁用IBUF / OBUF插入。将所有IBUF / OBUF添加到顶层。
    • 对于XST,请转到综合属性 – > Xilinx特定选项 – >取消选中“添加I / O缓冲区”
    • 对于Synplify Pro,请转到实施选项 – >器件选项卡 – >选中“禁用I / O插入”
  2. 有选择地禁用未直接连接到顶部模块端口的输入/输出端口上的IBUF / OBUF插入。
    • 对于XST,请使用“buffer_type”约束。请参阅XST用户指南。
    • 有关Synplify Pro的信息,请参阅(Xilinx答复4508)
  3. 如果在子模块中实例化IBUF / OBUF,则禁用IBUF / OBUF插入不会从子模块中删除缓冲区。如果是这种情况,请从子模块中删除IBUF / OBUF的即时性,并在顶级实例化它们。
请登录后发表评论

    没有回复内容