完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
DDR3的IP核配置完毕后,产生了好多文件,请问如何调用这些文件实现DDR3的读写呢?看了一些文章,说是要等到local_init_done为高电平后,才能进行读写操作。请问DDR3的控制命令如RASn,CASn等,是IP核自动产生的么?要如何配置条件,给DDR3写入数据并读取DDR3的数据,谢谢,现在头绪不清,第一次做,拜托各位解惑了
|
|
相关推荐
7个回答
|
|
本帖最后由 twz 于 2016-1-14 20:48 编辑
没有用过Altera的芯片,只用过Xilinx的。但是原理应该差不多。所谓DDR3 IP核,实际上是DDR3控制器。这个控制器的接口有两类,一类面向用户,另一类直接连到DDR3芯片。它起什么作用呢?实际上就是简化DDR3的读写时序(因为直接实现DDR3读写时序太复杂了)。用户只要通过操作控制器的用户接口,就可以实现DDR3的读写操作了。控制器可以自动完成DDR3的初始化,并根据用户接口产生DDR3的读写时序,自动产生楼主说的RASn,CASn,WE, DQ这些信号,从而实现DDR3的读写。一般配置完IP后,在该IP目录下会生成仿真文件,可以通过运行这个现成的仿真文件来熟悉DDR3 IP的使用。另外要有看user_guide的习惯,user_guide里会介绍IP的使用方法。 |
|
|
|
楼上的写得很好!让我明白了IP的作用!向你学习!还有什么相关资料吗
|
|
|
|
twz 发表于 2016-1-14 20:46 谢谢您的回答。您说的IP控制器产生的两类接口,altera的DDR3 ip产生的文件中生成的接口如下: module ddr3ip ( input wire pll_ref_clk, // pll_ref_clk.clk input wire global_reset_n, // global_reset.reset_n input wire soft_reset_n, // soft_reset.reset_n output wire afi_clk, // afi_clk.clk output wire afi_half_clk, // afi_half_clk.clk output wire afi_reset_n, // afi_reset.reset_n output wire afi_reset_export_n, // afi_reset_export.reset_n output wire [14:0] mem_a, // memory.mem_a output wire [2:0] mem_ba, // .mem_ba output wire [0:0] mem_ck, // .mem_ck output wire [0:0] mem_ck_n, // .mem_ck_n output wire [0:0] mem_cke, // .mem_cke output wire [0:0] mem_cs_n, // .mem_cs_n output wire [1:0] mem_dm, // .mem_dm output wire [0:0] mem_ras_n, // .mem_ras_n output wire [0:0] mem_cas_n, // .mem_cas_n output wire [0:0] mem_we_n, // .mem_we_n output wire mem_reset_n, // .mem_reset_n inout wire [15:0] mem_dq, // .mem_dq inout wire [1:0] mem_dqs, // .mem_dqs inout wire [1:0] mem_dqs_n, // .mem_dqs_n output wire [0:0] mem_odt, // .mem_odt output wire avl_ready, // avl.waitrequest_n input wire avl_burstbegin, // .beginbursttransfer input wire [25:0] avl_addr, // .address output wire avl_rdata_valid, // .readdatavalid output wire [63:0] avl_rdata, // .readdata input wire [63:0] avl_wdata, // .writedata input wire [7:0] avl_be, // .byteenable input wire avl_read_req, // .read input wire avl_write_req, // .write input wire [2:0] avl_size, // .burstcount output wire local_init_done, // status.local_init_done output wire local_cal_success, // .local_cal_success output wire local_cal_fail, // .local_cal_fail input wire oct_rzqin, // oct.rzqin output wire pll_mem_clk, // pll_sharing.pll_mem_clk output wire pll_write_clk, // .pll_write_clk output wire pll_locked, // .pll_locked output wire pll_write_clk_pre_phy_clk, // .pll_write_clk_pre_phy_clk output wire pll_addr_cmd_clk, // .pll_addr_cmd_clk output wire pll_avl_clk, // .pll_avl_clk output wire pll_config_clk, // .pll_config_clk output wire pll_mem_phy_clk, // .pll_mem_phy_clk output wire afi_phy_clk, // .afi_phy_clk output wire pll_avl_phy_clk // .pll_avl_phy_clk ); 其中的output wire [14:0] mem_a, // memory.mem_a output wire [2:0] mem_ba, // .mem_ba output wire [0:0] mem_ck, // .mem_ck output wire [0:0] mem_ck_n, // .mem_ck_n output wire [0:0] mem_cke, // .mem_cke output wire [0:0] mem_cs_n, // .mem_cs_n output wire [1:0] mem_dm, // .mem_dm output wire [0:0] mem_ras_n, // .mem_ras_n output wire [0:0] mem_cas_n, // .mem_cas_n output wire [0:0] mem_we_n, // .mem_we_n output wire mem_reset_n, // .mem_reset_n inout wire [15:0] mem_dq, // .mem_dq inout wire [1:0] mem_dqs, // .mem_dqs inout wire [1:0] mem_dqs_n, // .mem_dqs_n output wire [0:0] mem_odt, // .mem_odt 是DDR3的接口,请问您说的面向用户的接口产生读写时序,如实现向DDR3写数据操作,是我直接给DDR3的DQ赋给数据就可以么?哪些信号是用户接口用于实现写操作呢? 谢谢您啦,对DDR3这块儿真的是不太明白 |
|
|
|
你好,你的DDR3调试的怎么样了?最近我也在调,想咨询你几个问题
|
|
|
|
兰儿 发表于 2016-1-15 12:26 当然不能直接写,直接写还要MIG干啥,附图是你要配置的时序,MIG通过FIFO将用户数据和DDR相连,写数据时先将数据通过写入口或者双向口写入写FIFO,然后给写请求命令,MIG就会产生相应的时序将数据写入DDR,读的时候先给读请求命令,MIG会将数据读回来放在读FIFO里,然后再通过读出口读取数据 |
|
|
|
twz 发表于 2016-1-14 20:46 你好大神,最近在调试xilinx的ddr3,由于开发板的问题,我必须把生成的ddr差分时钟改为单端时钟然后在自己添加个pll的ip接到ddr上,我想知道怎么把ddr的差分时钟改为单端时钟,然后怎么和pll相连,敬请大神指点迷经。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1413 浏览 1 评论
1208 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1419 浏览 0 评论
913 浏览 0 评论
2223 浏览 0 评论
1424 浏览 34 评论
5610 浏览 113 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:55 , Processed in 0.667689 second(s), Total 86, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号