位置:51电子网 » 技术资料 » 接口电路

片上SDRAM控制器的设计与集成

发布时间:2008/8/16 0:00:00 访问次数:485

  本文介绍了sdram 控制器ip 核的设计、电路的功能仿真、综合以及验证等过程,其中重点讨论了该控制器的接口设计以实现soc的集成。

  性能分析表明该控制器设计合理、性能优异。结果证明了该ip 在功能和时序上符合sdram控制器技术规范,达到了预定目标。

  随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成, 现在又发展到ip的集成,即soc设计技术。soc可以有效地降低电子信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是工业界将采用的最主要的产品开发方式。目前国内也加大了在soc 设计以及ip 集成领域的研究。本文介绍的便是国家基金项目支持的龙芯soc—ict- e32 设计所集成的片上sdram 控制器模块设计与实现。

  1  ict-e32 体系结构

  ict-e32 是一款32位高性能soc ,它集成龙芯1号cpu和自行开发的片上总线架构,旨在推进龙芯的产业化,探索soc 设计方法。它可用于pda、智能家电和消费类电子产品等方面,其集成平台也可用于后续芯片开发,开发衍生产品。ict-e32 采 用的龙芯1 号cpu 核是一款32 位的mipscpu 。片上总线按照挂载ip 的带宽分成两级,分别是高速总线和低速总线。高速总线采用地址流水和读/ 写并发技术,数据线宽度为64bit , 最高频率133mhz , 挂有cpu 核、sdram cont roller 和pci controller 等模块;低速总线采用wishbone体系结构,数据线宽度32bit ,最高频率66mhz ,挂有uart、usb host 和lio接口等模块。

  两级总线通过桥接器连接。还有一条穿过片上所有ip 模块的总线—dcr(device cont rol register bus) 总线。这是一个环形的总线,cpu是dcr总线上惟一的主设备,负责对总线上其他的设备进行读写操作。dcr总线用于对各个ip 模块的寄存器堆(register bank) 进行读写。

  2  sdram控制器设计与实现

  sdram 控制器挂载在ic -e32 的内部高速总线上,是总线上的slave设备。它支持的sdram 大小范围为64m~1g。通过i2c 串行总线协议访问dimm 条的spd (serialpresence detect) ,来配置sdram 控制器的模式寄存器。它的工作频率与高速总线同步,兼容pc100/133 。数据线宽度为64 位,支持burst 操作(1 ,2 ,4 ,8 与整页) ,支持顺序与交替访问。sdram 控制器主要由三大模块组成,包括高速总线接口、dcr总线接口以及sdram控制模块。

  2. 1  高速总线接口

  ict-e32 的内部高速总线类似于ibm 的plb总线协议,它的地址线为32位和数据线为64位。这是一款高性能的片上同步总线,总线上的设备使用同一个时钟源提供的时钟。采用二级地址流水和读写并发技术。由总线仲裁器控制总线上master设备和slave设备之间的读/ 写操作。总线上的master设备使用独占的地址线、读数据线、写数据线以及传输控制信号,而slave设备则共享分隔的地址和读/ 写数据线,其中读/ 写数据线配有各自的传输控制信号。它支持sdram仲裁,仲裁的原则是采用带抢占的剥夺方式,cpu访问的优先级最高。

  内部高速总线仲裁使用静态优先级,当master设备对某一slave设备发出请求时,由总线仲裁器作出仲裁,如果该master设备的优先级最高,则向该master设备作出应答,同时向slave设备发出命令,使其独占slave总线。

  sdram控制器作为内部高速总线上的slave设备,只对总线发出的命令做出响应。高速总线接口负责将总线给出的命令转换为对sdram控制器的操作。当总线发出命令时,高速总线接口首先判断sdram 的状态,如果内存处于空闲状态则给sdram 控制器发出读/ 写指令,在sdram 控制器完成对内存操作后,给总线返回应答信号及读数据,其中读/写数据分别经过同步fifo 与总线连接。图2 (a) 给出了高速总线接口具体的操作流程图。

  2. 2  dcr总线接口

  ict-e32 的dcr 总线参考的是ibm 的dcr总线。这是一款32位的同步总线,用来在master设备cpu 的通用寄存器与slave设备的模式寄存器之间传输数据,是一条贯穿片上所有ip模块的环形总线。

  当cpu 配置某一slave设备的模式寄存器时,通过dcr总线给出配置数据,同时给出该设备的地址。slave设备在接受到dcr 总线上的数据时,首先判断地址是否对应,如果给出的地址为自己的地址则接受数据;如果不是,则将数据旁路(bypass) 给下一个设备。

  dcr 接口的功能是接收cpu写入的各寄存器的值,及向cpu 提供状态寄存器及其他寄存器的内容。通过地址比较逻辑来判断地址是否命中,如果地址命中则接受数据,同时给出应答信号;反之,则将数据旁路给dcr 总线上的下一个设备。图2(b) 给出了dcr 总线接口操作流程。

  2. 3  sdram控制模块

  sdram 控制模块在接受到系统命令后, 负责对sdram 内存条发出读/ 写操作控制信号。它内部主要包含一个控制状态转换的mealy 状态机,如图3 所示。包括空闲( idle) 、刷新(ref resh) 、模式寄存器配置(mode register set) 、有效(active) 、预充( precharge) 、读和写

  本文介绍了sdram 控制器ip 核的设计、电路的功能仿真、综合以及验证等过程,其中重点讨论了该控制器的接口设计以实现soc的集成。

  性能分析表明该控制器设计合理、性能优异。结果证明了该ip 在功能和时序上符合sdram控制器技术规范,达到了预定目标。

  随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成, 现在又发展到ip的集成,即soc设计技术。soc可以有效地降低电子信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是工业界将采用的最主要的产品开发方式。目前国内也加大了在soc 设计以及ip 集成领域的研究。本文介绍的便是国家基金项目支持的龙芯soc—ict- e32 设计所集成的片上sdram 控制器模块设计与实现。

  1  ict-e32 体系结构

  ict-e32 是一款32位高性能soc ,它集成龙芯1号cpu和自行开发的片上总线架构,旨在推进龙芯的产业化,探索soc 设计方法。它可用于pda、智能家电和消费类电子产品等方面,其集成平台也可用于后续芯片开发,开发衍生产品。ict-e32 采 用的龙芯1 号cpu 核是一款32 位的mipscpu 。片上总线按照挂载ip 的带宽分成两级,分别是高速总线和低速总线。高速总线采用地址流水和读/ 写并发技术,数据线宽度为64bit , 最高频率133mhz , 挂有cpu 核、sdram cont roller 和pci controller 等模块;低速总线采用wishbone体系结构,数据线宽度32bit ,最高频率66mhz ,挂有uart、usb host 和lio接口等模块。

  两级总线通过桥接器连接。还有一条穿过片上所有ip 模块的总线—dcr(device cont rol register bus) 总线。这是一个环形的总线,cpu是dcr总线上惟一的主设备,负责对总线上其他的设备进行读写操作。dcr总线用于对各个ip 模块的寄存器堆(register bank) 进行读写。

  2  sdram控制器设计与实现

  sdram 控制器挂载在ic -e32 的内部高速总线上,是总线上的slave设备。它支持的sdram 大小范围为64m~1g。通过i2c 串行总线协议访问dimm 条的spd (serialpresence detect) ,来配置sdram 控制器的模式寄存器。它的工作频率与高速总线同步,兼容pc100/133 。数据线宽度为64 位,支持burst 操作(1 ,2 ,4 ,8 与整页) ,支持顺序与交替访问。sdram 控制器主要由三大模块组成,包括高速总线接口、dcr总线接口以及sdram控制模块。

  2. 1  高速总线接口

  ict-e32 的内部高速总线类似于ibm 的plb总线协议,它的地址线为32位和数据线为64位。这是一款高性能的片上同步总线,总线上的设备使用同一个时钟源提供的时钟。采用二级地址流水和读写并发技术。由总线仲裁器控制总线上master设备和slave设备之间的读/ 写操作。总线上的master设备使用独占的地址线、读数据线、写数据线以及传输控制信号,而slave设备则共享分隔的地址和读/ 写数据线,其中读/ 写数据线配有各自的传输控制信号。它支持sdram仲裁,仲裁的原则是采用带抢占的剥夺方式,cpu访问的优先级最高。

  内部高速总线仲裁使用静态优先级,当master设备对某一slave设备发出请求时,由总线仲裁器作出仲裁,如果该master设备的优先级最高,则向该master设备作出应答,同时向slave设备发出命令,使其独占slave总线。

  sdram控制器作为内部高速总线上的slave设备,只对总线发出的命令做出响应。高速总线接口负责将总线给出的命令转换为对sdram控制器的操作。当总线发出命令时,高速总线接口首先判断sdram 的状态,如果内存处于空闲状态则给sdram 控制器发出读/ 写指令,在sdram 控制器完成对内存操作后,给总线返回应答信号及读数据,其中读/写数据分别经过同步fifo 与总线连接。图2 (a) 给出了高速总线接口具体的操作流程图。

  2. 2  dcr总线接口

  ict-e32 的dcr 总线参考的是ibm 的dcr总线。这是一款32位的同步总线,用来在master设备cpu 的通用寄存器与slave设备的模式寄存器之间传输数据,是一条贯穿片上所有ip模块的环形总线。

  当cpu 配置某一slave设备的模式寄存器时,通过dcr总线给出配置数据,同时给出该设备的地址。slave设备在接受到dcr 总线上的数据时,首先判断地址是否对应,如果给出的地址为自己的地址则接受数据;如果不是,则将数据旁路(bypass) 给下一个设备。

  dcr 接口的功能是接收cpu写入的各寄存器的值,及向cpu 提供状态寄存器及其他寄存器的内容。通过地址比较逻辑来判断地址是否命中,如果地址命中则接受数据,同时给出应答信号;反之,则将数据旁路给dcr 总线上的下一个设备。图2(b) 给出了dcr 总线接口操作流程。

  2. 3  sdram控制模块

  sdram 控制模块在接受到系统命令后, 负责对sdram 内存条发出读/ 写操作控制信号。它内部主要包含一个控制状态转换的mealy 状态机,如图3 所示。包括空闲( idle) 、刷新(ref resh) 、模式寄存器配置(mode register set) 、有效(active) 、预充( precharge) 、读和写

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式