91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SDRAM 的相關(guān)操作詳細(xì)時序解析

西西 ? 來源:蝸窩科技 ? 作者:codingbelief ? 2020-09-22 15:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DRAM Device章節(jié)中,我們簡單介紹了 SDRAMActive、Read、Write 等的操作,在本中,我們將詳細(xì)的介紹各個操作的時序。

1. Overview

如上圖所示,SDRAM 的相關(guān)操作在內(nèi)部大概可以分為以下的幾個階段:

Command transport and decode

在這個階段,Host 端會通過 Command Bus 和 Address Bus 將具體的 Command 以及相應(yīng)參數(shù)傳遞給 SDRAM。SDRAM 接收并解析 Command,接著驅(qū)動內(nèi)部模塊進(jìn)行相應(yīng)的操作。

In bank data movement

在這個階段,SDRAM 主要是將 Memory Array 中的數(shù)據(jù)從 DRAM Cells 中讀出到 Sense Amplifiers,或者將數(shù)據(jù)從 Sense Amplifiers 寫入到 DRAM Cells。

In device data movement

這個階段中,數(shù)據(jù)將通過 IO 電路緩存到 Read Latchs 或者通過 IO 電路和 Write Drivers 更新到 Sense Amplifiers。

System data transport

在這個階段,進(jìn)行讀數(shù)據(jù)操作時,SDRAM 會將數(shù)據(jù)輸出到數(shù)據(jù)總線上,進(jìn)行寫數(shù)據(jù)操作時,則是 Host 端的 Controller 將數(shù)據(jù)輸出到總線上。

在上述的四個階段中,每個階段都會有一定的耗時,例如數(shù)據(jù)從 DRAM Cells 搬運到 Read Latchs 的操作需要一定的時間,因此在一個具體的操作需要按照一定時序進(jìn)行。

同時,由于內(nèi)部的一些部件可能會被多個操作使用,例如讀數(shù)據(jù)和寫數(shù)據(jù)都需要用到部分 IO 電路,因此多個不同的操作通常不能同時進(jìn)行,也需要遵守一定的時序。

此外,某些操作會消耗很大的電流,為了滿足 SDRAM 設(shè)計上的功耗指標(biāo),可能會限制某一些操作的執(zhí)行頻率。

基于上面的幾點限制,SDRAM Controller 在發(fā)出 Command 時,需要遵守一定的時序和規(guī)則,這些時序和規(guī)則由相應(yīng)的 SDRAM 標(biāo)準(zhǔn)定義。在后續(xù)的小節(jié)中,我們將對各個 Command 的時序進(jìn)行詳細(xì)的介紹。

2. 時序圖例

后續(xù)的小節(jié)中,我們將通過下圖類似的時序圖,來描述各個 Command 的詳細(xì)時序。

上圖中,Clock 信號是由 SDRAM Controller 發(fā)出的,用于和 DRAM 之間的同步。在 DDRx 中,Clock 信號是一組差分信號,在本文中為了簡化描述,將只畫出其中的 Positive Clock。

Controller 與 DRAM 之間的交互,都是以 Controller 發(fā)起一個 Command 開始的。從 Controller 發(fā)出一個 Command 到 DRAM 接收并解析該 Command 所需要的時間定義為 tCMD,不同類型的 Command 的 tCMD 都是相同的。

DRAM 在成功解析 Command 后,就會根據(jù) Command 在內(nèi)部進(jìn)行相應(yīng)的操作。從 Controller 發(fā)出 Command 到 DRAM 執(zhí)行完 Command 所對應(yīng)的操作所需要的時間定義為 tParam。不同類型的 Command 的 tParam 可能不一樣,相同 Command 的 tParam 由于 Command 參數(shù)的不同也可能會不一樣。

+

NOTE:
各種 Command 的定義和內(nèi)部操作細(xì)節(jié)可以參考前面的幾篇文章,本文將主要關(guān)注時序方面的細(xì)節(jié)。

3. Row Active Command

在進(jìn)行數(shù)據(jù)的讀寫前,Controller 需要先發(fā)送 Row Active Command,打開 DRAM Memory Array 中的指定的 Row。Row Active Command 的時序如下圖所示:

