上图是terasic公司提供的SDRAM控制器,大部分已经封装好,我们需要修改其中部分代码,以此来实现我们自己需要的功能。 1.PLL时钟设定 首先上面的sdram_pll.v中产生上一篇博客所需要的“驱动时钟”和“控制时钟”,这两个时钟由于PCB走线延时,两个时钟会有一定的时间差 ...
前面几篇博客已经讲到了关于 V 的相关驱动问题,那么OV 驱动成功之后,设定OV 输出RGB 格式,那么对于 x x ,那么若是选用FIFO,应该设置为位宽 bit,存储深度为 万,但是这样是不现实的。所以采用存储深度更大的SDRAM来实现数据的缓存。 要么对于SDRAM的学习资料,笔者列举以下几篇文档供大家学习。 当然还有之前各位大神写的博客,都可以进行参考,这里不一一列举。 本篇博客先整体介 ...
2016-01-20 09:54 0 3070 推荐指数:
上图是terasic公司提供的SDRAM控制器,大部分已经封装好,我们需要修改其中部分代码,以此来实现我们自己需要的功能。 1.PLL时钟设定 首先上面的sdram_pll.v中产生上一篇博客所需要的“驱动时钟”和“控制时钟”,这两个时钟由于PCB走线延时,两个时钟会有一定的时间差 ...
上一篇博客主要讲解了一下SDRAM整体结构以及PCB方面的注意事项。接下来讲解一下需要用到的一些命令。 1.常用命令的缩写 上述是常用到的一些指令集。 2.模式寄存器 (1)突发长度 通过对A0~A11的控制来实现SDRAM的常用配置。首先A0~A2是突发长度的控制 ...
本篇博文共有两种刷新方式 SDRAM数据手册给出每隔64ms就要将所有行刷新一遍, 因此每隔64_000_000 ns/2^12=15625ns 就要刷新一次。(因为一个L-Bank的行是12位,所以一共有2^12行)。 假设我的时钟频率是100Mhz(一个周期是10ns),则只需要每隔 ...
command 模块总述 SDRAM 的 command 模块的内容包括如下: 1、对初始化请求、配置模式寄存器、读/写、刷新、预充电等命令的一个优先级的控制。 2、对命令执行时间进行控制,依据如图1,红圈框起来的都是最小值 ...
目录 1、SDRAM初始化的内容(结合英文数据手册) 2、SDRAM初始化的时序 3、代码的编写 4、modesim的仿真 SDRAM初始化的内容 SDRAMs must be powered up and initialized in a predefined ...
一、存储器类型 1、RAM,随机存取存储器(Random Access Memory),也叫主存, 是与 CPU 直接交换数据的内部存储器。可按地址进行读写,掉电后数据会丢失。 ...
一、读写操作: (一)块使能 相应的块和行地址一定要通过ACT激活,在ACT命令和下一个读写命令必须有tRCD间隔。 (二)读操作 读命令设置之后,输出缓冲器变成了low_Z。SDRAM能执行组读出 ...
片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行。片内ram装载的是norflash中的内容,即u-boot。 uboot放在norflash里,nandflash就存放的操作系统。所以norflash相当于电脑的bios ...