问题的核心在赛灵思发电机(先进先出)

S

syedahmar

Guest
大家好!
我目前正在实施一个项目
, 我所面临的一个问题
, 我希望有人会在这里解决。
在我的项目有4个32位,1024深度的FIFO。现在的问题是使它在单个器件中来。当我产生这个由核心发电机先进先出
, 然后经过合成,有时sysnthesise四个输入投寄挂号的RAM块
, 有时甚至16个输入RAM块。我不更改任何设置。没有任何方面的问题
, 如果使用16投寄挂号
, 但有4块,它cannot工作。我想知道,有什么办法可以使赛灵思ISE使用16个输入投寄挂号单位。
帮助plzzzzzz ....<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="悲哀的" border="0" />
 
根据不同的设备,投寄挂号要么4K的或16K(加上一些校验位)。

所以,如果你有一个装置
, 只有4K的投寄挂号(斯巴达- 2的Virtex和更低),如果你定义FIFO深度为1024,这个只保留4位的道路范围内的数据。

斯巴达三,的Virtex - II,并有16K的高与校验位(18K金)投寄挂号。尽管如此,这给了16x1024位RAM最大。

若要32x1024布拉姆你将不得不使用多个并联投寄挂号。我不知道如果核心发生器可以通过预设也是如此。

还记得BRAM资源是有限的。在4K的投寄挂号设备,4 32x1024 FIFO将消耗32投寄挂号。在16K的(18K金)投寄挂号设备,它会消耗8投寄挂号。

 
Coregen将自动使用多种投寄挂号实现自己的FIFO的大小。
例如:投寄挂号大小是4K在Spartan - II器件。
如果您定义的32位宽度,深度的FIFO 1024。
Coregen将利用8投寄挂号实现自己的先进先出如果你的设备有足够的投寄挂号。

 
但我的问题是
, 核心生成器使用16投寄挂号细胞..但不是所有的时间....有时候
, 我产生,它使用4位投寄挂号
, 有时甚至16位....我不更改任何设置。 .....怎么办??

 
以及ü可以尝试的约束编辑成手册
, 看看它是如何做。

纽约的原因时
, 我们arent与设备配置comfirtable被血栓通(Xilinx的合成器做附注:如果u dont知道什么是一种约束编辑器,在次),我们定义的限制
, 限制了许多可能实现它以一个特定的配置这种逻辑。4分钟后添加:u能看到约束编辑指南:

http://www.xilinx.com/support/sw_manuals/xilinx7/download/为的ISE 7

http://www.xilinx.com/support/sw_manuals/xilinx6/为的ISE 6

 
什么版本ISE和Coregen您使用?也许有一个bug。我已经看到了Coregen忘记一个或两个图形界面的设置与运行,有时一个复选框不坚持正确。当我想改变我的生成核心的东西,我通常会删除旧的核心文件
, 然后重新生成从头开始的核心。

 
谢谢!!
i deletd我的旧的核心和再生一个新的
, 问题已经解决<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="非常高兴" border="0" />

...
非常感谢你们大家....

 
你可以使用dualport RAM和添加一些逻辑来生成自己的FIFO,

这canbe安全使用赛灵思的FIFO直接。
syedahmar说:

大家好!

我目前正在实施一个项目,我所面临的一个问题,我希望有人会在这里解决。

在我的项目有4个32位,1024深度的FIFO。
现在的问题是使它在单个器件中来。
当我产生这个由核心发电机先进先出,然后经过合成,有时sysnthesise四个输入投寄挂号的RAM块,有时甚至16个输入RAM块。
我不更改任何设置。
没有任何方面的问题,如果使用16投寄挂号,但有4块,它cannot工作。
我想知道,有什么办法可以使赛灵思ISE使用16个输入投寄挂号单位。

帮助plzzzzzz ....

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="悲哀的" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top