关于DDR3控制器的使用

  1. mig_7series_0 u_mig_7series_0 (
  2.  
  3. // Memory interface ports
  4. .ddr3_addr (ddr3_addr), // output [13:0] ddr3_addr
  5. .ddr3_ba (ddr3_ba), // output [2:0] ddr3_ba
  6. .ddr3_cas_n (ddr3_cas_n), // output ddr3_cas_n
  7. .ddr3_ck_n (ddr3_ck_n), // output [0:0] ddr3_ck_n
  8. .ddr3_ck_p (ddr3_ck_p), // output [0:0] ddr3_ck_p
  9. .ddr3_cke (ddr3_cke), // output [0:0] ddr3_cke
  10. .ddr3_ras_n (ddr3_ras_n), // output ddr3_ras_n
  11. .ddr3_reset_n (ddr3_reset_n), // output ddr3_reset_n
  12. .ddr3_we_n (ddr3_we_n), // output ddr3_we_n
  13. .ddr3_dq (ddr3_dq), // inout [31:0] ddr3_dq
  14. .ddr3_dqs_n (ddr3_dqs_n), // inout [3:0] ddr3_dqs_n
  15. .ddr3_dqs_p (ddr3_dqs_p), // inout [3:0] ddr3_dqs_p
  16. .init_calib_complete (init_calib_complete), // output init_calib_complete
  17.  
  18. .ddr3_cs_n (ddr3_cs_n), // output [0:0] ddr3_cs_n
  19. .ddr3_dm (ddr3_dm), // output [3:0] ddr3_dm
  20. .ddr3_odt (ddr3_odt), // output [0:0] ddr3_odt
  21. // Application interface ports
  22. .ui_clk (ui_clk), // output ui_clk
  23. .ui_clk_sync_rst (ui_clk_sync_rst), // output ui_clk_sync_rst
  24. .mmcm_locked (mmcm_locked), // output mmcm_locked
  25. .aresetn (aresetn), // input aresetn
  26. .app_sr_req (app_sr_req), // input app_sr_req
  27. .app_ref_req (app_ref_req), // input app_ref_req
  28. .app_zq_req (app_zq_req), // input app_zq_req
  29. .app_sr_active (app_sr_active), // output app_sr_active
  30. .app_ref_ack (app_ref_ack), // output app_ref_ack
  31. .app_zq_ack (app_zq_ack), // output app_zq_ack
  32. // Slave Interface Write Address Ports
  33. .s_axi_awid (s_axi_awid), // input [3:0] s_axi_awid
  34. .s_axi_awaddr (s_axi_awaddr), // input [28:0] s_axi_awaddr
  35. .s_axi_awlen (s_axi_awlen), // input [7:0] s_axi_awlen
  36. .s_axi_awsize (s_axi_awsize), // input [2:0] s_axi_awsize
  37. .s_axi_awburst (s_axi_awburst), // input [1:0] s_axi_awburst
  38. .s_axi_awlock (s_axi_awlock), // input [0:0] s_axi_awlock
  39. .s_axi_awcache (s_axi_awcache), // input [3:0] s_axi_awcache
  40. .s_axi_awprot (s_axi_awprot), // input [2:0] s_axi_awprot
  41. .s_axi_awqos (s_axi_awqos), // input [3:0] s_axi_awqos
  42. .s_axi_awvalid (s_axi_awvalid), // input s_axi_awvalid
  43. .s_axi_awready (s_axi_awready), // output s_axi_awready
  44. // Slave Interface Write Data Ports
  45. .s_axi_wdata (s_axi_wdata), // input [127:0] s_axi_wdata
  46. .s_axi_wstrb (s_axi_wstrb), // input [15:0] s_axi_wstrb
  47. .s_axi_wlast (s_axi_wlast), // input s_axi_wlast
  48. .s_axi_wvalid (s_axi_wvalid), // input s_axi_wvalid
  49. .s_axi_wready (s_axi_wready), // output s_axi_wready
  50. // Slave Interface Write Response Ports
  51. .s_axi_bid (s_axi_bid), // output [3:0] s_axi_bid
  52. .s_axi_bresp (s_axi_bresp), // output [1:0] s_axi_bresp
  53. .s_axi_bvalid (s_axi_bvalid), // output s_axi_bvalid
  54. .s_axi_bready (s_axi_bready), // input s_axi_bready
  55. // Slave Interface Read Address Ports
  56. .s_axi_arid (s_axi_arid), // input [3:0] s_axi_arid
  57. .s_axi_araddr (s_axi_araddr), // input [28:0] s_axi_araddr
  58. .s_axi_arlen (s_axi_arlen), // input [7:0] s_axi_arlen
  59. .s_axi_arsize (s_axi_arsize), // input [2:0] s_axi_arsize
  60. .s_axi_arburst (s_axi_arburst), // input [1:0] s_axi_arburst
  61. .s_axi_arlock (s_axi_arlock), // input [0:0] s_axi_arlock
  62. .s_axi_arcache (s_axi_arcache), // input [3:0] s_axi_arcache
  63. .s_axi_arprot (s_axi_arprot), // input [2:0] s_axi_arprot
  64. .s_axi_arqos (s_axi_arqos), // input [3:0] s_axi_arqos
  65. .s_axi_arvalid (s_axi_arvalid), // input s_axi_arvalid
  66. .s_axi_arready (s_axi_arready), // output s_axi_arready
  67. // Slave Interface Read Data Ports
  68. .s_axi_rid (s_axi_rid), // output [3:0] s_axi_rid
  69. .s_axi_rdata (s_axi_rdata), // output [127:0] s_axi_rdata
  70. .s_axi_rresp (s_axi_rresp), // output [1:0] s_axi_rresp
  71. .s_axi_rlast (s_axi_rlast), // output s_axi_rlast
  72. .s_axi_rvalid (s_axi_rvalid), // output s_axi_rvalid
  73. .s_axi_rready (s_axi_rready), // input s_axi_rready
  74. // System Clock Ports
  75. .sys_clk_i (sys_clk_i),
  76. .sys_rst (sys_rst) // input sys_rst
  77. );

