FlashNuk 发表于 2011-6-11 09:46:10

在使用FPGA时,有没有可能不使用NIOSII的情况下,直接用上外扩的大容量RAM?

在使用FPGA时,有没有可能不使用NIOSII的情况下,直接用上外扩的大容量RAM?

not_at_all 发表于 2011-6-11 10:54:23

能装10升水的杯子可以放1升水吗?

FlashNuk 发表于 2011-6-11 11:10:33

我的意思是类似于用QuartusII中的一些宏单元,归根到底还是采用的是FPGA内部的RAM来实现的,但是由于我设计的算法需要的RAM单元很大,FPGA本身的RAM单元不够,所以编译宏单元是报错。所以想着是否在不使用NIOSII的情况下,直接外扩RAM,使之相当于FPGA内部的RAM,使我的宏单元能够编译通过。

并不是楼上理解的那种在FPGA内部增加一个读写RAM的单元模块,这种操作,当然是没有问题的。

not_at_all 发表于 2011-6-11 15:34:07

你既然强调“在不使用NIOSII的情况下”,与用不用“NIOSII”有什么关系?

这个只与使用资源的多少有关,你这样说很容易造成误解!

你的意思是让QuartusII把外部ram识别成FPGA内部等效的RAM吧!
既然你要扩展ram,为什么非要让软件识别为FPGA内部等效的RAM呢?即使你欺骗了软件综合成功,你用的了吗?
你打算怎样处理“多出来的”ram?怎样驱动它?

首先FPGA内部的RAM和外部ram的结构还是有区别的,虽然功能一样,但是具体操作方式不同,而且需要外部接口。
而且不同RAM的参数不同,要用的话还得自己根据ram的参数配置

cwfboy 发表于 2011-6-11 17:15:01

FPGA是FPGA 外部RAM是外部RAM,沟通要驱动的 LZ

mcupro 发表于 2011-6-12 00:34:50

回复【2楼】FlashNuk
我的意思是类似于用quartusii中的一些宏单元,归根到底还是采用的是fpga内部的ram来实现的,但是由于我设计的算法需要的ram单元很大,fpga本身的ram单元不够,所以编译宏单元是报错。所以想着是否在不使用niosii的情况下,直接外扩ram,使之相当于fpga内部的ram,使我的宏单元能够编译通过。
并不是楼上理解的那种在fpga内部增加一个读写ram的单元模块,这种操作,当然是没有问题的。
-----------------------------------------------------------------------

实际你要做的工作解决内部RAM不足,要解决这个问题需要再上升一下高度,就是从另外一个概念上的等效去考虑,这种等效抽象了外部RAM和FPGA内部RAM的差别,都认为是一样的。实际有点虚拟存储的味道了。

arokh 发表于 2011-6-15 22:34:54

当然可以,SDRAM、DDR2、SRAM在没有软核CPU的情况下都能用。最不济的情况调用SOPC里面的DRAM控制器,自己写一个逻辑作为master连接到AVALON总线就可以访问这些RAM。SRAM的逻辑最简单甚至控制器都不需要

FlashNuk 发表于 2011-6-17 09:48:35

感谢8楼兄弟的回答。

kofkyok 发表于 2011-6-17 10:28:27

。。。。我来做8楼吧,首先楼上说得都很好

不知搂主要实现的算法对速度要求是否非常高,外扩高速RAM都不能满足缓冲要求吗?
让FPGA综合器把外部RAM当作内部RAM这个说法,好象还没见过哦。。

求9楼兄弟的回答

caizijian 发表于 2011-6-18 12:55:53

SDRAM肯定不能像片上RAM那样子来用,因为速度上不去

片上RAM可以双端口100M

但SDRAM不能同时读写

我来当9楼吧

我们可以弄一个折中

写一点SDRAM驱动的逻辑

在SDRAM两端加上读写缓冲(FIFO或RAM)缓冲中可以存入要写的数据和地址

当读写缓冲器不空的时候,SDRAM的内部逻辑就把数据写入SDRAM或从SDRAM相应的地址读出来

但是就不能同时100M读写了

最多50M同时读写,或者80M写20M读

而且读写之间还得有延迟


感谢10楼兄弟的回答
页: [1]
查看完整版本: 在使用FPGA时,有没有可能不使用NIOSII的情况下,直接用上外扩的大容量RAM?