利用Verilog实现基于FPGA的SDRAM控制器

发布于:2024-07-17 编辑:匿名 来源:网络

摘要:本文介绍了SDRAM的特点和工作原理,提出了一种基于FPGA的SDRAM控制器的设计方法。

采用这种方法实现的控制器可以非常方便地控制SDRAM。

控制住。

  关键字:SDRAM;控制器; Verilog;状态机  简介  ---在基于FPGA的图像采集与显示系统中,往往需要大容量、高速的存储器。

在各种随机存储器件中,SDRAM因其价格低、体积小、速度快、容量大而成为理想的器件。

但SDRAM的控制逻辑比较复杂,时序要求也很严格,使用起来不方便。

这就需要一个特殊的控制器,以便系统用户可以轻松地操作SDRAM。

为此,本文提出一种基于FPGA的SDRAM控制器的设计方法,并使用Verilog进行实现。

仿真结果表明,通过该方法设计实现的控制器可以在FPGA芯片中形成如图1所示的SDRAM接口。

这使得系统用户操作SDRAM变得非常方便。

  SDRAM简介  ---SDRAM器件的引脚分为三类:控制信号、地址和数据。

通常一个SDRAM包含多个BANK,每个BANK的存储单元按行和列进行寻址。

由于这种特殊的存储结构,SDRAM具有以下运行特性。

  ● SDRAM 的初始化  ---SDRAM 上电~μs 后,必须使用初始化过程来配置SDRAM 的模式寄存器。

模式寄存器的值决定了SDRAM的工作模式。

  ● 访问内存单元  ---为了减少I/O引脚数量,SDRAM复用了地址线,所以在读写SDRAM时,首先激活ACTIVE要读写的BANK当读写指令有效时,先锁存行地址,再锁存列地址。

一旦某个BANK被激活,同一个BANK只能在执行预充电命令后才能再次激活。

  ●刷新与预充电  ---SDRAM的存储单元可以理解为一个电容器,它总是倾向于放电,所以必须有一个定时的刷新周期,以避免数据丢失。

刷新周期可以通过(最小刷新周期÷时钟周期)计算。

预充电 BANK 或关闭激活的 BANK。

它可以对特定BANK进行预充电,也可以同时作用于所有BANK。

A10、BA0、BA1用于选择BANK。

  ● 操作控制  ---SDRAM的具体控制命令是由一些专用的控制引脚和地址线辅助的。

时钟上升沿时CS、RAS、CAS、WR的状态决定了具体的操作动作。

地址线和BANK选择控制线在某些操作动作中作为辅助参数输入。

由于特殊的存储结构,SDRAM有很多操作指令,不像SRAM只有简单的读写。

  SDRAM控制器的设计与实现  ●总体设计框图及外部接口信号  ---SDRAM控制器与外部的接口原理图如图1所示。

控制器右端均直接与SDRAM相连,对应引脚所连接的信号在此不做介绍。

控制器左侧的接口信号是连接FPGA的系统控制接口信号。

其中,CLK为系统时钟信号,RESET_N为复位信号,ADDR为系统给定的SDRAM地址信号,DAIN为系统写入SDRAM所用的数据信号。

其中,FPGA_RD和FPGA_WR为系统读写请求信号(1有效,0无效),SDRAM_FREE为SDRAM的空闲状态指示信号(0为空闲,1为忙),FDATA_ENABLE为数据发送和接收指令信号控制器到系统(为0时,不能与SDRAM收发数据;为1时,如果是系统读操作,此时系统可以从DAOUT接收SDRAM数据,如果是写操作,此时系统可以通过DAIN向SDRAM发送数据)。

  ---SDRAM控制器的结构组成如图2所示,包括四个模块:系统控制接口模块、CMD命令解析模块、命令响应模块、数据通路模块。

系统控制接口模块用于接收系统控制信号,然后生成不同的CMD命令组合; CMD命令解析模块,用于接收CMD命令并将其解码为操作指令;命令响应模块用于接收操作指令并生成SDRAM操作动作;数据通路模块用于控制数据的有效输入和输出。

  ---SDRAM控制器设计的状态机实现原理如图3所示,包含9个状态。

