关于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 信号方向相反。

 

猜你喜欢

转载自www.cnblogs.com/chensimin1990/p/9316326.html