QUARTUS的DDR2 IP 的测试仿真问题
我用QUARTUS9.0的Magawizard-Plus_INmanager生成的DDR2控制器,QUARTUS提供了设计example,包括example_driver...
我用QUARTUS 9.0的Magawizard-Plus_IN manager生成的DDR2控制器,QUARTUS提供了设计example,包括example_driver(测试控制器是否正常工作的程序),用过这个IP CORE的大神肯定知道我的是啥,不是自己写控制器那种哈,就是调用QUARTUS的IP来做,问题就是我用它提供的测试程序老仿真不出波形呢,输出不对。请问在生成这个IP CORE的时候除了设定好需要的参数,还需要修改其他QUARTUS提供的程序吗,直接仿真为什么结果不对呢?
如果能帮忙解决问题,追加100分。 展开
如果能帮忙解决问题,追加100分。 展开
1个回答
展开全部
那个是可以直接拿来做仿真的,你看下这个core的手册,里面会介绍自带的example做了哪些测试,你可以把example_driver替换为你自己的代码,在example_top也就是顶层中,把你的代码module和控制器core包包含进去。
example_tb就是一个仿真激励,主要是产生时钟和复位,你不需要改动,顶多是把顶层module名字改的和你的example_top一样。
example_tb只是产生时钟和复位信号,是最顶层,下面是example_top,是你设计的顶层文件,里面包含两个:一是example_driver,这个也就是个驱动控制器的程序,可以替换成你自己的控制代码;另一个是ip core,也就是ddr2 controller,以及其内部包含很多模块,我们不需要去管;
我们调用ddr2 core只要求会使用控制器的接口时序就可以,用自己的设计代码去控制ddr2 core 然后让它去完成对ddr2 sdram的访问。
我不知道你的测试代码内容是什么,但你要是控制ddr2 core的话,你就必须发送读写信号,数据,地址,还要接收数据,local_ready,local_initial_done等信号。
example_driver里其实也就是这些内容,你可以直接替换。
example_tb就是一个仿真激励,主要是产生时钟和复位,你不需要改动,顶多是把顶层module名字改的和你的example_top一样。
example_tb只是产生时钟和复位信号,是最顶层,下面是example_top,是你设计的顶层文件,里面包含两个:一是example_driver,这个也就是个驱动控制器的程序,可以替换成你自己的控制代码;另一个是ip core,也就是ddr2 controller,以及其内部包含很多模块,我们不需要去管;
我们调用ddr2 core只要求会使用控制器的接口时序就可以,用自己的设计代码去控制ddr2 core 然后让它去完成对ddr2 sdram的访问。
我不知道你的测试代码内容是什么,但你要是控制ddr2 core的话,你就必须发送读写信号,数据,地址,还要接收数据,local_ready,local_initial_done等信号。
example_driver里其实也就是这些内容,你可以直接替换。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询