从Precharge到Mode set是SDRAM上电后的初始化过程,其余状态为SDRAM的正常读写。

并刷新操作流程。

  ● 各模块设计   ---(1)系统控制接口模块   ---该模块包含初始化机制和系统命令解析机制。

初始化机制不仅要完成SDRAM的初始配置,还要完成控制器的初始配置,使控制器工作在与外部SDRAM相同的模式下。

流程如下:在计数器的控制下,系统上电约μs后,首先进行SDRAM的初始配置,并通过一条Precharge allbank指令完成所有BANK的预充电,随后是多条Refresh指令,然后通过模式配置指令 LOAD_MODE ,完成SDRAM工作模式设置。

之后,进行控制器的初始配置。

首先发出 LOAD_REG1 指令将模式字加载到控制器中,然后发出 LOAD_REG2 指令加载控制器的刷新计数器值,完成控制器的初始配置。

  ---上述初始化过程完成后,系统命令分析机制可以接收并分析系统的读写信号和地址信息,以及下一个模块反馈的CMDACK信号,并生成相应的指令CMD命令和SADDR地址信息给CMD命令解析模块。

通过程序设置,可以根据初始配置的参数来决定在读或写的特定时刻是否发出Precharge或Refresh CMD命令,从而简化了系统的控制。

每当收到 CMDACK 为 1 时,就表示 CMD 命令已发出且有效。

此时,必须发出NOP命令(CMD=)。

应当注意,SADDR是时分复用的。

初始化加载模式时,使用SADDR来传输用户自定义的模式字内容;正常读写时,SADDR用作地址线,传输SDRAM所需的行。

、列和块地址。

另外,系统命令分析机制会根据控制器对SDRAM的操作状态,向系统用户反馈SDRAM_FREE和FDATA_ENABLE信号。

  ---(2)CMD命令解析模块   ---该模块对CMD命令进行判断,结果输出相应的操作命令信号给命令响应模块。

例如,当CMD为时,do_read信号输出为1,当CMD为时,do_write信号输出为1。

利用Verilog实现基于FPGA的SDRAM控制器

同时,仅输出一条有效操作指令。

  ------此外,该模块还包含用于预设某些模式参数的模式寄存器,主要包括三类: 第一类是SDRAM模式控制寄存器。

LOAD_MODE指令期间,将该寄存器的值发送到SDRAM的模式寄存器,以控制SDRAM的工作模式。

第二类是SDRAM控制器的参数寄存器(LOAD_REG1),它使SDRAM控制器的工作模式与外部SDRAM设备的工作模式相匹配。

第三类是SDRAM刷新周期控制寄存器,它预设一个用户自定义的自动刷新计数值,用于SDRAM刷新周期预设。

上述三类寄存器的预设值是在初始化时由系统控制接口模块通过SADDR传输的。

  ---(3)命令响应模块   ---该模块的功能是根据从CMD命令解析模块获取的操作指令,做出符合SDRAM读写规范的操作动作来执行用户期望。

手术;给出数据选通信号OE来控制数据路径模块(写操作期间OE为1,读操作期间OE为0)。

另外,该模块将系统的非复用地址ADDR处理成SDRAM复用地址,分时发送给SA和BA。

程序中地址复用方法为:   ---赋值 raddr = ADDR[ROWSTART + ROWSIZE -1:ROWSTART] //raddr 为行地址   ---赋值 caddr = ADDR[COLSTART + COLSIZE - 1: COLSTART] //caddr为列地址   ---赋值 baddr= ADDR[BANKSTART +`BANKSIZE -1:BANKSTART]//baddr为BANK地址   ---(ROWSTART, COLSTART, BANKSTART是 row, ADDR 中的列和块的起始位)   ---程序中 WRITEA 和 READA 的 CMD 指令实际上隐含了 ACTIVE 命令,所以模块收到 do_write 或 do_read 后会先激活命令。

Action,读写动作会在初始化配置中指定的CAS延迟时间后执行。

