|
|
| | -文章搜索 - 最新文章 - | |
第2605篇:IP核调试之SDRAM篇(1) 转载 |
| 发布时间:2006年7月29日 点击次数:1376 |
| 来源: 作者: |
1.硬件: 基于HY57V561620CT-H的128M PC133内存条; ALTERA公司的EP1C6Q240C8芯片; 2.软件: www.fpga.net.cn上下载的lattice标准SDRAM模块; QUARTUS4.0破解版; 下面说明我的艰辛的调试之路,呵呵。 我是从4月份开始学习verilog语言,然后从网上广泛搜集SDRAM模块,下载 的有altera公司,有lattice的。经过对比,我选择了lattice公司的标准的 sdram模块,即http://www.fpga.com.cn/freeip.htm上面的sdram控制器3。理由 如下: 1.模块划分比较合理:ctrl,sig,data; 2.文档描述清晰,易于使用; lattic公司的这个控制器,具体针对哪个器件我不晓得;但是我要用的是 HY57V561620CT-H。因此,下载下来后,首先需要吃透源代码。看源代码当然要 从顶层设计开始看,观察模块如何分工,信号如何流动等。由于lattic公司队文 件组织的实在太好了,所以看懂不是太难的问题,看懂后针对自己的芯片修改, 也不会太费力气,主要修改: 1.地址线、数据线宽度; 2.数据读写部分; 3.模式寄存器初始值; 4.时序参数定义; 这些修改,基本上都属于偷梁换柱类型的。相信看过的人,都晓得。此外 ,我根据需要,添加了一个sdr_IDLE信号输出,以便方便使用。 修改完毕,重新编译通过后,就着手编写与该模块接口的控制模块,如什 么时候应该发出什么信号给这个控制器,针对这个控制器发出的某个信号,该如 何回应等。由于lattic的这个控制器给出了关键性的指示信号,所以接口控制模 块的编写也不是太大的问题了。 接口控制模块编写完毕,就可以进行时序仿真了。如,通过某个外部信号 触发接口控制模块启动一次写--等待---读操作,然后观察控制器模块输出 的信号对不对。如,读的时候,应该有什么信号出现;写的时候,又该有什么信 号出现。这一步很重要,决定了时序波形是否正确。从调试情况来看,这一步如 果没有什么问题,这个sdram控制器基本上可以工作了。希望各位和我一样的初 学者,要足够重视仿真功能,呵呵。 时序仿真完毕,呵呵,就该下载到目标板开始硬件调试了。明天,我将会 详细介绍。今天先写到这里。 |
|
|
|
|
[EDA/IC设计] 相关文章: Xilinx FPGA全局时钟和第二全局时钟资源的使用方法简介: 目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM(Block Select RAM)的时延和抖动都为最小。为了适应复杂设计的需要,Xilinx的FP...... 用HDLScore做覆盖率分析VHDL实例 用VHDL/VerilogHD语言开发PLD/FPGA的完整流程VHDL实例 格雷码计数器的设计思路VHDL实例 介绍状态机的一种书写方式VHDL实例 |
|
|
|