Row Active Command 可以分為兩個階段:

3.1 Row Sense

Row Active Command 通過地址總線指明需要打開某一個 Bank 的某一個 Row。

DRAM 在接收到該 Command 后,會打開該 Row 的 Wordline,將其存儲的數(shù)據(jù)讀取到 Sense Amplifiers 中,這一時間定義為 tRCD(RCD for Row Address to Column Address Delay)。

DRAM 在完成 Row Sense 階段后,Controller 就可以發(fā)送 Read 或 Write Command 進(jìn)行數(shù)據(jù)的讀寫了。這也意味著,Controller 在發(fā)送 Row Active Command 后,需要等待 tRCD 時間才能接著發(fā)送 Read 或者 Write Command 進(jìn)行數(shù)據(jù)的讀寫。

3.2 Row Restore

由于 DRAM 的特性,Row 中的數(shù)據(jù)在被讀取到 Sense Amplifiers 后,需要進(jìn)行 Restore 的操作(細(xì)節(jié)請參考DRAM Storage Cell文中的描述)。Restore 操作可以和數(shù)據(jù)的讀取同時進(jìn)行,即在這個階段,Controller 可能發(fā)送了 Read Command 進(jìn)行數(shù)據(jù)讀取。

DRAM 接收到 Row Active Command 到完成 Row Restore 操作所需要的時間定義為 tRAS(RAS for Row Address Strobe)。
Controller 在發(fā)出一個 Row Active Command 后,必須要等待 tRAS 時間后,才可以發(fā)起另一次的 Precharge 和 Row Access。

4. Column Read Command

Controller 發(fā)送 Row Active Command 并等待 tRCD 時間后,再發(fā)送 Column Read Command 進(jìn)行數(shù)據(jù)讀取。
數(shù)據(jù) Burst Length 為 8 時的Column Read Command 時序如下圖所示:

Column Read Command 通過地址總線 A[0:9] 指明需要讀取的 Column 的起始地址。DRAM 在接收到該 Command 后,會將數(shù)據(jù)從 Sense Amplifiers 中通過 IO 電路搬運到數(shù)據(jù)總線上。

DRAM 從接收到 Command 到第一組數(shù)據(jù)從數(shù)據(jù)總線上輸出的時間稱為 tCAS(CAS for Column Address Strobe),也稱為 tCL(CL for CAS Latency),這一時間可以通過 mode register 進(jìn)行配置,通常為 3~5 個時鐘周期。

DRAM 在接收到 Column Read Command 的 tCAS 時間后,會通過數(shù)據(jù)總線,將 n 個 Column 的數(shù)據(jù)逐個發(fā)送給 Controller,其中 n 由 mode register 中的 burst length 決定,通??梢詫?burst length 設(shè)定為 2、4 或者 8。

開始發(fā)送第一個 Column 數(shù)據(jù),到最后一個 Column 數(shù)據(jù)的時間定義為 tBurst。

5. Column Write Command

Controller 發(fā)送 Row Active Command 并等待 tRCD 時間后,再發(fā)送 Column Write Command 進(jìn)行數(shù)據(jù)寫入。數(shù)據(jù) Burst Length 為 8 時的 Column Write Command 時序如下圖所示:

Column Write Command 通過地址總線 A[0:9] 指明需要寫入數(shù)據(jù)的 Column 的起始地址。Controller 在發(fā)送完 Write Command 后,需要等待 tCWD (CWD for Column Write Delay) 時間后,才可以發(fā)送待寫入的數(shù)據(jù)。tCWD 在一些描述中也稱為 tCWL(CWL for Column Write Latency)

tCWD 在不同類型的 SDRAM 標(biāo)準(zhǔn)有所不同:

Memory Type tCWD
SDRAM 0 cycles
DDR SDRAM 1 cycle
DDR2 SDRAM tCAS - 1 cycle
DDR3 SDRAM programmable

DRAM 接收完數(shù)據(jù)后,需要一定的時間將數(shù)據(jù)寫入到 DRAM Cells 中,這個時間定義為 tWR(WR for Write Recovery)。

6. Precharge Command

