关于DDR3控制器的使用
关于DDR3控制器的使用
- mig_7series_0 u_mig_7series_0 (
- // Memory interface ports
- .ddr3_addr (ddr3_addr), // output [13:0] ddr3_addr
- .ddr3_ba (ddr3_ba), // output [2:0] ddr3_ba
- .ddr3_cas_n (ddr3_cas_n), // output ddr3_cas_n
- .ddr3_ck_n (ddr3_ck_n), // output [0:0] ddr3_ck_n
- .ddr3_ck_p (ddr3_ck_p), // output [0:0] ddr3_ck_p
- .ddr3_cke (ddr3_cke), // output [0:0] ddr3_cke
- .ddr3_ras_n (ddr3_ras_n), // output ddr3_ras_n
- .ddr3_reset_n (ddr3_reset_n), // output ddr3_reset_n
- .ddr3_we_n (ddr3_we_n), // output ddr3_we_n
- .ddr3_dq (ddr3_dq), // inout [31:0] ddr3_dq
- .ddr3_dqs_n (ddr3_dqs_n), // inout [3:0] ddr3_dqs_n
- .ddr3_dqs_p (ddr3_dqs_p), // inout [3:0] ddr3_dqs_p
- .init_calib_complete (init_calib_complete), // output init_calib_complete
- .ddr3_cs_n (ddr3_cs_n), // output [0:0] ddr3_cs_n
- .ddr3_dm (ddr3_dm), // output [3:0] ddr3_dm
- .ddr3_odt (ddr3_odt), // output [0:0] ddr3_odt
- // Application interface ports
- .ui_clk (ui_clk), // output ui_clk
- .ui_clk_sync_rst (ui_clk_sync_rst), // output ui_clk_sync_rst
- .mmcm_locked (mmcm_locked), // output mmcm_locked
- .aresetn (aresetn), // input aresetn
- .app_sr_req (app_sr_req), // input app_sr_req
- .app_ref_req (app_ref_req), // input app_ref_req
- .app_zq_req (app_zq_req), // input app_zq_req
- .app_sr_active (app_sr_active), // output app_sr_active
- .app_ref_ack (app_ref_ack), // output app_ref_ack
- .app_zq_ack (app_zq_ack), // output app_zq_ack
- // Slave Interface Write Address Ports
- .s_axi_awid (s_axi_awid), // input [3:0] s_axi_awid
- .s_axi_awaddr (s_axi_awaddr), // input [28:0] s_axi_awaddr
- .s_axi_awlen (s_axi_awlen), // input [7:0] s_axi_awlen
- .s_axi_awsize (s_axi_awsize), // input [2:0] s_axi_awsize
- .s_axi_awburst (s_axi_awburst), // input [1:0] s_axi_awburst
- .s_axi_awlock (s_axi_awlock), // input [0:0] s_axi_awlock
- .s_axi_awcache (s_axi_awcache), // input [3:0] s_axi_awcache
- .s_axi_awprot (s_axi_awprot), // input [2:0] s_axi_awprot
- .s_axi_awqos (s_axi_awqos), // input [3:0] s_axi_awqos
- .s_axi_awvalid (s_axi_awvalid), // input s_axi_awvalid
- .s_axi_awready (s_axi_awready), // output s_axi_awready
- // Slave Interface Write Data Ports
- .s_axi_wdata (s_axi_wdata), // input [127:0] s_axi_wdata
- .s_axi_wstrb (s_axi_wstrb), // input [15:0] s_axi_wstrb
- .s_axi_wlast (s_axi_wlast), // input s_axi_wlast
- .s_axi_wvalid (s_axi_wvalid), // input s_axi_wvalid
- .s_axi_wready (s_axi_wready), // output s_axi_wready
- // Slave Interface Write Response Ports
- .s_axi_bid (s_axi_bid), // output [3:0] s_axi_bid
- .s_axi_bresp (s_axi_bresp), // output [1:0] s_axi_bresp
- .s_axi_bvalid (s_axi_bvalid), // output s_axi_bvalid
- .s_axi_bready (s_axi_bready), // input s_axi_bready
- // Slave Interface Read Address Ports
- .s_axi_arid (s_axi_arid), // input [3:0] s_axi_arid
- .s_axi_araddr (s_axi_araddr), // input [28:0] s_axi_araddr
- .s_axi_arlen (s_axi_arlen), // input [7:0] s_axi_arlen
- .s_axi_arsize (s_axi_arsize), // input [2:0] s_axi_arsize
- .s_axi_arburst (s_axi_arburst), // input [1:0] s_axi_arburst
- .s_axi_arlock (s_axi_arlock), // input [0:0] s_axi_arlock
- .s_axi_arcache (s_axi_arcache), // input [3:0] s_axi_arcache
- .s_axi_arprot (s_axi_arprot), // input [2:0] s_axi_arprot
- .s_axi_arqos (s_axi_arqos), // input [3:0] s_axi_arqos
- .s_axi_arvalid (s_axi_arvalid), // input s_axi_arvalid
- .s_axi_arready (s_axi_arready), // output s_axi_arready
- // Slave Interface Read Data Ports
- .s_axi_rid (s_axi_rid), // output [3:0] s_axi_rid
- .s_axi_rdata (s_axi_rdata), // output [127:0] s_axi_rdata
- .s_axi_rresp (s_axi_rresp), // output [1:0] s_axi_rresp
- .s_axi_rlast (s_axi_rlast), // output s_axi_rlast
- .s_axi_rvalid (s_axi_rvalid), // output s_axi_rvalid
- .s_axi_rready (s_axi_rready), // input s_axi_rready
- // System Clock Ports
- .sys_clk_i (sys_clk_i),
- .sys_rst (sys_rst) // input sys_rst
- );
本文主要关注的是DDR控制器中,AXI信号部分的逻辑控制
观察axi信号输入输出的方向,需要注意的一点是:ready 信号总是与 addr 和 data 信号方向相反。
关于DDR3控制器的使用的更多相关文章
- 基于MIG IP核的DDR3控制器(一)
最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧 ...
- 基于MIG IP核的DDR3控制器(二)
上一节中,记录到了ddr控制器的整体架构,在本节中,准备把ddr控制器的各个模块完善一下. 可以看到上一节中介绍了DDR控制器的整体架构,因为这几周事情多,又要课设什么的麻烦,今天抽点时间把这个记录完 ...
- FPGA DDR3调试
FPGA DDR3调试 Spartan6 FPGA芯片中集成了MCB硬核,它可以支持到DDR3.在Xilinx的开发工具Xilinx ISE中提供了MIG IP核,设计者可以用它来直接生成 DDR3 ...
- 【心得】Lattice后端使用经验小结(ECP5UM,DDR3,Diamond3.10,Reveal逻辑分析)
[博客导航] [导航]FPGA相关 背景 下边的内容,适合初次使用Lattice的.具备FPGA开发经验的同学. 1.初次使用,还真遇到不少的坑,Lattice的工具也有不少优缺点,通过总结,希望能缩 ...
- 基于FPGA的DDR3多端口读写存储管理系统设计
基于FPGA的DDR3多端口读写存储管理系统设计 文章出处:电子技术设计 发布时间: 2015/03/12 | 1747 次阅读 每天新产品 时刻新体验专业薄膜开关打样工厂,12小时加急出货 机载 ...
- DDR3调试总结
DDR3调试总结 本文为原创,转载请注明作者与出处 http://blog.csdn.net/hanfei_1/article/details/70546010 以前同是DDR3的无知少年,由于项目需 ...
- DDR3(5):读写仲裁
上一讲我们完成了读的控制,但是并不知道是否设计成功,必须读写结合才行.DDR3 的 app 端的命令总线是读写复用的,因此可能会存在读写冲突的时刻,为了解决此问题,必须进行分时读写,也就是我们说的仲裁 ...
- DDR3(3):写控制
调取的 DDR3 控制器给用户端预留了接口,用于实现对该 IP 核的控制,本篇介绍一下 DDR3 IP核写.在生成 DDR3 IP 核的界面中,可以找到 User Guide 手册,DDR3 的使用将 ...
- DDR3(2):初始化
调取 DDR3 IP核后,是不能直接进行读写测试的,必须先进行初始化操作,对 IP 核进行校验.本篇采用 Modelsim 软件配合 DDR3 IP核生成的仿真模型,搭建出 IP核的初始化过程. 一. ...
随机推荐
- Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;
使用TreeSet保存自定义对象时, 必须让定义对象的类实现Comparable接口,并重写compareTo()方法 否则报 实体类User:cannot be cast to java.lang. ...
- 946. Validate Stack Sequences验证栈序列
网址:https://leetcode.com/problems/validate-stack-sequences/ 参考:https://leetcode.com/problems/validate ...
- css设置点击态样式
.rightMenu:active { background-color: rgba(46, 103, 222, 0.13); }
- vmware 安装 centos7 记录笔记
1, 安装centos 7, 到阿里云镜像下载centos 7 1.虚拟机的创建: 打开安装好的VMware (如果大家安装的VMware是英文版的也没关系,对号入座即可),选择“文件--->新 ...
- session和cookie的应用场景和区别
cookie存于客户端,session存于服务器端. cookie的作用是与服务器进行交互,作为http规范的一部分存在,而web storage是为了在本地存储“数据”而生. cookie应用场景: ...
- Mac系统下安装PyCharm
首先,进入 PyCharm 的官网,https://www.jetbrains.com/pycharm/ 有macOS.Windows.Linux三个系统的自由选择,这里我们选macOS,然后down ...
- sublime3 前端个人常用插件及快捷键
首先先介绍如何启用插件安装功能: 打开Sublime 3,然后按 ctrl+` 或者在View → Show Console 在打开的窗口里黏贴这个网站上的代码(注意: Sublime 2和3所黏贴的 ...
- SQL的decode()函数
decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,.. ...
- Linux下TFTP服务的安装、配置和操作
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp ...
- IDEA的十大快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...