原创 基于SPARTAN6+DDR3+USB3开发板的DDR3读写实例5_TEST工程代码分析

2020-2-29 10:35 3148 25 25 分类: FPGA/CPLD
一、TEST工程前面已经创建、运行起来了,这里简单分析一下工作代码。由于工程比较大,各种控制隐藏的比较深,不花点时间还一时半会不能理解。当然,这里也不会面面俱到,详细分析每一段代码,这里主要挑选两条线进行分析,一个MCB对外的P0控制接口,另外一个是调试时用的6种数据模式。这些内容适合刚入门的,高手的可以忽略。TEST工程主界面如下:

1、约束文件example_top.ucf,处理引脚锁定的,前面我们修改过这个文件。
2、debug调试的三个文件,分别是icon、ila、vio,后面分稍详细分析一些。
3、DDR3读写主文件,DDR3黑盒子文件、时钟及PLL相关文件、顶层文件。
4、右侧窗口显示的是工程的顶层文件example_top.v的内容,参数宏定义,72行-119行,这部分参数是前面MIG生成DDR3核的过程中定义的。

二、继续看顶层文件example_top.v的内容,如下图:行号105到128行, 是引脚定义,实际上连接到DDR3上的引脚。第一个信号calib_done信号比较重要,程序下载到FPGA芯片里后,这个引脚会变高。如果电路板硬件有问题的话,这个引脚为保持为低。

三、继续看顶层文件example_top.v的内容,如下图:140行定义的是6个端口仅使能了P0端口;148行是修改后的PLL相关设置,图中说明的非常详细。

四、继续看顶层文件example_top.v的内容,如下图:行号457开始的是与DEBUG相关的几个信号,包含VIO信号;472行是输出内部的校准信号calib_done;497行是例化PLL时钟相关的模块。

五、继续看顶层文件example_top.v的内容,如下图:从512行开始的是DDR3的例化黑盒子模块,这部分及其下层代码都是加密的,用户无需关注。用户只需要关注DDR3核开放给用记的三组接口就行。

六、继续看顶层文件example_top.v的内容,如下图:626行说明的是6个端口,641开始的是P0口的三组信号,这里仅说明P0,其它5个口类似。

七、继续看顶层文件example_top.v的内容,如下图:行号830开始,例化的是DDR3读写模块,是主要的P0口读写文件。

八、继续看顶层文件example_top.v的内容,如下图:行号1039开始,是关于调试的,包括后面的icon、ila和 vio三个模块。其中下面3指出的是VIO相关的3个信号,用来设置6种测试模式的,后面会有介绍。

九、继续看顶层文件example_top.v的内容,如下图: 是chipscope调试时用的三个模块例化,再往后是三个模块的声明。至此,主文件分析完毕 。

良子USB,20200215
专注USB3.0、FPGA、PCIE、定制UVC摄像头
QQ:392425239

作者: 良子usb, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3903348.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
25
关闭 站长推荐上一条 /3 下一条