Vivado 使用 Verilog 时出错。实施错误 - IO 放置不可行

问题描述 投票:0回答:1

实现错误 - [Place 30-58] IO 布局不可行。 您好,我一直在努力完成这项我一直在工作的作业,因为我不知道如何克服这个实施错误。 每当我认为事情会起作用时,我都会收到错误 IO 放置不可行。 s 数(100)。

我一直遵循我的项目的所有指导方针,但我对如何克服这个错误感到非常困惑。

以下是顶级模块,应该跟踪我的管道流程的第一阶段。

顶级模块 I/O -

module datapath(clk, pc, dinstOut, ewreg, em2reg, ewmem, ealuc, ealuimm, edestReg, eqa, eqb, eimm32);
input clk;
output wire [31:0] pc;
output wire [31:0] dinstOut;
output wire ewreg;
output wire em2reg;
output wire ewmem;
output wire [3:0] ealuc;
output wire ealuimm;
output wire [4:0] edestReg;
output wire [31:0] eqa;
output wire [31:0] eqb;
output wire [31:0] eimm32;

我使用的零件是XC7Z010-CLG400-1

这是我收到的错误 -

[放置30-58] IO放置不可行。未放置的 IO 端口数 (173) 大于可用站点数 (100)。 以下是具有可用引脚的银行: IO 组:1,其中:SioStd:LVCMOS18 VCCO = 1.8 终止:0 TermDir:Out RangeId:2 Drv:12 设备上只有 100 个可用站点,但需要 173 个站点。

Term: dinstOut[0]
    Term:  dinstOut[1] .....
    Term:  dinstOut[31]
    Term:  eimm32[0] .......
    Term:  eimm32[31]
    Term:  eqa[0] .......
    Term:  eqa[31]
    Term:  eqb[0]  ......
    Term:  eqb[31]
    Term:  pc[0]   .......
    Term:  pc[31]
    Term:  edestReg[0]
    Term:  edestReg[1]
    Term:  edestReg[2]
    Term:  edestReg[3]
    Term:  edestReg[4]
    Term:  ealuc[0]
    Term:  ealuc[1]
    Term:  ealuc[2]
    Term:  ealuc[3]
    Term:  ealuimm
    Term:  em2reg
    Term:  ewmem
    Term:  and ewreg

任何帮助都非常有用!拜托我很绝望

我期望一切都按照 RTL 分析显示的那样正确连接,但每次我尝试运行实现时都只会出现实现错误。我觉得无论我尝试什么都不起作用。

verilog vivado
1个回答
0
投票

该设计在物理上不适合零件。
该工具表明该器件有 100 个引脚,RTL 设计有 173 个。

我看到有两个选项可以消除此错误:

  1. 将 RTL 使用的引脚数更改为 100 或更少。
  2. 更改工具以针对具有更多 IO 的部件,例如 FFG1156 封装中的 XC7Z100 具有 250 HRR 选择 IO。

ds190-Zynq-7000-概述 表 2 和表 3 可查看每个器件/封装组合中可用的 IO 数量。

© www.soinside.com 2019 - 2024. All rights reserved.