一、假设由vivado创建的DDR IP核名称为“ddr3”,则存在如下的目录结构:
├─ddr3
│ ├─docs
│ ├─example_design
│ │ ├─par
│ │ ├─rtl
│ │ │ └─traffic_gen
│ │ ├─sim
│ │ └─synth
│ └─user_design
│ ├─constraints
│ └─rtl
│ ├─clocking
│ ├─controller
│ ├─ecc
│ ├─ip_top
│ ├─phy
│ └─ui
├─doc
└─_tmp
二、仿真自己ddr代码
主要涉及如下代码:
1,自己的读写仲裁模块,
2,IP核自带的ddr3/example_design/sim/ddr3_model.sv、ddr3/example_design/sim/ddr3_model_parameters.vh、ddr3/example_design/sim/wiredly.v以及最主要的ddr3/example_design/sim/sim_tb_top.v
3,还需ddr3/user_design/rtl/ddr3_mig.v与ddr3/user_design/rtl/ddr3_mig_sim.v文件名交换,因为仿真ddr3需要配置参数
parameter SIM_BYPASS_INIT_CAL = "FAST",
parameter SIMULATION = "TRUE",
localparam TEMP_MON_EN = (SIMULATION == "TRUE") ? "ON" : "OFF";
4,将sim_tb_top.v的example_top例化模块改成自己ddr读写仲裁模块,其余是ddr3的行为模块,不变即可
仿真起来会比较慢。