DDR SDRAM 是Double Data Rate SDRAM 的缩写,即双倍速率同步动态随机存储器。
DDR 内存是在SDRAM 内存基础上发展而来的,能够在时钟的上升沿和下降沿各传输一次数据,可以在与SDRAM 相同的总线时钟频率下达到更高的数据传输率。本设计中采用Altera 公司Cyclone 系列型号为EP1C6Q240C8 的FPGA 实现控制器,以Hynix 公司生产的型号为HY5DU121622B(L)TP 的DDR SDRAM 为存储器,完成了对数据的高速大容量存储。
DDRII的时序实际上并不难,但是要满足TIMING需求就是问题了。也许用VERILOG或VHDL写出来的模块最后无法驱动DDR也有可能。建议调用ALTERA的IP吧。需要的话可联系我:liuphonix@126.com我这里有六位的module time_display(clk_100,hour,minute,second,led_light,sm_seg)
input clk_100
input [4:0] hour
input [5:0] minute
input [5:0] second
output [5:0] led_light
output [7:0] sm_seg//假设这里用的是8段数码管
reg [5:0] led_light
reg [7:0] sm_seg
reg [3:0] led
reg [2:0] led_count
always @ (posedge clk_100)
begin
if(led_count==5)
led_count<=3'b0
else
led_count<=led_count+3'b001
case(led_count)
3'b000:
begin
led_light<=6'b00_0001
led<=second%10
end
3'b001:
begin
led_light<=6'b00_0010
led<=second/10
end
3'b010:
begin
led_light<=6'b00_0100
led<=minute%10
end
3'b011:
begin
led_light<=6'b00_1000
led<=minute/10
end
3'b100:
begin
led_light<=6'b01_0000
led<=hour%10
end
3'b101:
begin
led_light<=6'b10_0000
led<=hour/10
end
endcase
end
always @ (led_light)
begin
case(led)
4'h0:sm_seg=8'hc0//"0"
4'h1:sm_seg=8'hf9//"1"
4'h2:sm_seg=8'ha4//"2"
4'h3:sm_seg=8'hb0//"3"
4'h4:sm_seg=8'h99//"4"
4'h5:sm_seg=8'h92//"5"
4'h6:sm_seg=8'h82//"6"
4'h7:sm_seg=8'hf8//"7"
4'h8:sm_seg=8'h80//"8"
4'h9:sm_seg=8'h90//"9"
default:sm_seg=8'hc0//"0"
endcase
end
endmodule
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)