老古开发网首页
导航:老古开发网首页文章索引索引第2446页文章分类EDA/IC设计第23页→[IP核调试之SDRAM篇(2) 转载]
| -文章搜索 - 最新文章 - |

第2606篇:IP核调试之SDRAM篇(2) 转载

发布时间:2006年7月29日 点击次数:1062
来源:   作者:
 

但是作为初学者,我还是愿意勇

      敢的说出自己的心得体会,希望对如我一样的初学者有所帮助。今天我将继续介

      绍我的调试SDRAM之路。

           时序仿真完成后,硬件调试相对轻松多了。我用到的核心设备就是一台

      60MHZ带宽的Tektronix示波器。在100MHZ的工作频率下边,很多信号看起来都是

      正弦波了。更有意思的是,单次触发方式观察sdram的WEn信号时,看到的压根儿

      就是一个有着严重过冲的正弦脉冲。但是这已经足够给出需要的信息了。

           如同时序仿真,要观察读写SDRAM时关键信号波形对不对一样,硬件调试

      时也需要如此。我的做法就是,从FPGA某一个管脚触发FPGA内部控制SDRAM读写

      的逻辑,反复向内存条的某一地址写入一个常数(如0x5555 5555 5555

      5555),然后用示波器观看内存条上关键信号的状态:WEn,CASn,RASn,CSx。这

      么做的目的就是初步观察SDRAM控制器的流程走得对否。如果有逻辑分析仪,呵

      呵,这一步工作可能会更轻松了。像我只有示波器的,更多的依赖时序仿真了。

      反复写完某一个地址,接下来就要反复读这个地址,观察刚才写入的数据是否真

      的已经存到了sdram中去。这一步中,除了观察关键信号外,要特别在意SDRAM的

      内存条上的每一根数据信号。内存条上的数据线不输出数据时候是悬浮态。所以

      ,将示波器的探头用电阻上拉到高后再用来观察内存条上的数据线,可以很容易

      区分悬浮态与接地状态。高电平的识别自然不是问题了。用这种方法,就可以看

      出读的时候内存条输出的数据到底是什么。如果采用双地址反复写与反复读的模

      式,观察起来会更容易:如一个地址数据为0x5555 5555 5555 5555,而另一个

      地址数据为0xaaaa aaaa aaaa aaaa,那么反复读的时候,如果sdram工作正常了

      ,就应该在内存条的数据线上观察到规则的方波。

           一次性成功的可能性不大。所以,当观察到读出的数据与写入的数据不一

      致的时候,就要回过头来通过静态检查与时序仿真的波形分析,查找原因。从我

      的调试情况看,lattice公司的这个控制器,流程没有任何问题。我做的最大的

      改动就是:
               1.初始化部分:多加了四五次刷新后才开始写模式寄存器;
               2.增加了一个刷新模块,刷新周期约7.68us(100MHz下计数器768)

      ;
               3.增加了sdr_IDLE信号,以方便读写;

           有空的时候,我会将全部程序整理一下发布出来,供感兴趣的网友参考。

           通过调试lattice公司的这个sdram模块,我的整体感受就是:
               1.首先要从整体上把握其功能、接口定义。简单的说,就是它干什么

      的,应该怎么用。如用户接口,究竟该如何和它接驳。
               2.然后,要通过功能仿真、时序仿真,深入观察其输出输出波形,看

      看和手册描述是否一致,有没有什么严重问题;
               3.接下来,就要进行硬件调试,通过重复动作的方式,观察关键信号

      的有无以及波形;
               4.先整体实验,如果不成功,再依据输入输出之间的信号流程,深入

      模块内部,逐渐观察特定特定信号的状态是否与预期的一致。例如,如果IP核含

      有内部功能寄存器,可以实验这个功能寄存器是否可以可*读写。这里可以直接

      引出观察,也可以使用SignalTap功能观察。

             世上无难事,只要肯登攀。光看不行,要找到切入点,步步为营,各个

      击破,呵呵。



欢迎进入老古论坛进行讨论
[EDA/IC设计] 相关文章:
FPGA 门数计算方法(转)
简介:
FPGA 门数计算方法 Ik!I!`p+o rQGuest FPGA 等效门数的计算方法有两种: EDA中国门户网站3\a} zZ0z\&T 1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较, .Zu k2ZYd9[Guest 门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就 2uy6`y~ Ed p,M eGuest 可以得到FP......

Xilinx FPGA全局时钟和第二全局时钟资源的使用方法
用HDLScore做覆盖率分析VHDL实例
用VHDL/VerilogHD语言开发PLD/FPGA的完整流程VHDL实例
格雷码计数器的设计思路VHDL实例
 
下一个:[EDA/IC设计]IP核调试之SDRAM篇(1) 转载
简介:
首先说明资源使用: 1.硬件: 基于HY57V561620CT-H的128M PC133......

上一个:[EDA/IC设计](转)抛砖引玉,发实际项目用的一个仿真脚本(VCS+VERA)

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:31毫秒