Altera DDR2 IP核学习总结3-----------DDR2 IP核的使用

根据上一篇生成的IP核,例化之后如上图,Local开头的数据是用户侧数据,其他数据暂时不用纠结,不用管。

这些是需要关注的信号,但是初学阶段很难对这些信号形成具体的概念,这里参考明德扬的代码进行二次封装。

  1. module ddr2_intf(  
  2.     clk_in           ,  
  3.     clk_out          ,  
  4.     rst_n            ,  
  5.     local_address    ,  
  6.     local_write_req  ,  
  7.     local_read_req   ,  
  8.     local_wdata      ,  
  9.     local_ready      ,  
  10.     local_rdata      ,  
  11.     local_rdata_valid,  
  12.     local_init_done  ,  
  13.     local_burstbegin ,  
  14.     user_wdata       ,  
  15.     user_wdata_en    ,  
  16.     user_waddr       ,  
  17.     user_raddr       ,  
  18.     user_rdata_en    ,  
  19.     user_rdata       ,  
  20.     user_rdata_vld   ,  
  21.     user_wdata_rdy   ,  
  22.     user_rdata_rdy     
  23. );  
  24.   
  25. parameter           ADDR_W     = 23       ;  
  26. parameter           DDR_DATA_W = 32       ;  
  27. parameter           BURST      = 2        ;  
  28. parameter           USE_DATA_W = DDR_DATA_W * BURST;  
  29. parameter           FIFO_W     = USE_DATA_W + ADDR_W;  
  30.   
  31. input                   clk_in           ;  
  32. input                   rst_n            ;  
  33. input                   clk_out          ;          
  34. input                   local_ready      ;    
  35. input  [DDR_DATA_W-1:0] local_rdata      ;    
  36. input                   local_rdata_valid;  
  37. input                   local_init_done  ;   
  38. input  [USE_DATA_W-1:0] user_wdata       ;  
  39. input                   user_wdata_en    ;  
  40. input  [ADDR_W-1:0]     user_waddr       ;         
  41. input  [ADDR_W-1:0]     user_raddr       ;  
  42. input                   user_rdata_en    ;  
  43. output [ADDR_W-1:0]     local_address    ;    
  44. output                  local_write_req  ;    
  45. output                  local_read_req   ;    
  46. output [DDR_DATA_W-1:0] local_wdata      ;  
  47. output                  local_burstbegin ;  
  48. output [USE_DATA_W-1:0] user_rdata       ;  
  49. output                  user_rdata_vld   ;  
  50. output                  user_wdata_rdy   ;  
  51. output                  user_rdata_rdy   ;  
  52. reg    [USE_DATA_W-1:0] user_rdata       ;  
  53. reg                     user_rdata_vld   ;  
  54. reg                     user_wdata_rdy   ;  
  55. reg                     user_rdata_rdy   ;  
  56.   
  57. wire   [ADDR_W-1:0]     local_address    ;    
  58. wire                    local_write_req  ;    
  59. wire                    local_read_req   ;    
  60. wire   [DDR_DATA_W-1:0] local_wdata      ;  
  61. wire                    local_burstbegin ;  
  62.   
  63. wire   [FIFO_W-1:0]     wfifo_wdata      ;  
  64. wire                    wfifo_wrreq      ;  
  65. wire                    wfifo_empty      ;  
  66. wire                    wfifo_rdreq      ;  
  67. wire   [FIFO_W-1:0]     wfifo_q          ;  
  68. wire   [       5:0]     wfifo_usedw      ;  
  69.   
  70.   
  71. wire   [ADDR_W-1:0]     rfifo_wdata      ;  
  72. wire                    rfifo_wrreq      ;  
  73. wire                    rfifo_empty      ;  
  74. wire                    rfifo_rdreq      ;  
  75. wire   [ADDR_W-1:0]     rfifo_q          ;  
  76. wire   [       5:0]     rfifo_usedw      ;  
  77.   
  78.   
  79. re
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值