在DRAM Storage Cell章節(jié)中,我們了解到,要訪問 DRAM Cell 中的數(shù)據(jù),需要先進(jìn)行 Precharge 操作。相應(yīng)地,在 Controller 發(fā)送 Row Active Command 訪問一個具體的 Row 前, Controller 需要發(fā)送 Precharge Command 對該 Row 所在的 Bank 進(jìn)行 Precharge 操作。

下面的時序圖描述了 Controller 訪問一個 Row 后,執(zhí)行 Precharge,然后再訪問另一個 Row 的流程。

DRAM 執(zhí)行 Precharge Command 所需要的時間定義為 tRP(RP for Row Precharge)。Controller 在發(fā)送一個 Row Active Command 后,需要等待 tRC(RC for Row Cycle)時間后,才能發(fā)送第二個 Row Active Command 進(jìn)行另一個 Row 的訪問。

從時序圖上我們可以看到,tRC = tRAS + tRP,tRC 時間決定了訪問 DRAM 不同 Row 的性能。在實際的產(chǎn)品中,通常會通過降低 tRC 耗時或者在一個 Row Cycle 執(zhí)行盡可能多數(shù)據(jù)讀寫等方式來優(yōu)化性能。

NOTE:
在一個 Row Cycle 中,發(fā)送 Row Active Command 打開一個 Row 后,Controller 可以發(fā)起多個 Read 或者 Write Command 進(jìn)行一個 Row 內(nèi)的數(shù)據(jù)訪問。這種情況下,由于不用進(jìn)行 Row 切換,數(shù)據(jù)訪問的性能會比需要切換 Row 的情況好。
在一些產(chǎn)品上,DRAM Controller 會利用這一特性,對 CPU 發(fā)起的內(nèi)存訪問進(jìn)行調(diào)度,在不影響數(shù)據(jù)有效性的情況下,將同一個 Row 上的數(shù)據(jù)訪問匯聚到一直起執(zhí)行,以提供整體訪問性能。

7. Row Refresh Command

一般情況下,為了保證 DRAM 數(shù)據(jù)的有效性,Controller 每隔 tREFI(REFI for Refresh Interval) 時間就需要發(fā)送一個 Row Refresh Command 給 DRAM,進(jìn)行 Row 刷新操作。DRAM 在接收到 Row Refresh Command 后,會根據(jù)內(nèi)部 Refresh Counter 的值,對所有 Bank 的一個或者多個 Row 進(jìn)行刷新操作。

DRAM 刷新的操作與 Active + Precharge Command 組合類似,差別在于 Refresh Command 是對 DRAM 所有 Bank 同時進(jìn)行操作的。下圖為 DRAM Row Refresh Command 的時序圖:

DRAM 完成刷新操作所需的時間定義為 tRFC(RFC for Refresh Cycle)。

tRFC 包含兩個部分的時間,一是完成刷新操作所需要的時間,由于 DRAM Refresh 是同時對所有 Bank 進(jìn)行的,刷新操作會比單個 Row 的 Active + Precharge 操作需要更長的時間;tRFC 的另一部分時間則是為了降低平均功耗而引入的延時,DRAM Refresh 操作所消耗的電流會比單個 Row 的 Active + Precharge 操作要大的多,tRFC 中引入額外的時延可以限制 Refresh 操作的頻率。

NOTE:
在 DDR3 SDRAM 上,tRFC 最小的值大概為 110ns,tRC 則為 52.5ns。

8. Read Cycle

一個完整的Burst Length 為 4 的 ReadCycle 如下圖所示:

9. Read Command With Auto Precharge

DRAM 還可以支持 Auto Precharge 機(jī)制。在 Read Command 中的地址線 A10 設(shè)為 1 時,就可以觸發(fā) Auto Precharge。此時 DRAM 會在完成 Read Command 后的合適的時機(jī),在內(nèi)部自動執(zhí)行 Precharge 操作。

Read Command With Auto Precharge 的時序如下圖所示:

Auto Precharge 機(jī)制的引入,可以降低 Controller 實現(xiàn)的復(fù)雜度,進(jìn)而在功耗和性能上帶來改善。

