0% found this document useful (0 votes)
224 views59 pages

ASU DDR5 Digital Presentation

Uploaded by

neethu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
224 views59 pages

ASU DDR5 Digital Presentation

Uploaded by

neethu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Double Data Rate 5 Physical layer

(DDR5 PHY)
Supervised by: Dr. Hesham Omran
Sponsored by : Si-Vision
Presentation date: Jul 18, 2022
DDR5 PHY
OUTLINE
1. Introduction to Memories.
2. Standard Specifications.
3. DDR5 PHY Blocks.
4. System Integration.
5. FPGA flow.

Jul 18, 2022 2


Memories

• Memory is a device or system that is used to store data in computer or related computer
hardware and digital electronic devices.

• The data is stored as a stream of bits and each bit is either a zero or a one.

• The smallest storing element in the memory can store only 1 bit, it is called “cell”.

• We are interested in Random Access Memory (RAM) .

Jul 18, 2022 3


Structure of DRAM

Jul 18, 2022 4


DIMM structure

DIMM structure showing chips, banks and arrays(3)

Jul 18, 2022 5


SDRAM Types

• SDRAM was first known as SDR SDRAM since data is transferred only once in each clock cycle.

• DDR SDRAM (Double Data Rate) is the advanced version of SDRAM that transfers data on both the rising
and falling edges twice as fast as compared to SDR SDRAM chips.

• After the introduction of DDR new generations were introduced (DDR2 : DDR5), these generations have
different internal structure to achieve higher data rates.

Jul 18, 2022 6


DDR subsystem

PHY connecting the MC to DRAM(4)

Jul 18, 2022 7


DDR5 PHY
OUTLINE
1. Introduction to Memories.
2. Standard Specifications.
1. Standards.
2. Frequency ratio
3. Subsystem point of view.
4. Write operation Flow.
3. DDR5 PHY Blocks.
4. System Integration.
5. FPGA flow.

Jul 18, 2022 8


Standards

• The DDR PHY Interface (DFI) is an interface protocol that defines the signals, timing parameters
and programmable parameters.

• The DFI specify the signals between MC and PHY, these signals is organized to interface groups,
within each interface group are signals and parameters. Some signals are applicable only to
certain DRAM types. All of the DFI signals must use the corresponding parameters.

• Joint Electron Device Engineering Council (JEDEC) standard defines the “DDR5 SDRAM”
specifications

Jul 18, 2022 9


Frequency ratio

Frequency ratio 1:2 and 1:4 from DFI v5.0 - Frequency Ratio Clock Definition(1)

Jul 18, 2022 10


CRC Flow

• CRC can be generated by MC or PHY “default MC”

• PHY defines the value of PHY crc_mode and according to this value CRC is handled
o PHY crc_mode = 0 → CRC generation is handled in the MC
o PHY crc_mode = 1 → CRC generation is handled in the PHY

• In BC8 mode, read CRC and write CRC bits are calculated with the inputs to the CRC engine for the
chopped data bursts replaced by all '1's, as shown in figure 16.

Jul 18, 2022 11


Sub system point of view

• Signal mapping:
o Dfi_address -> CA [13:0].
o Dfi_cs_n -> CS_n.
o Dfi_wrdata -> DQ.
o Dfi_wrdata_mask -> DM.
o Dfi_reset_n -> RESET_n.

Jul 18, 2022 12


Whole Write operation flow from MC to DRAM

Jul 18, 2022 13


DDR5 PHY
OUTLINE
1. Introduction to Memories.
2. Standard Specifications.
3. DDR5 PHY Blocks.
1. Frequency Ratio.
2. Command Address.
3. Write Manager.
4. CRC
4. System Integration
5. FPGA flow

Jul 18, 2022 14


Block Diagram

Jul 18, 2022 15


Frequency Ratio Block Diagram

Jul 18, 2022 16


Timing Diagram

Jul 18, 2022 17


Block Architecture

Jul 18, 2022 18


Simulation Results

Jul 18, 2022 19


Command Address Block Diagram

Jul 18, 2022 20


Timing Diagram

This case is mode register write command to change pre-amble and post-amble followed by
another mode register write command to change the dram CRC enable.

Jul 18, 2022 21


Block Implementation

• We introduced two approaches to implement this block:


