ISE VHDL 平行化中遇到的问题。

2019-03-25 08:33发布

做一个矩阵算法,一开始没有考虑平行化,程序可综合,仿真正确。
为了提高速度而平行化,从新划分了地址,分出了18个ram,3个一组,一共6组,运算的时候一次可以取12个数。
可是综合错误:
Portability:3 - This Xilinx application has run out of memory or has encountered a memory conflict.  Current memory usage is 2067352 kb.  You can try increasing your system's physical or virtual memory.  If you are using a Win32 system, you can increase your application memory from 2GB to 3GB using the /3G switch in your boot.ini file. For more information on this, please refer to Xilinx Answer Record #14932. For technical support on this issue, you can open a WebCase with this project attached at http://www.xilinx.com/support.
我理解是程序太大了,所以运行不了。
但我的程序很简洁,fsm 800行,处理器200行,
Ram都是标准的dual port,但占了总共的百分之90.
我试着删除用于平行化ram,直到都删了仍然通不过综合,报上面出现的错误。
有人碰到过相同的问题吗?怎么解决呀? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
deweyled
1楼-- · 2019-03-25 17:41
< / 怎么看着像是ISE嫌弃你的电脑配置低啊?
内存不够给ISE用了。跟你逻辑代码没有关系啊。
timdong
2楼-- · 2019-03-25 19:09
再说详细一点,我的算法是,
2个矩阵是输入,
3个矩阵是运算的中间过程,被反复的读取,
再4个矩阵是输出。
我之前是把以上9个矩阵写在6个RAM相同里,每个矩阵里都有相同的9个矩阵,用的6个RAM进行平行化运算。
完全没问题。

可是后来按要求9个矩阵都增大了,如果放9个在一个RAM里,就只够1个RAM了。

我现有的RAM只够把中间过程平行化,3个矩阵放在18个RAM里(3个一组,6组),同时取12个数。

可是这种方法就出错了。

memory conflict是内存冲突的意思。

我是从RAM1里取6个数从,从RAM2取6个数,运算玩写入ram3.
是不是我以上的做法引起了内存冲突呢。
有人知道吗

[ 本帖最后由 timdong 于 2013-3-15 21:39 编辑 ]
eeleader
3楼-- · 2019-03-25 19:33
超过RAM资源!
timdong
4楼-- · 2019-03-26 00:09
 精彩回答 2  元偷偷看……
eeleader
5楼-- · 2019-03-26 02:10
可能语法错误了!
eeleader
6楼-- · 2019-03-26 05:09
怎么样,问题解决否?

一周热门 更多>