NOTE:
Write Command 也支持 Auto Precharge 機(jī)制,參考下一小節(jié)的時序圖。

10. Additive Latency

在 DDR2 中,又引入了 Additive Latency 機(jī)制,即 AL。通過 AL 機(jī)制,Controller 可以在發(fā)送完 Active Command 后緊接著就發(fā)送 Read 或者 Write Command,而后 DRAM 會在合適的時機(jī)(延時 tAL 時間)執(zhí)行 Read 或者 Write Command。時序如下圖所示:

Additive Latency 機(jī)制同樣是降低了 Controller 實現(xiàn)的復(fù)雜度,在功耗和性能上帶來改善。

11.DRAM Timing 設(shè)定

上述的 DRAM Timing 中的一部分參數(shù)可以編程設(shè)定,例如 tCAS、tAL、Burst Length 等。這些參數(shù)通常是在 Host 初始化時,通過 Controller 發(fā)起 Load Mode Register Command 寫入到 DRAM 的 Mode Register 中。DRAM 完成初始化后,就會按照設(shè)定的參數(shù)運行。

NOTE:
初始化和參數(shù)設(shè)定過程不在本文中詳細(xì)描述,感興趣的同學(xué)可以參考具體 CPU 和 DRAM 芯片的 Datasheet。

12. 參考資料

Memory Systems - Cache Dram and Disk