例如,初始化时,模式字指定CAS=2,BURST LENGTH=PAGE,那么从命令接口模块接收到do_write=1后,首先会执行激活动作并给出行地址(发出RAS_N=0,CAS_N =1,WE_N= 1,SA=raddr),2个时钟延迟后,进行写操作并给出列地址(发出RAS_N=1,CAS_N=0,WE_N=0,SA=caddr)。

  ---另外,模块收到各种操作指令后,会反馈cmdack信号给CMD命令解析模块为1,最后反馈给系统控制接口模块CMDACK信号为1。

如果没有收到操作命令,则 cmdack=0,CMDACK 信号为 0。

  ---(4) 数据通路模块   ---该模块由 OE 信号控制,同步数据的进出以及相应的时序操作说明。

当OE为1时,数据可以通过DQ引脚写入SDRAM;当OE为0时,可以从SDRAM的DQ引脚读出数据。

  ---控制器使用及仿真时序   ---根据不同的系统设计要求对SDRAM的读写,对控制器进行简单的参数修改(主要是初始化时模式内容字的设置),即可可以使SDRAM的控制满足您自己的要求。

该控制器使得系统对SDRAM的操作变得非常简单。

以写操作为例。

初始化后,只要SDRAM空闲,系统就会收到SDRAM_FREE有效信号。

此时可以发出FPGA_WR指令并给出ADDR地址信息。

收到FDATA_ENABLE有效的反馈后,系统将通过数据DAIN写入SDRAM,即写操作完成,系统不需要关心SDRAM的刷新和预充电。

仿真时序图如图4、图5和图6所示。

在写和读时序中,CAS=2,BURST LENGTH=PAGE,DC表示Don’t care。

  仿真结果表明,该控制器可以使系统对SDRAM的控制变得非常简单、方便。

  结论  ---在实际应用中,采用ALTERA的Cyclone FPGA器件进行设计,并使用Verilog完成设计输入,实现上述SDRAM控制器接口电路。

另外,由于采用了参数化设计思想,该控制器只要根据其器件参数进行设置,就可以适用于特定容量的SDRAM的特定工作模式,具有一定的通用性。

