SDRAM接口的VHDL设计

发布者:innovator7最新更新时间:2012-01-06 关键字:SDRAM接口  VHDL 手机看文章 扫描二维码
随时随地手机看文章
  RAM(随机存取存储器 是一种在电子系统中应用广泛的器件,通常用于数据和程序的缓存。随着半导体工业的发展,RAM获得了飞速的发展,从RAM、DRAM(Dynamic RAM,即动态RAM)发展到SDRAM(SynchrONous Dynamic RAM,即同步动态RAM),RAM的容量越来越大、速度越来越高,可以说存储器的容量和速度已经成为半导体工业水平的标志。

1 任务背景

  SDRAM具有大容量和高速的优点,目前其存取速度可以达到100~133MHz,单片容量可以达到64Mbit或更高,因此在需要高速、大容量存储器的系统中得到广泛应用,如应用在目前的计算机内存中。但是SDRAM的控制比较复杂,其接口不能直接与目前广泛应用的普通微处理器例如MCS-51系列、MOTOROLA 68000系列 连接,这样就限制了SDRAM在微处理器系统中的应用。

  我们的任务是设计一个通用微处理器,它要具有语音、数据、图像等多种处理功能,并具有RS232、USB等多种接口,另外由于多个通道的数据都需要进行缓存和处理,因此高速大容量的缓存是此系统必须的,所以选用了SDRAM作为缓存器件。来自多个输入通道的数据在采集后需要暂时存储在SDRAM中,处理后的数据也需要存储在SDRAM中,再输出到输出通道中。在SDRAM与多个输入输出通道之间,采用多个双口RAM作为接口器件。输入通道采集的数据首先存储在双口RAM中,采集满后,通过若干条指令将RAM中的数据转移到SDRAM中的一定位置中,将SDRAM中的数据转移到RAM中也只需要若干条指令来完成。这样通过几条指令来设置RAM起始地址、SDRAM起始地址、传送数据长度、传送数据方向之后,SDRAM与RAM之间数据传送就完全可以通过硬件实现,不必占用微处理器的指令时间。

2 SDRAM简介

  SDRAM具有多种工作模式,内部操作是一个非常复杂的状态机。SDRAM的管脚分为以下几类:

  (1)  控制信号:包括片选、时钟、时钟有效、行/列地址选择、读写选择、数据有效;

  (2)  地址:时分复用管脚,根据行/列地址选择管脚控制输入地址为行地址或列地址;

  (3)  数据:双向管脚,受数据有效控制;

  根据控制信号和地址输入,SDRAM包括多种输入命令:① 模式寄存器设置命令;② 激活命令;③ 预充命令;④写命令;⑤ 读命令;⑥自动刷新命令;⑦ 自我刷新命令;⑧突发停止命令;⑨ 空操作命令。

  根据输入命令,SDRAM状态在内部状态间转移。内部状态包括:①模式寄存器设置状态;②激活状态;③预充状态;④写状态;⑤读状态;⑥自动刷新状态;⑦自我刷新状态;⑧节电状态。

3 SDRAM接口状态机设计

  根据系统的要求,采用固定型号SDRAM,我们对SDRAM的操作进行了以下简化:

  (1) 不考虑随机存取模式,只采用突发读写数据模式,固定突发数据长度为2;

  (2) 固定SDRAM读命令输入到数据输出延时时钟周期为2;

  (3) 刷新模式仅采用自我刷新模式,不采用自动刷新模式;

  (4) SDRAM的初始化、节电模式由微处理器控制;

  (5) SDRAM为16位数据总线,RAM为32位数据总线,SDRAM进行一次突发操作,RAM进行一次读写操作,以实现速度匹配;

  (6) SDRAM和RAM读写地址采用递增模式,连续变化。

  其中,初始化、自我刷新、电源关断、读操作、写操作、预充等状态又分别各由一组子状态组成。

  为充分利用SDRAM的高速存取特性,读、写时序必须仔细设计,应基本可以实现每个时钟周期进行一次数据存取。如下图所示。

 
3.1 SDRAM读操作时序设计

  当数据转移方向为从SDRAM到双口RAM时,如果SDRAM读操作行地址未发生变化,可以满足每时钟周期输出一次数据的高速操作。但是当SDRAM行地址发生变化时,必须返回预充状态,由于从SDRAM的读命令输入到SDRAM数据输出之间有2个时钟周期的延时,所以判断下一读操作的行地址是否发生变化必须提前两个周期判断。如下图所示。

 

3.2 SDRAM写操作时序设计

  当数据转移方向为从双口RAM到SDRAM时,如果SDRAM写操作行地址未发生变化,可以满足每时钟周期写入一次数据的高速操作。但是当SDRAM行地址发生变化时,必须返回预充状态,由于从SDRAM的写命令输入到SDRAM数据输入之间没有延时,所以判断下一写操作的行 地址是否发生变化无需提前判断,因此写操作状态转移图比读操作部分简单。

  在所设计的读、写操作时序中,SDRAM地址、数据、控制信号和RAM部分的地址、数据、读写控制信号均由有限状态机产生,因此在状态转移过程中还必须仔细考虑RAM部分输出控制信号的时序关系。

4 VHDL实现

  硬件描述语言VHDL(Very=high Speed IC HARDWARE DESCRIPTION Language)是一种应用于电路设计的高层次描述语言,具有行为级、寄存器传输级和门级等多层次描述,并且具有简单、易读、易修改和与工艺无关等优点。目前VHDL语言已经得到多种EDA工具的支持,综合工具得到迅速发展,VHDL语言的行为级综合也已经得到支持和实现,因此利用VHDL语言进行电路设计可以节约开发成本,缩短周期。在VHDL语言输入中也有多种形式,例如可以支持直接由状态转移图生成VHDL语言。因此在设计SDRAM状态转移图后,可以直接产生VHDL程序,在功能仿真正确后,可以进行综合、FPGA布局布线和后仿真。

  以上介绍了一种应用于通用微处理器系统中的SDRAM与双口RAM之间的数据转移接口控制电路,由VHDL语言设计,用XILINX公司4000系列FPGA实现,目前该电路硬件实现和微处理器系统已经通过验证,证明可将SDRAM作为高速、大容量存储器应用在简单电子系统中。

关键字:SDRAM接口  VHDL 引用地址:SDRAM接口的VHDL设计

上一篇:AVR单片机的通用USB接口模块设计
下一篇:基于VXI总线的射频开关模块的研制

推荐阅读最新更新时间:2024-05-02 21:50

CPLD被STM32读写VHDL程序
1 2 3 --本程序用来测试STM32对CPLD的读写操作 4 5 --测试功能如下: 6 7 --向0x05地址写入0x01,LED灯停止闪烁,写入其他数据闪烁继续 8 9 --0x03,0x04寄存器为定值,可以通过STM32读取然后使用串口输出看看是否一致 10 11 12 13 --文件名:AD.vhd 14 15 library ieee; 16 17 use ieee.std_logic_1164.all; 18 19 use ieee.std_logic_unsigned.all; 20 21 22 23 entity AD is 24 25 port
[单片机]
FPU加法器的设计与实现
在一般的处理器中,浮点加法、减法、转换和传送最终都是可以转换为采用浮点加法器实现,所以浮点加法器的使用频率高达55%,是使用频率最高的浮点运算模块。浮点加法的两个特点,一是它复杂,二是它被使用的频率在所有操作里面是最高的,所以它是现代微处理器和数字信号处理器中非常关键的部分。因此.浮点加法器的设计对FPU的整体性能十分重要。 1 运算方法 最基本的浮点加法算法需要相对最多的串行运算操作,它需要完成两个浮点操作数的求和运算,包括尾数部分的求和以及相应修改结果的指数值,而且最终结果必须是符合正IEEE754标准的规格化浮点数。 根据IEEE754浮点数表示方法与运算规则,其表示如公式(1)所示: 公式中:s为尾数的
[测试测量]
FPU加法器的设计与实现
基于VHDLSDRAM接口设计
RAM通常用于数据和程序的缓存,随着半导体工业的发展,RAM获得了飞速的发展,从RAM、DRAM(Dynamic RAM,即动态RAM)发展到SDRAM(Synchronous Dynamic RAM,即同步动态RAM),RAM的容量越来越大、速度越来越高,可以说存储器的容量和速度已经成为半导体工业水平的标志。   1 任务背景   SDRAM具有大容量和高速的优点,目前其存取速度可以达到100~133MHz,单片容量可以达到64Mbit或更高,因此在需要高速、大容量存储器的系统中得到广泛应用,如应用在目前的计算机内存中。但是SDRAM的控制比较复杂,其接口不能直接与目前广泛应用的普通微处理器如MCS-51系列、Motorol
[模拟电子]
基于<font color='red'>VHDL</font>的<font color='red'>SDRAM</font><font color='red'>接口</font>设计
基于VHDL语言的智能拨号报警器的设计
    摘要: 介绍了以EDA技术作为开发手段的智能拨号报警系统的实现。本系统基于VHDL语言,采用FPGA作为控制核心,实现了远程防盗报警。该报警器具有体积小、可靠性高、灵活性强等特点。     关键词: VHDL语言 FPGA ASIC DTMF 目前,智能拨号报警器大多采用单片机作为控制核心,这种传统设计方法的特点是硬件和软件截然不同,设计中不可相互替代;而且硬件连线复杂,可靠笥较差。 硬件描述语言(VHDL)和可编程ASIC器件的广泛应用第一次打破了硬件和软件的屏障。基于VHDL语言、以EDA技术作为开发手段、采用现场可编程门阵列FPGA(Field Porogrammable Gate A
[半导体设计/制造]
一种基于DSP+FPGA的控制系统方案设计
   一、前言    本文提到的控制系统控制通信设备的正常工作,是整个通信设备的重要组成部分。该控制系统要实现的功能为: 接收外来的信息、实时采集输入的信号,控制设备的工作状态、参数、频率、电压及完成设备的故障检测等;要求具备大量的通信功能和复杂的管理控制功能,且具备实时性、准确性。   原来普遍采用单片机加外围器件来完成这些功能,需要大量的外部电路,增加了系统成本,也增加了系统的复杂性,系统的可靠性也会受一定的影响。   本文所提出的基于DSP+FPGA的控制系统方案,利用FPGA的容量大、可编程实现很多功能,结合DSP具有高速的信息处理能力的特点,使得本控制系统非常简洁,结构灵活,通用性强,系统也易于维护和扩展。该
[嵌入式]
汽车尾灯VHDL设计
1.系统设计要求     用6个发光管模拟6个汽车尾灯(左右各3个),用4个开关作为汽车控制信号,分别为:左拐、右拐、故障和刹车。车匀速行驶时,6个汽车尾灯全灭;右拐时,车右边3个尾灯从左至右顺序亮灭;左拐时,车左边3个尾灯从右至左顺序亮灭;故障时车6个尾灯一起明灭闪烁;刹车时,6个尾灯全亮 2.系统设计方案     根据系统设计要求,采用自顶向下设计方法,顶层设计采用原理图设计,它由主控模块、左边灯控制模块和右边灯控制模块三部分组成。 3参考VHDL源程序     (1) 主控制模块     说明:此程序为系统主控制模块。当左转时,lft信号有效;右转时,rit信号有效;当左右信号都有效的时,lr有效。
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved