tag 标签: IMX178

相关博文
  • 热度 25
    2020-2-29 10:35
    3151 次阅读|
    0 个评论
    基于SPARTAN6+DDR3+USB3开发板的DDR3读写实例5_TEST工程代码分析
    一、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