实例介绍
基于Xilinx FPGA的DDR3控制器读写程序,此程序已经用于实际的项目中,读写控制很稳定。上传的是一个实际的DDR3工程,开发环境为Vivado 2017.4
【实例截图】
【核心代码】
DDR_ctrl
└── DDR_ctrl
└── project_1
├── project_1.cache
│ ├── ip
│ │ └── 2017.4
│ │ ├── 5bc081bc6e4900f7
│ │ │ ├── 5bc081bc6e4900f7.xci
│ │ │ └── dbg_hub_CV.dcp
│ │ ├── 6c7a431b889965ad
│ │ │ ├── 6c7a431b889965ad.xci
│ │ │ └── u_ila_0_CV.dcp
│ │ ├── 8530466f3faacb1c
│ │ │ ├── 8530466f3faacb1c.xci
│ │ │ ├── clk_wiz_0.dcp
│ │ │ ├── clk_wiz_0_sim_netlist.v
│ │ │ ├── clk_wiz_0_sim_netlist.vhdl
│ │ │ ├── clk_wiz_0_stub.v
│ │ │ └── clk_wiz_0_stub.vhdl
│ │ ├── 8530466f3faacb1c.logs
│ │ │ └── runme.log
│ │ ├── 8706cdeb4165c691
│ │ │ ├── 8706cdeb4165c691.xci
│ │ │ ├── clk_wiz_0.dcp
│ │ │ ├── clk_wiz_0_sim_netlist.v
│ │ │ ├── clk_wiz_0_sim_netlist.vhdl
│ │ │ ├── clk_wiz_0_stub.v
│ │ │ └── clk_wiz_0_stub.vhdl
│ │ ├── 8706cdeb4165c691.logs
│ │ │ └── runme.log
│ │ ├── b17879824c91b8b0
│ │ │ ├── b17879824c91b8b0.xci
│ │ │ ├── mig_7series_0.dcp
│ │ │ ├── mig_7series_0_sim_netlist.v
│ │ │ ├── mig_7series_0_sim_netlist.vhdl
│ │ │ ├── mig_7series_0_stub.v
│ │ │ └── mig_7series_0_stub.vhdl
│ │ └── b17879824c91b8b0.logs
│ │ └── runme.log
│ └── wt
│ ├── gui_handlers.wdf
│ ├── java_command_handlers.wdf
│ ├── project.wpc
│ ├── synthesis_details.wdf
│ ├── synthesis.wdf
│ └── webtalk_pa.xml
├── project_1.hw
│ ├── backup
│ │ └── hw_ila_data_1.ila
│ ├── hw_1
│ │ ├── hw.xml
│ │ └── wave
│ │ └── hw_ila_data_1
│ │ ├── hw_ila_data_1.wcfg
│ │ └── hw_ila_data_1.wdb
│ └── project_1.lpr
├── project_1.ip_user_files
│ ├── ip
│ │ ├── clk_wiz_0
│ │ │ ├── clk_wiz_0_stub.v
│ │ │ ├── clk_wiz_0_stub.vhdl
│ │ │ └── clk_wiz_0.veo
│ │ └── mig_7series_0
│ │ ├── mig_7series_0_stub.v
│ │ ├── mig_7series_0_stub.vhdl
│ │ └── mig_7series_0.veo
│ ├── ipstatic
│ │ ├── mmcm_pll_drp_func_7s_mmcm.vh
│ │ ├── mmcm_pll_drp_func_7s_pll.vh
│ │ ├── mmcm_pll_drp_func_us_mmcm.vh
│ │ ├── mmcm_pll_drp_func_us_pll.vh
│ │ ├── mmcm_pll_drp_func_us_plus_mmcm.vh
│ │ └── mmcm_pll_drp_func_us_plus_pll.vh
│ ├── mem_init_files
│ │ └── mig_a.prj
│ ├── README.txt
│ └── sim_scripts
│ ├── clk_wiz_0
│ │ ├── activehdl
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── clk_wiz_0.udo
│ │ │ ├── compile.do
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ ├── simulate.do
│ │ │ └── wave.do
│ │ ├── ies
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ └── run.f
│ │ ├── modelsim
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── clk_wiz_0.udo
│ │ │ ├── compile.do
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ ├── simulate.do
│ │ │ └── wave.do
│ │ ├── questa
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── clk_wiz_0.udo
│ │ │ ├── compile.do
│ │ │ ├── elaborate.do
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ ├── simulate.do
│ │ │ └── wave.do
│ │ ├── README.txt
│ │ ├── riviera
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── clk_wiz_0.udo
│ │ │ ├── compile.do
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ ├── simulate.do
│ │ │ └── wave.do
│ │ ├── vcs
│ │ │ ├── clk_wiz_0.sh
│ │ │ ├── file_info.txt
│ │ │ ├── glbl.v
│ │ │ ├── README.txt
│ │ │ └── simulate.do
│ │ └── xsim
│ │ ├── clk_wiz_0.sh
│ │ ├── cmd.tcl
│ │ ├── elab.opt
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── README.txt
│ │ ├── vlog.prj
│ │ └── xsim.ini
│ └── mig_7series_0
│ ├── activehdl
│ │ ├── compile.do
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_7series_0.udo
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ ├── simulate.do
│ │ └── wave.do
│ ├── ies
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ └── run.f
│ ├── modelsim
│ │ ├── compile.do
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_7series_0.udo
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ ├── simulate.do
│ │ └── wave.do
│ ├── questa
│ │ ├── compile.do
│ │ ├── elaborate.do
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_7series_0.udo
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ ├── simulate.do
│ │ └── wave.do
│ ├── README.txt
│ ├── riviera
│ │ ├── compile.do
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_7series_0.udo
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ ├── simulate.do
│ │ └── wave.do
│ ├── vcs
│ │ ├── file_info.txt
│ │ ├── glbl.v
│ │ ├── mig_7series_0.sh
│ │ ├── mig_a.prj
│ │ ├── README.txt
│ │ └── simulate.do
│ └── xsim
│ ├── cmd.tcl
│ ├── elab.opt
│ ├── file_info.txt
│ ├── glbl.v
│ ├── mig_7series_0.sh
│ ├── mig_a.prj
│ ├── README.txt
│ ├── vlog.prj
│ └── xsim.ini
├── project_1.runs
│ ├── clk_wiz_0_synth_1
│ │ ├── clk_wiz_0.dcp
│ │ ├── clk_wiz_0.tcl
│ │ ├── clk_wiz_0_utilization_synth.pb
│ │ ├── clk_wiz_0_utilization_synth.rpt
│ │ ├── clk_wiz_0.vds
│ │ ├── dont_touch.xdc
│ │ ├── gen_run.xml
│ │ ├── htr.txt
│ │ ├── ISEWrap.js
│ │ ├── ISEWrap.sh
│ │ ├── project.wdf
│ │ ├── rundef.js
│ │ ├── runme.bat
│ │ ├── runme.log
│ │ ├── runme.sh
│ │ ├── vivado.jou
│ │ └── vivado.pb
│ ├── impl_1
│ │ ├── debug_nets.ltx
│ │ ├── gen_run.xml
│ │ ├── htr.txt
│ │ ├── init_design.pb
│ │ ├── ISEWrap.js
│ │ ├── ISEWrap.sh
│ │ ├── opt_design.pb
│ │ ├── place_design.pb
│ │ ├── project.wdf
│ │ ├── route_design.pb
│ │ ├── rundef.js
│ │ ├── runme.bat
│ │ ├── runme.log
│ │ ├── runme.sh
│ │ ├── top.bit
│ │ ├── top_clock_utilization_routed.rpt
│ │ ├── top_control_sets_placed.rpt
│ │ ├── top_drc_opted.pb
│ │ ├── top_drc_opted.rpt
│ │ ├── top_drc_opted.rpx
│ │ ├── top_drc_routed.pb
│ │ ├── top_drc_routed.rpt
│ │ ├── top_drc_routed.rpx
│ │ ├── top_io_placed.rpt
│ │ ├── top.ltx
│ │ ├── top_methodology_drc_routed.pb
│ │ ├── top_methodology_drc_routed.rpt
│ │ ├── top_methodology_drc_routed.rpx
│ │ ├── top_opt.dcp
│ │ ├── top_placed.dcp
│ │ ├── top_power_routed.rpt
│ │ ├── top_power_routed.rpx
│ │ ├── top_power_summary_routed.pb
│ │ ├── top_routed.dcp
│ │ ├── top_route_status.pb
│ │ ├── top_route_status.rpt
│ │ ├── top.tcl
│ │ ├── top_timing_summary_routed.rpt
│ │ ├── top_timing_summary_routed.rpx
│ │ ├── top_utilization_placed.pb
│ │ ├── top_utilization_placed.rpt
│ │ ├── top.vdi
│ │ ├── vivado.jou
│ │ ├── vivado.pb
│ │ └── write_bitstream.pb
│ ├── mig_7series_0_synth_1
│ │ ├── fsm_encoding.os
│ │ ├── gen_run.xml
│ │ ├── htr.txt
│ │ ├── ISEWrap.js
│ │ ├── ISEWrap.sh
│ │ ├── mig_7series_0.dcp
│ │ ├── mig_7series_0.tcl
│ │ ├── mig_7series_0_utilization_synth.pb
│ │ ├── mig_7series_0_utilization_synth.rpt
│ │ ├── mig_7series_0.vds
│ │ ├── project.wdf
│ │ ├── rundef.js
│ │ ├── runme.bat
│ │ ├── runme.log
│ │ ├── runme.sh
│ │ ├── vivado.jou
│ │ └── vivado.pb
│ └── synth_1
│ ├── fsm_encoding.os
│ ├── gen_run.xml
│ ├── htr.txt
│ ├── ISEWrap.js
│ ├── ISEWrap.sh
│ ├── rundef.js
│ ├── runme.bat
│ ├── runme.log
│ ├── runme.sh
│ ├── top.dcp
│ ├── top.tcl
│ ├── top_utilization_synth.pb
│ ├── top_utilization_synth.rpt
│ ├── top.vds
│ ├── vivado.jou
│ └── vivado.pb
├── project_1.srcs
│ ├── constrs_1
│ │ └── new
│ │ └── imp.xdc
│ └── sources_1
│ ├── ip
│ │ ├── clk_wiz_0
│ │ │ ├── clk_wiz_0_board.xdc
│ │ │ ├── clk_wiz_0_clk_wiz.v
│ │ │ ├── clk_wiz_0.dcp
│ │ │ ├── clk_wiz_0_ooc.xdc
│ │ │ ├── clk_wiz_0_sim_netlist.v
│ │ │ ├── clk_wiz_0_sim_netlist.vhdl
│ │ │ ├── clk_wiz_0_stub.v
│ │ │ ├── clk_wiz_0_stub.vhdl
│ │ │ ├── clk_wiz_0.v
│ │ │ ├── clk_wiz_0.veo
│ │ │ ├── clk_wiz_0.xci
│ │ │ ├── clk_wiz_0.xdc
│ │ │ ├── clk_wiz_0.xml
│ │ │ ├── doc
│ │ │ │ └── clk_wiz_v5_4_changelog.txt
│ │ │ ├── mmcm_pll_drp_func_7s_mmcm.vh
│ │ │ ├── mmcm_pll_drp_func_7s_pll.vh
│ │ │ ├── mmcm_pll_drp_func_us_mmcm.vh
│ │ │ ├── mmcm_pll_drp_func_us_pll.vh
│ │ │ ├── mmcm_pll_drp_func_us_plus_mmcm.vh
│ │ │ └── mmcm_pll_drp_func_us_plus_pll.vh
│ │ └── mig_7series_0
│ │ ├── doc
│ │ │ └── mig_7series_v4_0_changelog.txt
│ │ ├── mig_7series_0
│ │ │ ├── datasheet.txt
│ │ │ ├── docs
│ │ │ │ └── phy_only_support_readme.txt
│ │ │ ├── example_design
│ │ │ │ ├── log.txt
│ │ │ │ ├── par
│ │ │ │ │ ├── example_top.xdc
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── rtl
│ │ │ │ │ ├── example_top.v
│ │ │ │ │ └── traffic_gen
│ │ │ │ │ ├── mig_7series_v4_0_afifo.v
│ │ │ │ │ ├── mig_7series_v4_0_cmd_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_cmd_prbs_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_data_prbs_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_init_mem_pattern_ctr.v
│ │ │ │ │ ├── mig_7series_v4_0_memc_flow_vcontrol.v
│ │ │ │ │ ├── mig_7series_v4_0_memc_traffic_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_rd_data_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_read_data_path.v
│ │ │ │ │ ├── mig_7series_v4_0_read_posted_fifo.v
│ │ │ │ │ ├── mig_7series_v4_0_s7ven_data_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_tg_prbs_gen.v
│ │ │ │ │ ├── mig_7series_v4_0_tg_status.v
│ │ │ │ │ ├── mig_7series_v4_0_traffic_gen_top.v
│ │ │ │ │ ├── mig_7series_v4_0_vio_init_pattern_bram.v
│ │ │ │ │ ├── mig_7series_v4_0_wr_data_gen.v
│ │ │ │ │ └── mig_7series_v4_0_write_data_path.v
│ │ │ │ └── sim
│ │ │ │ ├── ddr3_model_parameters.vh
│ │ │ │ ├── ddr3_model.sv
│ │ │ │ ├── ies_run.sh
│ │ │ │ ├── readme.txt
│ │ │ │ ├── sim.do
│ │ │ │ ├── sim_tb_top.v
│ │ │ │ ├── vcs_run.sh
│ │ │ │ ├── wiredly.v
│ │ │ │ ├── xsim_files.prj
│ │ │ │ ├── xsim_options.tcl
│ │ │ │ └── xsim_run.bat
│ │ │ ├── mig.prj
│ │ │ └── user_design
│ │ │ ├── constraints
│ │ │ │ ├── mig_7series_0_ooc.xdc
│ │ │ │ └── mig_7series_0.xdc
│ │ │ ├── log.txt
│ │ │ └── rtl
│ │ │ ├── clocking
│ │ │ │ ├── mig_7series_v4_0_clk_ibuf.v
│ │ │ │ ├── mig_7series_v4_0_infrastructure.v
│ │ │ │ ├── mig_7series_v4_0_iodelay_ctrl.v
│ │ │ │ └── mig_7series_v4_0_tempmon.v
│ │ │ ├── controller
│ │ │ │ ├── mig_7series_v4_0_arb_mux.v
│ │ │ │ ├── mig_7series_v4_0_arb_row_col.v
│ │ │ │ ├── mig_7series_v4_0_arb_select.v
│ │ │ │ ├── mig_7series_v4_0_bank_cntrl.v
│ │ │ │ ├── mig_7series_v4_0_bank_common.v
│ │ │ │ ├── mig_7series_v4_0_bank_compare.v
│ │ │ │ ├── mig_7series_v4_0_bank_mach.v
│ │ │ │ ├── mig_7series_v4_0_bank_queue.v
│ │ │ │ ├── mig_7series_v4_0_bank_state.v
│ │ │ │ ├── mig_7series_v4_0_col_mach.v
│ │ │ │ ├── mig_7series_v4_0_mc.v
│ │ │ │ ├── mig_7series_v4_0_rank_cntrl.v
│ │ │ │ ├── mig_7series_v4_0_rank_common.v
│ │ │ │ ├── mig_7series_v4_0_rank_mach.v
│ │ │ │ └── mig_7series_v4_0_round_robin_arb.v
│ │ │ ├── ecc
│ │ │ │ ├── mig_7series_v4_0_ecc_buf.v
│ │ │ │ ├── mig_7series_v4_0_ecc_dec_fix.v
│ │ │ │ ├── mig_7series_v4_0_ecc_gen.v
│ │ │ │ ├── mig_7series_v4_0_ecc_merge_enc.v
│ │ │ │ └── mig_7series_v4_0_fi_xor.v
│ │ │ ├── ip_top
│ │ │ │ ├── mig_7series_v4_0_memc_ui_top_std.v
│ │ │ │ └── mig_7series_v4_0_mem_intfc.v
│ │ │ ├── mig_7series_0_mig_sim.v
│ │ │ ├── mig_7series_0_mig.v
│ │ │ ├── mig_7series_0.v
│ │ │ ├── phy
│ │ │ │ ├── mig_7series_v4_0_ddr_byte_group_io.v
│ │ │ │ ├── mig_7series_v4_0_ddr_byte_lane.v
│ │ │ │ ├── mig_7series_v4_0_ddr_calib_top.v
│ │ │ │ ├── mig_7series_v4_0_ddr_if_post_fifo.v
│ │ │ │ ├── mig_7series_v4_0_ddr_mc_phy.v
│ │ │ │ ├── mig_7series_v4_0_ddr_mc_phy_wrapper.v
│ │ │ │ ├── mig_7series_v4_0_ddr_of_pre_fifo.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_4lanes.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ck_addr_cmd_delay.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_dqs_found_cal_hr.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_dqs_found_cal.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_init.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_cntlr.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_data.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_edge.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_lim.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_mux.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_po_cntlr.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_ocd_samp.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_oclkdelay_cal.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_prbs_rdlvl.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_rdlvl.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_tempmon.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_top.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_wrcal.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_wrlvl_off_delay.v
│ │ │ │ ├── mig_7series_v4_0_ddr_phy_wrlvl.v
│ │ │ │ ├── mig_7series_v4_0_ddr_prbs_gen.v
│ │ │ │ ├── mig_7series_v4_0_ddr_skip_calib_tap.v
│ │ │ │ ├── mig_7series_v4_0_poc_cc.v
│ │ │ │ ├── mig_7series_v4_0_poc_edge_store.v
│ │ │ │ ├── mig_7series_v4_0_poc_meta.v
│ │ │ │ ├── mig_7series_v4_0_poc_pd.v
│ │ │ │ ├── mig_7series_v4_0_poc_tap_base.v
│ │ │ │ └── mig_7series_v4_0_poc_top.v
│ │ │ └── ui
│ │ │ ├── mig_7series_v4_0_ui_cmd.v
│ │ │ ├── mig_7series_v4_0_ui_rd_data.v
│ │ │ ├── mig_7series_v4_0_ui_top.v
│ │ │ └── mig_7series_v4_0_ui_wr_data.v
│ │ ├── mig_7series_0.dcp
│ │ ├── mig_7series_0_sim_netlist.v
│ │ ├── mig_7series_0_sim_netlist.vhdl
│ │ ├── mig_7series_0_stub.v
│ │ ├── mig_7series_0_stub.vhdl
│ │ ├── mig_7series_0.veo
│ │ ├── mig_7series_0.xci
│ │ ├── mig_7series_0_xmdf.tcl
│ │ ├── mig_7series_0.xml
│ │ ├── mig_a.prj
│ │ ├── tcl.log
│ │ ├── xil_txt.in
│ │ └── xil_txt.out
│ └── new
│ ├── ddr_ctrl.v
│ └── top.v
└── project_1.xpr
73 directories, 400 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论