利用Verilog实现基于FPGA的SDRAM控制器

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 深度学习与企业知识管理:角色解析AI大模型

    深度学习与企业知识管理:角色解析AI大模型

    .wp-block-column h3{margin-left:0} 在当今信息爆炸的时代,企业知识管理已成为提高竞争力和创新能力的关键。 深度学习作为人工智能的重要分支,在企业知识管理中发挥着越来越重要的作用。 本文将深入探讨深度学习与企业知识管理的关系,以及大型AI模型在其中的应用和应用。

    06-18

  • 日本农村版“迪士尼”年收入54亿

    日本农村版“迪士尼”年收入54亿

    雊麦苗秀,桑蚕睡在桑叶里。 地里的丈夫拿着锄头来干活,他们相见并互相交谈。 城市的喧嚣和疲惫,总是让人向往乡村生活。 到乡村享受农家乐已经成为长期以来的流行趋势。 然而,随着农家乐衰落的趋势明朗,已有8万多家农家乐倒闭,这也代表着农村经济转型需要新的“下半场”

    06-18

  • 万达上市“慢跑”:多轮私募撑持建银国际等

    万达上市“慢跑”:多轮私募撑持建银国际等

    2月1日,证监会公布了申请首次公开发行股票的公司基本信息。 万达商业地产和万达院线位列其中,地位各异。 用于“初步审查”和“落实反馈”。 这是自2016年王健林正式启动万达内地上市计划以来最“确认”的进展。 外界一致判断,万达希望借此解开商业地产巨额资本积累的“死结

    06-18

  • 赢创与InnovationLab推出新型印刷柔性电池技术产品

    赢创与InnovationLab推出新型印刷柔性电池技术产品

    赢创在德国慕尼黑印刷电子展上展示可持续电池概念 新材料打造轻薄柔性储能设备 印刷固态电池具有超长使用寿命 特种化学品公司赢创近期推出了其新型印刷电池材料技术TAeTTOOz?,并与科技公司InnovationLab合作,在德国慕尼黑印刷电子在线展览会(LOPEC)上展示了基于该技术的

    06-06

  • 宜兴50亿基金来了

    宜兴50亿基金来了

    投资界(ID:pedaily)消息,2月21日,光大集团党委委员、副总经理、光大控股董事会主席、于法昌在香港光大中心会见无锡市委书记杜小刚。 双方就多领域合作、推动重点项目实施进行了友好交流和会谈。 据悉,双方举行了光大控股与宜兴市政府战略合作协议签约仪式,以及与宜兴环

    06-18

  • 星宇科技参加2019高交会,发布北斗高精度可穿戴解决方案

    星宇科技参加2019高交会,发布北斗高精度可穿戴解决方案

    第21届深圳高交会于11月17日圆满落幕。 在为期5天的展会中,星宇科技带来了北斗高精度系列可穿戴设备。 展品上,解决方案亮相,全球首款基于SoC芯片支持北斗高精度定位的可穿戴解决方案发布,让北斗高精度在现场掀起一波热潮!星宇科技CEO吕韶清发布了高精度可穿戴解决方案,

    06-18

  • 中信资本完成对学尔森国际教育集团的收购

    中信资本完成对学尔森国际教育集团的收购

    11月27日,中信资本控股有限公司私募股权投资部宣布,已完成对学尔森国际集团(以下简称“学尔森”)的收购)的控股权益。 此次收购由中信资本中国并购基金二号出资。   学而森于2006年在上海成立,是中国最大的建筑行业职业资格认证专业培训机构。 经过十年的发展,学尔森

    06-17

  • 利用新一代TILs疗法治疗实体瘤,金丰生物完成1000万美元Pre-A轮融资

    利用新一代TILs疗法治疗实体瘤,金丰生物完成1000万美元Pre-A轮融资

    11月13日消息,据36氪报道,金丰生物近日完成1000万美元Pre-A轮融资轮融资 A轮融资。 本轮融资的投资方主要为汉易资本和弘励创投。 募集资金将主要用于金丰生物技术平台升级、专利池建设及相关团队建设。 金丰生物科技是一家肿瘤细胞治疗产品开发商。 致力于精准细胞治疗领域

    06-18

  • 国家发展改革委:进一步做好基础设施领域房地产投资信托基金试点工作

    国家发展改革委:进一步做好基础设施领域房地产投资信托基金试点工作

    国家发展改革委7月2日发出通知,要求进一步做好房地产投资信托基金试点工作(房地产投资信托基金)在基础设施领域。 通知要求,及时对本地区基础设施REITs试点项目进行梳理汇总,符合条件的项目将纳入国家基础设施REITs试点项目库,确保全部纳入。 用好引导社会资本参与盘活

    06-18

  • 政府引导基金政策如何演变?全面解析五大趋势

    政府引导基金政策如何演变?全面解析五大趋势

    编者按:政府引导基金作为我国财政转型投资方式的重要创新,在推动产业发展、培育新经济新动能方面发挥着越来越重要的作用。 目前基金规模已经超过10万亿。 广州基金副总经理和新兴基金董事长黄舒萍结合工作实践,将政府引导基金分为三个发展时代:1.0、2.0、3.0。 他们分析统

    06-18

  • 瑞幸,一夜涨了30亿

    瑞幸,一夜涨了30亿

    不出意外,瑞幸确实涨了。 原因并不难理解。 瑞幸利用茅台酒,一个新品种开始流行。 在酱拿铁的带动下,瑞幸和茅台霸占了屏幕。 昨天(9月5日)瑞幸咖啡官方宣布,酱油拿铁单品首日销量破万杯,首日销售额破亿元,刷新单品新纪录。 这仅仅是个开始。 今天凌晨,瑞幸股价在美股

    06-18

  • 《堂吉诃德》完成亿元B轮融资,弘泰基金领投

    《堂吉诃德》完成亿元B轮融资,弘泰基金领投

    投资圈(ID:pedaily)11月30日消息,连锁商业数字化建设全栈协作平台《堂吉诃德》近期完成系列融资B轮融资1亿元,由洪泰基金领投,老股东58产业基金、蓝驰创投跟投。 本轮资金将主要用于技术研发、市场拓展和新业务建立。 “堂吉诃德”成立于2016年,由建筑科技行业巨头广联

    06-18