找回密码
 注册
关于网站域名变更的通知
查看: 176|回复: 2
打印 上一主题 下一主题

FPGA开发板为什么要使用SDRAM

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-28 14:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
SDRAM有一个同步接口,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线同步。时钟被用来驱动一个有限状态机,对进入的指令进行管线(Pipeline)操作。这使得SDRAM与没有同步接口的异步DRAM相比,可以有一个更复杂的操作模式。

9 o; s. H! I8 w, t管线 意味着芯片可以在处理完之前的指令前,接受一个新的指令 。在一个写入的管线 中,写入命令在另一个指令执行完之后可以立刻执行,而不需要等待数据写入存储队列的时间。在一个读取的流水线中,需要的数据 在读取指令发出之后固定数量的时钟频率后到达,而这个等待的过程可以发出其它附加指令。这种延迟被称为等待时间(Latency),在为计算机购买内存时是一个很重要的参数。
  B0 r4 \) |" s$ s& M2 l$ o; U% ]0 R; s' o3 ?
SDRAM在计算机中被广泛使用,从起初的SDRAM到之后一代的DDR(或称DDR1),然后是DDR2 和DDR3 进入大众市场,2015年开始DDR4进入消费市场。如UMI型号 UD408G5S1AF的一款8Gb 32位 DDR4 SDRAM,是一款支持使用在英特尔Arria 10 SoC FPGA以及Kintex Ultrascale FPGA中的存储器。32位 DDR4 SDRAM非常适合边缘类计算,或对PCB面积有紧凑要求的深度学习计算设备。
英尚微支持32位DDR4 SDRAM送样及测试.
( F2 N* M, i# L% T1 q4 u3 N

4 b9 _6 ]' Q# v
为什么要使用内存控制器?动态内存的驱动比静态内存的驱动更加复杂...我们需要行,列和存储体以及刷新周期来处理。但是由于SDRAM的高速性和低单位成本使其引人注目。
9 s! {2 ]( G- T. q# t) v& i
) u0 W9 z- d5 M/ T" E% f4 c3 K  G- @因此我们需要的是一种访问SDRAM的方法,但是要易于使用静态内存。这就是创建内存控制器的原因。它们充当转换层:一方面,它们为用户提供了易于使用的内存接口,然后进行了繁琐的工作来驱动真实的SDRAM信号。/ ~8 t- |1 i+ h  D0 L7 O0 h

& \3 m3 f) w0 a5 R; t8 [6 v! ^
SDRAM引脚如果我们看一下SDRAM的引脚,那么会有一些新来者。5 D/ E- N/ d" {7 H- X! K5 @, X  ?
9 C/ b; m4 K  `, E4 V% Y! h9 C/ I! ~

7 N" Z3 V1 U& J! K; |( i. D* r3 q
地址和数据总线仍然存在,但是地址总线只有11位(用于提供要打开的行,然后提供列地址)。BA引脚指定了存储区(由于在我们的示例中只有2个存储区,因此我们仅需要一个引脚)。WE,CAS和RAS一起用作命令引脚,因此我们可以向SDRAM发送8个不同的命令(命令包括“打开行”,“读取”,“写入”和“关闭行”)。使用了其他一些引脚(但未在图片上显示),例如时钟,片选,字节使能...
1 R( V- }" V* t* Y" X
" E9 A' b" M7 e, M9 s请注意,在动态内存中,“打开行”称为激活,“关闭行”称为预充电。

7 T6 e# G+ T: c: w3 \0 P8 w. p* H
, {+ F) l" d0 V7 V% a
刷新
SDRAM是动态存储器:由于每个存储器位值(0或1)都保存在一个微小的电容器中,电荷随时间衰减,因此需要定期刷新其内容。但是衰减率足够低,只要定期对其进行读取和重新写入(“刷新”),制造商就可以保证不会丢失任何数据。* Q  t1 N- M/ m" f
2 P; S7 v8 N5 Q. O% f
有两种刷新机制
+ J6 ~2 ]1 n2 C4 h8 T$ G( U· FPGA将“自动刷新”命令发送到SDRAM。! X7 H) j, A3 j: C1 d; y  @/ |
只要确保它定期完成(SDRAM数据表会告诉您最小刷新频率)。3 d( R2 u, ~2 F& g- W2 m

" C7 }# |7 _# g1 p6 `$ \5 ?( [  A· FPGA“经常”访问每一行。1 y) ?0 S- U3 b8 T, I) F+ M6 V
打开一行会导致SDRAM中的“感测放大器”获得该行所有电容器电荷的副本。然后,当该行关闭时,较早检测到的值将被复制回电容器中,从而刷新过程中的数据。

/ u3 a4 N( x; [

该用户从未签到

2#
 楼主| 发表于 2020-6-28 14:32 | 只看该作者
8Gbit DDR4(x32bit)_Datasheet_v1.0.pdf (1.49 MB, 下载次数: 0)
+ N+ A. Y9 r7 H1 N5 f. U! C

该用户从未签到

3#
 楼主| 发表于 2020-6-28 14:34 | 只看该作者
有两种刷新机制8 j2 u+ t" f5 k3 i, E6 A
· FPGA将“自动刷新”命令发送到SDRAM。3 E. G! C3 e5 L3 d. P& |
只要确保它定期完成(SDRAM数据表会告诉您最小刷新频率)。8 H# n2 M* r0 a% }3 o

, I2 X8 C) T0 C2 c· FPGA“经常”访问每一行。
8 }1 L5 b/ C: F( R5 o打开一行会导致SDRAM中的“感测放大器”获得该行所有电容器电荷的副本。然后,当该行关闭时,较早检测到的值将被复制回电容器中,从而刷新过程中的数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-21 13:21 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表