FPGA技术采用VHDL或者verilog语言设计一个DDRII内存控制器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA技术采用VHDL或者verilog语言设计一个DDRII内存控制器相关的知识,希望对你有一定的参考价值。
DDRII的时序实际上并不难,但是要满足TIMING需求就是问题了。也许用VERILOG或VHDL写出来的模块最后无法驱动DDR也有可能。建议调用ALTERA的IP吧。需要的话可联系我:liuphonix@126.com 参考技术A 可以去数据库查查论文,看看这个问题的级别,难点所在,以及解决方案 参考技术B 你要是能做出来,就不是悬赏5分的事了,5万也许都不止啊。ddr2时序很难做的 参考技术C 建议下载一个IP核。可以省不少功夫。自己写出来调试起来真麻烦FPGA学习-2:开发板及Verilog介绍
我们将使用sipeed公司设计的tang permier开发板进行开发学习
这款开发板使用了国产EG4S20芯片
拥有2万多个逻辑门单元
价格仅100多,极具性价比
可以在上面跑riscv开源架构cpu核心
完全够用
IDE我们使用官方的安路TD软件
详细安装过程可去sipeed文档上查看
与开发程序类似
开发FPGA同样有编程语言
比如verilog,VHDL
这里使用verilog作为核心开发语言
如果你对C语言有一定的了解,有助于Verilog的快速上手。
下面是一个简单的计数器
module top(
input clk,
output reg[15:0] out_cnt
);
initial begin
out_cnt = 16\'b0;
end
always@(clk) begin
if (out_cnt == 16\'d250)begin
out_cnt =0;
end
else begin
out_cnt = out_cnt + 16\'b1;
end
end
endmodule
verilog语言主要以模块为单位来描述一个电路结构
描述电路的方式有行为级描述,数据流描述,结构化描述
越往后难度越高,更接近于原始电路设计,但逻辑控制越简单
verilog将复杂的电路功能抽象为一个个模块(module)
通过组合个各个模块来完成不同的电路
并且verilog采用自顶向下的方式进行程序设计
一步步完成各个模块再进行组合即完成一个基本的FPGA项目
以上是关于FPGA技术采用VHDL或者verilog语言设计一个DDRII内存控制器的主要内容,如果未能解决你的问题,请参考以下文章
Xilinx Zynq Z-7020这款FPGA是完全使用C语言开发的吗
[从零开始学习FPGA编程-9]:快速入门篇 - 操作步骤2 - 硬件电路图形化描述与文本硬件描述语言Verilog HDL与VHDL语言以及比较