永发信息网

如何在Altera的FPGA上使用DDR2存储器

答案:1  悬赏:50  手机版
解决时间 2021-02-21 23:36
如何在Altera的FPGA上使用DDR2存储器
最佳答案
近日,尝试着在Altera的FPGA上使用DDR2存储器。先是在互联网上down几个例子,无奈这些例子均是基于sopcbuilder的,存储器直接挂在nios cpu下,读写细节均不需要我们手动干预,若仅仅是简单的用来跑跑代码、存放临时数据等,体现不了DDR的优势。如果用户逻辑部分(相当于主设备)要以高带宽的占用和nios cpu共享的DDR,那么需要使用Avalon主动传输或者流模式。由于对这两种模式了解不多,因此先准备在Quartus下使用纯逻辑的方式操作DDR。

在Quartus下使用向导生成IP后(HPC II或者是Uniphy核),以Uniphy为例,在10.0sp1版本下,使用half模式,Avalon最大突发长度设为64。根据IP的datasheet上面的时序图,写了一段控制代码,反复几次后,代码能够正常跑起来,读写数据也是正确的。但有一些疑问:

1.一次突发读/写过程中,不能连续操作,也就是不能一个时钟出/写一个数据。突发过程中,控制器的反馈信号local_ready偶尔会在我们的突发过程中被置低,这样我们只能保持地址,进行等待。控制器在我们启动突发后,间隔一定的时间,会输出数据,这个时间是不定的。但是,一旦其开始输出数据,它不像其他的DDR控制核那样,可以连续出数,而是会被随机打断。这种不确定性,导致我们使用的时候有诸多的不便。既然不能连续出数,还能称作突发吗?突发的真正含义是什么?

2.bank地址固定,一次突发过程中,读能够连续出64次数据,写不能。

3.根据其手册,在突发读过程中,此时只要local_ready信号有效,即使突发的数据还未到达,这个时候也可以直接就行突发写操作。这么繁琐的控制过程,在真正的产品中有用到吗?

由于没有接触过那些真正使用DDR做大量数据传输的例子,对DDR的使用也是闭门造车,走的可能是歪路子,希望大家指正。不知道大家在FPGA中,是如何高效使用DDR存储器的?希望有这方面经验的网友给一些建议。

另外,查询了Avalon总线的技术文档,资料的结论是,Avalon总线在主动传输时,确实是不能保证一个时钟出一次数据,仅能保证在一次突发开始后不被其他的主设备中断。假设一个从设备,比喻DDR,它仅支持突发传输,当它挂在总线上时,其它主设备只能以突发模式访问吗?或者是,以突发模式访问得到的访问带宽将会最大化?假如从设备仅原生支持16个突发长度,而主设备想一次突发24个长度,那么Avalon交换结构会不会自动转换,对从设备发起两次传输?对Avalon结构的一些仲裁细节,不甚理解,自定义主设备无法提高其性能。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
动火含氧量不能超过()%。
外环东路这个地址在什么地方,我要处理点事
快手怎么保存别人的作品呢
请问从曹家堡机场到城中区的南川西路,坐机场
意大利费列罗巧克力25棵装多少钱
什么情况需要在职证明
旺苍化工有限公司在什么地方啊,我要过去处理
个人申请的微信公众号,能开通打赏功能吗?求
采用格式条款订立合同时,对格式条款有两种以
味寻校园是什么?
请问:在ps中比如:一张水的图片,和一张拉罐
来哥鞋店我想知道这个在什么地方
女人有外遇坚决离开爱他的丈夫和女儿,会后悔
苹果手机充电老是一会多一会少怎么回事?
铝密度是多少
推荐资讯
太平洋保险花样年华都保哪些病
冬天,向手上“哈气”手会变热,这是通过____
怎样快速删除电脑上的大文件
国韵茗茶地址有知道的么?有点事想过去
用51单片机可以控制三菱的伺服电机么
国家规定露台高度是多少?最低多少?最高多少
为什么45度的角减30的角等于10度的角
喜欢古筝和京剧的男人是什么性格
羊字加个患念啥
羽泉,水木年华的励志歌曲。
左胸疼挂什么科
TPU车身贴有什么用?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?