o First approach is to implement this block using finite state machine (FSM), the FSM is
consist of 4 states.

Jul 18, 2022 22


Block Implementation

o Second approach is implementing the block using a combinational and sequential


elements, e.g. multiplexers and registers.

Jul 18, 2022 23


Simulation Results

This case is write command followed by mode register write command to change pre-amble and
post-amble after that mode register write command is inserted to change the dram CRC enable.

Jul 18, 2022 24


Design Optimization

The block is synthesized on Design Compiler (DC) using 130 nm technology.

Design parameter First Approach Second Approach


Number of combinational cells 213 187

Number of sequential cells 51 52

Number of cells 264 239

Total area (um)2 88700 84500

Total dynamic power (mW) 1.68 1.67

Cell leakage power (uW) 2.5 2.2

Total power (mW) 1.689 1.675

Longest path slack (clk period 30 +0.02 +2.95


ns)

Jul 18, 2022 25


Write Manager Block Diagram

Jul 18, 2022 26


Write Manager Internal Connections

Jul 18, 2022 27


Write FSM Module Block Diagram

Jul 18, 2022 28


Write FSM State Diagram

Jul 18, 2022 29


Write Shift Block Diagram

Jul 18, 2022 30


Write Shift block Functionality and Description

• This block is responsible for 3 main operations:


1. Shifting preamble pattern.

Jul 18, 2022 31


Write Shift block Functionality and Description
2. Calculating gap (no of cycles at which write enable is low):
o When wr_en_i becomes low, counter will start to count, the value of counter will be stored in gap_register.
o After wr_en_i becomes high, we will reset the counter and check the value stored in register to detect the
correct interamble_pattern according to the gap value.
3. Shifting interamble pattern.

Jul 18, 2022 32


Write Counters Block Diagram

Jul 18, 2022 33


Write Counters Functionality and Implementation

• Write counters block is responsible for:


o generating done signals which will be used in transitions between different states in write FSM block.
o Determining either if there will be an inter-amble or not.
o Determining whether there will be a CRC code generation to the DRAM or not.

• This block consists of 3 counters:


o Preamble Counter
o Write Data Counter
o Interpost Counter

Jul 18, 2022 34


Counter 1: Preamble Counter

• Pre-amble counter works simultaneously with write enable signal independent on the state.
• Activating write enable signal means there is a data coming after 6 cycles. So, preamble
counter start counting

Jul 18, 2022 35


Counter 2: Write Data Counter

• write data counter only counts in data state especially when write enable is de-activated.
• After 5 cycles from de-activating write enable in data state, the full data burst will finish, and a
done signal will be activated high telling the controller to move from data state.

Jul 18, 2022 36


Counter 3: Interpost Counter

• This counter counts only during inter-amble state and post-amble state.
• Post-amble and inter-amble states cannot occur at same time. This illustrates the reason for
using one counter for them both.

Jul 18, 2022 37


Simulation Results

This case is burst length 16 (BL16) with PHY CRC generation.

Jul 18, 2022 38


Simulation Results

This case is burst length 8 (BL8) with PHY CRC generation.

Jul 18, 2022 39


Simulation Results

This case is burst length 16 (BL16) with Mask operation.

Jul 18, 2022 40


Optimization

First Approach Second Approach


Number of cells 629 474
Number of combinational cells 515 408
Number of sequential cells 111 63
Combinational area(um)2 6036.47 3427.72
Total cell area(um)2 8291.02 5099
Total area(um)2 197,011.97 170,580.64
Switching Power(mW) 0.48 0.25
leakage Power(uW) 8.20 3.95
Total Dynamic Power(mW) 1.18 0.55
slack 0.00 (MET) 0.8 (MET)

Jul 18, 2022 41


CRC Block Diagram

Jul 18, 2022 42


First approach architecture: XOR CRC

Jul 18, 2022 43


Second approach architecture : Feedback CRC

Jul 18, 2022 44


Timing diagram

Jul 18, 2022 45


Online Calculator
pDRAM_SIZE = 8 (x8), burst length = 16 (BL16)

• The input is: 128’b 1010_1011_1001_1000_1100_1101_0111_0110_1110_1111_0101_0100_1010_1011_