High Performance Dram System Design Constraints and Considerations

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SDRAM
    +關(guān)注

    關(guān)注

    7

    文章

    457

    瀏覽量

    57685
  • Controller
    +關(guān)注

    關(guān)注

    0

    文章

    398

    瀏覽量

    58375
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    406

    瀏覽量

    38859
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入解析LTC2924:高效電源時序控制器的卓越之選

    深入解析LTC2924:高效電源時序控制器的卓越之選 在電子設(shè)備的設(shè)計中,電源的有序供應(yīng)至關(guān)重要,它直接影響著設(shè)備的穩(wěn)定性和性能。LTC2924作為一款功能強(qiáng)大的電源時序控制器,為多電源系統(tǒng)的設(shè)計提
    的頭像 發(fā)表于 02-28 15:45 ?121次閱讀

    ST25R95近場通信收發(fā)器:特性、操作與應(yīng)用全解析

    (STMicroelectronics)推出的一款集成收發(fā)器IC,在接觸式應(yīng)用領(lǐng)域展現(xiàn)出了卓越的性能和豐富的功能。本文將對ST25R95的特性、操作模式、通信協(xié)議、命令以及電氣特性等方面進(jìn)行詳細(xì)解析,為電子工程師
    的頭像 發(fā)表于 02-28 14:10 ?93次閱讀

    256Mb x4、x8、x16 SDRAM特性解析與應(yīng)用指南

    、x8、x16 SDRAM相關(guān)特性、操作模式以及使用過程中的注意事項。 文件下載: MT48LC16M16A2P-75 D.pdf 一、SDRAM概述 256Mb
    的頭像 發(fā)表于 02-02 16:05 ?349次閱讀

    電子工程師必知:AS4C4M16SA-C&I SDRAM詳細(xì)剖析

    電子工程師必知:AS4C4M16SA-CI SDRAM詳細(xì)剖析 大家好,作為一名資深電子工程師,在硬件設(shè)計開發(fā)這條路上摸爬滾打多年,今天我想和大家詳細(xì)聊聊AS4C4M16SA-CI這款64M
    的頭像 發(fā)表于 01-22 11:50 ?370次閱讀

    如何評估SDRAM的有效帶寬

    在進(jìn)行電子系統(tǒng)設(shè)計時,我們經(jīng)常會用到SDRAM(SDR SDRAM或者DDRX SDRAM)作為緩沖單元,但是如何評估SDRAM的有效帶寬呢(評估有效帶寬才能夠了解當(dāng)前緩沖單元以及驅(qū)動
    的頭像 發(fā)表于 01-12 09:17 ?341次閱讀
    如何評估<b class='flag-5'>SDRAM</b>的有效帶寬

    DDR3 SDRAM參考設(shè)計手冊

    電子發(fā)燒友網(wǎng)站提供《DDR3 SDRAM參考設(shè)計手冊.pdf》資料免費下載
    發(fā)表于 11-05 17:04 ?8次下載

    在極海APM32系列MCU中如何把代碼重定位到SDRAM運行

    在有些情況下,我們想要把代碼放到SDRAM運行。下面介紹在APM32的MCU中,如何把代碼重定位到SDRAM運行。對于不同APM32系列的MCU,方法都是一樣的。
    的頭像 發(fā)表于 11-04 09:14 ?5175次閱讀
    在極海APM32系列MCU中如何把代碼重定位到<b class='flag-5'>SDRAM</b>運行

    vivado時序分析相關(guān)經(jīng)驗

    vivado綜合后時序為例主要是有兩種原因?qū)е拢?1,太多的邏輯級 2,太高的扇出 分析時序違例的具體位置以及原因可以使用一些tcl命令方便快速得到路徑信息
    發(fā)表于 10-30 06:58

    基于FPGA的DDR控制器設(shè)計

    DDR控制協(xié)議 DDR3讀寫控制器主要用于生成片外存儲器DDR3 SDRAM進(jìn)行讀寫操作所需要的時序,繼而實現(xiàn)對片外存儲器的讀寫訪問。由攝像頭采集得到的圖像數(shù)據(jù)通常數(shù)據(jù)量較大,使用片內(nèi)存儲資源
    發(fā)表于 10-21 14:30

    FPGA搭建DDR控制模塊

    DDR3讀寫控制器主要用于生成片外存儲器DDR3 SDRAM進(jìn)行讀寫操作所需要的時序,繼而實現(xiàn)對片外存儲器的讀寫訪問。由攝像頭采集得到的圖像數(shù)據(jù)通常數(shù)據(jù)量較大,使用片內(nèi)存儲資源難以實現(xiàn)大量圖像數(shù)據(jù)
    發(fā)表于 10-21 10:40

    用FPGA實現(xiàn)DDR控制模塊介紹

    DDR3讀寫控制器主要用于生成片外存儲器DDR3 SDRAM進(jìn)行讀寫操作所需要的時序,繼而實現(xiàn)對片外存儲器的讀寫訪問。由攝像頭采集得到的圖像數(shù)據(jù)通常數(shù)據(jù)量較大,使用片內(nèi)存儲資源難以實現(xiàn)大量圖像數(shù)據(jù)
    發(fā)表于 10-21 08:43

    F429同時使用SDRAM和SRAM?

    兩個總線能不能同時使用,用了華邦的SDRAM發(fā)現(xiàn)SDRAM數(shù)據(jù)高概率讀寫錯誤,但是用ISSI的沒問題。如果不對外部SRAM讀寫就正常。
    發(fā)表于 08-12 06:56

    FPGA時序約束之設(shè)置時鐘組

    Vivado中時序分析工具默認(rèn)會分析設(shè)計中所有時鐘相關(guān)時序路徑,除非時序約束中設(shè)置了時鐘組或false路徑。使用set_clock_groups命令可以使
    的頭像 發(fā)表于 04-23 09:50 ?1342次閱讀
    FPGA<b class='flag-5'>時序</b>約束之設(shè)置時鐘組

    DDR3 SDRAM配置教程

    DDR3 SDRAM(Double-Data-Rate ThreeSynchronous Dynamic Random Access Memory)是DDR SDRAM的第三代產(chǎn)品,相較于DDR2,DDR3有更高的運行性能與更低的電壓。
    的頭像 發(fā)表于 04-10 09:42 ?4172次閱讀
    DDR3 <b class='flag-5'>SDRAM</b>配置教程

    ?VLM(視覺語言模型)?詳細(xì)解析

    詳細(xì)解析: 1. 核心組成與工作原理 視覺編碼器 :提取圖像特征,常用CNN(如ResNet)或視覺Transformer(ViT)。 語言模型 :處理文本輸入/輸出,如GPT、BERT等,部分模型
    的頭像 發(fā)表于 03-17 15:32 ?8843次閱讀
    ?VLM(視覺語言模型)?<b class='flag-5'>詳細(xì)</b><b class='flag-5'>解析</b>