各位大侠,大家好,最近调试ALTERA的DDR2,我直接用IPCORE生成的IPcore,只添加了一个复位模块,下载到电路板上,发现local_init_done 一直为低电平,不知什么原因,我在xilinx上面做过没有什么问题,为什么altera上面有问题呢?
我用的是CYCLONE IV E系列的芯片,quartus用的是 10.1版本的,大家有谁用过DDR2吗?求指点一下,不胜感激!
不是在NIOS平台上做的额,是直接实例化的DDR2的IPCORE。
顶层代码如下:
module FPGA (
input clk ,
//**** ddr2
output local_init_done ,
output o_buzzer ,
output phy_clk ,
output mem_odt ,
output mem_cs_n ,
output mem_cke ,
output [12:0] mem_addr ,
output [1:0] mem_ba ,
output mem_ras_n ,
output mem_cas_n ,
output mem_we_n ,
output [1:0] mem_dm ,
inout mem_clk ,
inout mem_clk_n ,
inout [15:0] mem_dq ,
inout [1:0] mem_dqs
);
wire reset_n ;
wire reset_n2 ;
wire reset_n3 ;
assign o_buzzer = local_init_done ;
reset_all reset_all_inst (
.clk (clk ) ,
.reset_n (reset_n ) ,
.reset_n2 (reset_n2 ) ,
.reset_n3 (reset_n3 )
);
xxx_example_top nnd_example_top_inst (
//**** 输入时钟复位信号
.global_reset_n (reset_n2 ),//全局复位
.clock_source (clk ),//输入PLL时钟
//**** 初始化完成信号
.local_init_done (local_init_done ),//初始化完毕信号
//**** 外部接口
.mem_odt (mem_odt ),
.mem_cs_n (mem_cs_n ),
.mem_cke (mem_cke ),
.mem_addr (mem_addr ),
.mem_ba (mem_ba ),
.mem_ras_n (mem_ras_n ),
.mem_cas_n (mem_cas_n ),
.mem_we_n (mem_we_n ),
.mem_dm (mem_dm ),
.mem_clk (mem_clk ),
.mem_clk_n (mem_clk_n ),
.mem_dq (mem_dq ),
.mem_dqs (mem_dqs )
);
endmodule
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2.怀疑硬件上复位条件是不一样的,一个是高电平复位,另一个是低电平复位,然后导致altera板上的程序一直在复位。
一周热门 更多>