文章目录
紫光同创HMIC_S(DDR) IP与Modelsim的仿真
0 致读者
此篇为专栏 《紫光同创FPGA开发笔记》 的第一篇,记录我的学习紫光同创 FPGA 的一些开发过程和心得感悟,刚接触 FPGA 的朋友们可以先去我主页置顶 《FPGA零基础入门学习路线》来做最基础的扫盲。
本篇内容基于笔者实际开发过程和正点原子资料撰写,将会详细讲解此 FPGA 实验的全流程,诚挚地欢迎各位读者在评论区或者私信我交流!
本篇内容基于2023年FPGA创新设计竞赛的例程,旨在解决紫光同创 HMIC_S(DDR) IP 无法仿真的问题。
1 更改 sim/modelsim 中的具体文件
1.1 增加 Windows 批处理文件
在此文件夹下新建一个文本文档(.txt),添加如下内容:
vsim -gui -do sim.tcl
保存后退出,然后将其重命名为 sim.bat。这一步的作用是能够直接双击运行 modelsim。
1.2 更改 sim.tcl 文件
用 “记事本” 打开方式,打开 sim.tcl 文件,找到最后两行代码,并将其注释掉。
在最后一行添加如下代码:
vsim -novopt -suppress 3486,3680,3781 -c ddr_test_top_tb -L work -l sim.log
这一步的作用是防止 modelsim 闪退。
接着更改下PDS的安装路径,将路径更改为自己电脑上的:
1.3 更改 sim_file_list.f 文件
这个文件包含了仿真要用的设计文件、测试文件、各种库,由于里面存在绝对路径,因此需要进行更改。
用 “记事本” 打开方式,打开 sim_file_list.f 文件。
在文件的最后部分找到 “含有绝对路径的内容”。
将含有绝对路径的内容更改为自己的 PDS 安装的位置(我安装在C盘下),否则运行 modelsim 时会报错,提示找不到相应的文件。
2 更改 example_design/bench/ddr3_tb 中的仿真文件
查看 ddr_test_top_tb.v 中对 test_ddr.v 例化的代码:
由于官方例程中将 free_clk 做了修改,让其直接 assign free_clk = ref_clk,并注释掉了 free_clk 端口,因此这里要把例化部分的 free_clk 端口删掉。
修改后如下:
3 例化 HMIC_S IP 注意事项
HMIC_S 1.4 IP多了 debug 调试的一些接口,debug 的一些接口必须配置才能够实现仿真运行。参考例化代码(demo10_HDMI_DDR3_OV5640_test):
4 总结
我们按照如上步骤修改后,即可正常仿真。同时当添加完仿真所需观察的信号后,我们可以将其另存为一个 .do 文件,这样在下次需要仿真时就可以省去查找和添加信号的时间。选择 File 后点击 Save Format 即可。
如果想对紫光同创的 DDR3 进一步学习,可以参考本专栏中的《基于紫光同创 FPGA 的 DDR3 读写实验》,内含3万字的详细讲解,以此抛砖引玉。
希望以上的内容对您有所帮助,诚挚地欢迎各位读者在评论区或者私信我交流!
微博:沂舟Ryan (@沂舟Ryan 的个人主页 - 微博 )
GitHub:ChinaRyan666
微信公众号:沂舟无限进步(内含精品资料及详细教程)
如果对您有帮助的话请点赞支持下吧!
集中一点,登峰造极。