| 
本帖最后由 pengyouxiaohui 于 2021-9-29 16:38 编辑
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 
 
 
 系统中需要用ddr3进行数据缓存,有关结构如图所示,其中fifo及ddr3均是IP,剩下的是自己编写的控制逻辑,用于对ddr3读写信号控制及空满标志检测等。 
 在网上能找到的都是按照例程对自带仿真工程进行测试。 
 需要的是模拟真实DDR3 IP核仿真。 
 1,对于fifo的添加,将fifo对应的qip文件拷贝到和.do文件在同一个文件夹下 
 2,DDR3 IP核添加 
 生成IP核的同时,会生成仿真文件(工程里DDR3 IP命名为ddr3_control) 
 $ddr3_ip_dir\ddr3_control\ddr3_control_example_design\simulation 
 ($ddr3_ip_dir为IP核所在工程目录,ddr3_control是IP核的名字) 
 如果只是仿真IP核,按照文件README.txt的步骤进行操作即可。 
 
 在本工程中,由于是模拟实际工程进行仿真,需打开run.do文件进行查看。 
 具体目录 
 $ddr3_ip_di\ddr3_control\ddr3_control_example_design\simulation\verilog\mentor 
 根据.do文件描述,主要调用msim_setup.tcl,(run.do和msim_setup.tcl在同一目录下)。 
 主要按照tcl文件编写自己的.do文件,不必完全按照该文件进行编写,把实际需要的添加到自己的do文件中,主要分为三大块 
 ①拷贝ROM/RAM文件到自己的仿真目录下 
 
 其中$QSYS_SIMDIR改成自己实际目录,(为防止仿真出错,可直接将这三个文件拷贝到仿真目录下) 
 ②添加库编译库文件 
 
 库里再建文件夹比较麻烦,简单的做法是将对应的库文件拷贝到单独文件夹,然后直接进行直接编译。(在自己的仿真目录下,新建文件夹altera_lib用于存放库文件,操作很简单,按照提示,将安装目录下的库文件拷贝到当前文件夹) 
 
 ③按正确顺序编译文件 
 需要的文件很多,简单的办法,直接用实际工程目录进行替换掉 
 注意: 
 
 3,模拟实际DDR3,主要对存储器接口进行控制 
 $ddr3_ip_di\ddr3_control\ddr3_control_example_design\simulation\verilog 
 该目录下文件ddr3_control_example_sim.v进行了仿真示例,该文件主要进行两部分控制,一部分是memory interface,一部分是状态控制(local_init_done等状态输出),状态控制主要是输出,可以忽略不管,按照文件里的指示对测试ddr3进行memory接口连接,添加到testbench测试文件里,并将对应的文件添加到do文件进行编译。 
 
 主要是alt_mem_if_ddr3_mem_model_top_ddr3_mem_if_dm_pins_en_mem_if_dqsn_en.sv文件对存储接口进行了控制 
 |