0011_0010_1100_1101_ 0001_0000_1110_1111_1001_1000_0111_0110_0101_ 0100_0011_0010_0001_0000
• We divided the CRC 16 bits generation into two 8 bits generation

Jul 18, 2022 46


Simulation result
pDRAM_SIZE = 8 (x8), burst length = 16 (BL16)

Jul 18, 2022 47


Optimization

The block is synthesized on Design Compiler (DC) using 130 nm technology.

First approach Second approach


Number of cells 1724 1394
Combinational area(um)2 22539.68 19474.38
Total cell area(um)2 31612.04 21061.75
Total area(um)2 556474.56 454643.93
Cell Internal Power(uW) 3.9411 1.8187
Total Dynamic Power(mW) 5.6164 4.9514
data required time 2.63 2.56
slack -0.26 0.00

Jul 18, 2022 48


DDR5 PHY
OUTLINE
1. Introduction to Memories.
2. Standard Specifications.
3. DDR5 PHY Blocks.
4. System Integration.
1. Timing Diagram.
2. Parameters value.
3. Simulation Result.
5. FPGA flow.

Jul 18, 2022 49


Timing Diagram

• Timing diagram of two back to back write operation with frequency ratio of 1:2 and burst
length 16 (BL16) with CRC generated from PHY.

Jul 18, 2022 50


Timing parameters

Timing parameter Value (clk) Min/Max (clk) Controlled by Description


tctrl_delay 2 0/- a Frequency ratio Each block
block and command registering the
address block outputs.
tphy_wrlat 0 0/- a Command address The block doesn’t
block need this delay to
handle the
command
tphy_wrdata 6 0/- a Write data block We need this delay
to calculate the
inter-amble
correctly

a. The minimum supportable value is 0; the DFI does not specify a maximum value. The range of values
supported is implementation-specific.

Jul 18, 2022 51


Simulation Result

• Frequency ration 1:2 ,Burst length = 8 ,phy CRC support, with preamble: 3 CLK : “000010” ,
and post-amble : “0000” inter-amble : “10”

Jul 18, 2022 52


DDR5 PHY
OUTLINE
1. Introduction to Memories.
2. Standard Specifications.
3. DDR5 PHY Blocks.
4. System Integration.
5. FPGA flow.

Jul 18, 2022 53


FPGA design flow

Design and RTL Simulation synthesis PnR

Post
Testing Programming Timing analysis implementation
simulation

Jul 18, 2022 54


Post implementation simulation (zoomed)

• The output changes after rising edge by 10 ps.

Jul 18, 2022 55


Conclusion

• We have studied different versions of DDR and we started reading the standards (DFI and
JEDEC).
• We extracted the required specification to implement the write operation and CRC operation
and proposed a design for the PHY system.
• The RTL of each block was implemented using System Verilog (SV) and each block was tested
using ModelSim and VCS.
• The system was synthesized on DC compiler and the area, power and maximum timing were
reported.
• We have gone through FPGA design flow.

Jul 18, 2022 56


Future work

• generating verification environment.


• performing design for testability (DFT) for our system.
• going through PnR flow till generating GDSII files.

Jul 18, 2022 57


References

1. DDR PHY Interface DFI 5.0 Specification.


2. JEDEC STANDARD JESD79-5A.
3. Random Access Memory. Youtube channel “Computer science”. Last accessed 27th June
2022: https://www.youtube.com/playlist?list=PLTd6ceoshpreE_xQfQ-akUMU1sEtthFdB
4. DDR-PHY Interoperability Using DFI. Synopsys. Last accessed 27th June 2022:
https://blogs.synopsys.com/vip-central/2016/09/06/ddr-phy-interoperability-using-dfi/
5. Classification of Memory. JavaTpoint. Last accessed 23th Nov 2021:
https://www.javatpoint.com/classification-of-memory
6. DRAM Operation: how does dynamic RAM work. Electronics notes. Last accessed 11th Nov
2021: https://www.electronics-notes.com/articles/electronic_components/semiconductor-
ic-memory/dynamic-ram-how-does-dram-work-operation.php
7. Linda Rosencrance. DIMM (dual in-line memory module). TechTarget. Last accessed 18th
Nov 2021:https://www.techtarget.com/searchstorage/definition/DIMM

Jul 18, 2022 58


THANK YOU…

You might also like