太多类型" IOB"当我设计一个使用fpga的cpu时发现适合这个设备

时间:2015-07-27 09:43:54

标签: vhdl fpga

我使用ISE 14.7并使用vhdl设计一个cpu。 当maping:

  

块引用   包装:2309 - 太多类型和#34; IOB"发现适合这个设备。   包装:18 - 设计对于给定的设备和包装来说太大了。请查看“设计摘要”部分,了解设计的哪个资源要求超出了设备中可用的资源。   注意:仍将生成NCD文件以允许您检查映射设计。此文件仅供评估使用,不能通过PAR成功处理。   该映射的NCD文件可用于评估设计的逻辑如何映射到FPGA逻辑资源中。它还可用于利用Xilinx静态时序分析工具(TRCE或时序分析器)分析初步的逻辑电平(布线前)时序。

这是我的杯子实体:

entity cpu is  port (
RST : in std_logic;
CLK : in std_logic;
ABUS : out std_logic_vector(15 downto 0);
DBUS : inout std_logic_vector(15 downto 0);
nMREQ : out std_logic;
nRD : out std_logic;
nWR : out std_logic;
nBHE : out std_logic;
nBLE : out std_logic;
nPRD : out std_logic;
nPWR : out std_logic;
nPERQ : out std_logic;
IOAD : out std_logic_vector(1 downto 0);
IODB : inout std_logic_vector(7 downto 0);

ir : out std_logic_vector(15 downto 0) ;

tABUS : out std_logic_vector(15 downto 0);
tDBUS : out std_logic_vector(15 downto 0);
tnMREQ : out std_logic;
tnRD : out std_logic;
tnWR : out std_logic;
tnBHE : out std_logic;
tnBLE : out std_logic);
signal tmpABUS :  std_logic_vector(15 downto 0);
signal tmpnMREQ :  std_logic;
signal tmpnRD :  std_logic;
signal tmpnWR :  std_logic;
signal tmpnBHE :  std_logic;
signal tmpnBLE :  std_logic;
signal tmpnPRD :  std_logic;
signal tmpnPWR :  std_logic;
signal tmpnPERQ :  std_logic;
end entity; -- cpu
设计摘要中的

: 我使用129个IOB,但总数是158。 我哪里错了? 谢谢。 对不起我的英语。

2 个答案:

答案 0 :(得分:2)

I am so foolish!!!

I just move the declaration of signals in uint32_t to entity.

And everything is OK, though I do not know why some IOBs errors will happens.

Thanks all.

答案 1 :(得分:0)

此错误是在执行 MAP 期间生成的。这意味着所选的 FPGA 板没有足够的 IO 缓冲区用于物理引脚。简单地说,您FPGA 板上没有足够的物理引脚。 如果设计只是一个模块,需要连接在一个Top Module下,你可以忽略这个错误,因为模块之间的数据通信不需要IO缓冲区。