本文主要关注的是DDR控制器中,AXI信号部分的逻辑控制

观察axi信号输入输出的方向,需要注意的一点是:ready 信号总是与 addr 和 data 信号方向相反。

关于DDR3控制器的使用的更多相关文章

  1. 基于MIG IP核的DDR3控制器(一)

    最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧 ...

  2. 基于MIG IP核的DDR3控制器(二)

    上一节中,记录到了ddr控制器的整体架构,在本节中,准备把ddr控制器的各个模块完善一下. 可以看到上一节中介绍了DDR控制器的整体架构,因为这几周事情多,又要课设什么的麻烦,今天抽点时间把这个记录完 ...

  3. FPGA DDR3调试

    FPGA DDR3调试 Spartan6 FPGA芯片中集成了MCB硬核,它可以支持到DDR3.在Xilinx的开发工具Xilinx ISE中提供了MIG IP核,设计者可以用它来直接生成 DDR3 ...

  4. 【心得】Lattice后端使用经验小结(ECP5UM,DDR3,Diamond3.10,Reveal逻辑分析)

    [博客导航] [导航]FPGA相关 背景 下边的内容,适合初次使用Lattice的.具备FPGA开发经验的同学. 1.初次使用,还真遇到不少的坑,Lattice的工具也有不少优缺点,通过总结,希望能缩 ...

  5. 基于FPGA的DDR3多端口读写存储管理系统设计

    基于FPGA的DDR3多端口读写存储管理系统设计 文章出处:电子技术设计 发布时间: 2015/03/12 | 1747 次阅读 每天新产品 时刻新体验专业薄膜开关打样工厂,12小时加急出货   机载 ...

  6. DDR3调试总结

    DDR3调试总结 本文为原创,转载请注明作者与出处 http://blog.csdn.net/hanfei_1/article/details/70546010 以前同是DDR3的无知少年,由于项目需 ...

  7. DDR3(5):读写仲裁

    上一讲我们完成了读的控制,但是并不知道是否设计成功,必须读写结合才行.DDR3 的 app 端的命令总线是读写复用的,因此可能会存在读写冲突的时刻,为了解决此问题,必须进行分时读写,也就是我们说的仲裁 ...

  8. DDR3(3):写控制

    调取的 DDR3 控制器给用户端预留了接口,用于实现对该 IP 核的控制,本篇介绍一下 DDR3 IP核写.在生成 DDR3 IP 核的界面中,可以找到 User Guide 手册,DDR3 的使用将 ...

  9. DDR3(2):初始化

    调取 DDR3 IP核后,是不能直接进行读写测试的,必须先进行初始化操作,对 IP 核进行校验.本篇采用 Modelsim 软件配合 DDR3 IP核生成的仿真模型,搭建出 IP核的初始化过程. 一. ...

随机推荐

  1. Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;

    使用TreeSet保存自定义对象时, 必须让定义对象的类实现Comparable接口,并重写compareTo()方法 否则报 实体类User:cannot be cast to java.lang. ...

  2. 946. Validate Stack Sequences验证栈序列

    网址:https://leetcode.com/problems/validate-stack-sequences/ 参考:https://leetcode.com/problems/validate ...

  3. css设置点击态样式

    .rightMenu:active { background-color: rgba(46, 103, 222, 0.13); }

  4. vmware 安装 centos7 记录笔记

    1, 安装centos 7, 到阿里云镜像下载centos 7 1.虚拟机的创建: 打开安装好的VMware (如果大家安装的VMware是英文版的也没关系,对号入座即可),选择“文件--->新 ...

  5. session和cookie的应用场景和区别

    cookie存于客户端,session存于服务器端. cookie的作用是与服务器进行交互,作为http规范的一部分存在,而web storage是为了在本地存储“数据”而生. cookie应用场景: ...

  6. Mac系统下安装PyCharm

    首先,进入 PyCharm 的官网,https://www.jetbrains.com/pycharm/ 有macOS.Windows.Linux三个系统的自由选择,这里我们选macOS,然后down ...

  7. sublime3 前端个人常用插件及快捷键

    首先先介绍如何启用插件安装功能: 打开Sublime 3,然后按 ctrl+` 或者在View → Show Console 在打开的窗口里黏贴这个网站上的代码(注意: Sublime 2和3所黏贴的 ...

  8. SQL的decode()函数

    decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,.. ...

  9. Linux下TFTP服务的安装、配置和操作

      TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp ...

  10. IDEA的十大快捷键

    Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...