Constructing Effective UVM Testbench For DRAM Memory Controllers
Constructing Effective UVM Testbench For DRAM Memory Controllers
net/publication/329654194
CITATIONS READS
5 1,003
2 authors, including:
Khaled Salah
Siemens
134 PUBLICATIONS 259 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
A Power Optimization Technique for RTL Designs Based on SystemVerilog Assertions View project
All content following this page was uploaded by Khaled Salah on 16 January 2019.
TABLE I
MEMORY CONTROLLERS FEATURES
Index Terms — UVM, DRAM, Verification, Features Explanation
Architecture. Topology Point to point, or multi-master/ multi-slave.
Physical interface Pins.
Initialization process Start operation and negotiation.
I. INTRODUCTION Command Sets • Read
• Write
• multiple read
As verification is now considered as the bottleneck of • multiple write
any complex VLSI design. So, improving the verification • Activate
efficiency is a must. Due to the exponential growth in • Refresh
design complexity, verification is facing a new level of Responses Types and size.
challenges. Mainly, there are two levels of verification, Internal registers Information about the memory controllers.
IP-level verification and SoC-level verification. For IP- Data rate DDR/ SDR.
Timing The time between different commands,
level verification, we need to verify the functionality. For responses, and data.
SoC-level verification, we need to verify the connectivity. Reliability CRC/ECC.
The verification cycle is mainly driven by time to market. Performance In terms of clock frequency.
A host controller is interested in correct and successful
communication with the device, high data through-put TABLE II
and in saving power. COMPARISON BETWEEN THE MOST COMMON
ARCHITECTURE IN TERMS OF COMMANDS
Memory controllers are considered a vital component in
3D 2D
many VLSI designs. They provide an efficient interface Features HMC WideIO LPDDRx DDRx
between the memory cores and the host in terms of Read
maximizing transfer speed, processing data, ensuring data
integrity. Memory controllers can be flash-based or Write
DRAM-based. DRAM memory controllers’ examples are Command queuing
DDRx, LPDDRx, HMC, HMB, and WIDEIO [1]-[6]. The Retry
architecture of these different controllers has many
Power management
common features. TABLE I shows the main memory
Sleep
controllers features.
Power down
Deep power down
self-refresh
TABLE III
COMPARISON BETWEEN DIFFERENT DRAM MEMORY CONTROLLERS
HMC WIDEIO LPDDRx DDRx
Number of banks 8/16 Banks 4 Banks 16 banks 8 banks
Technology 3D 3D 2D 2D
Memory Cells DRAM DRAM DRAM DRAM
# Memory partitions 1 partition 1 partition 1 partition 1 partition
Modes of operations • Initialization • Idle • Idle • Idle
• Sleep • Active • Active • Active
• Active • Power Down • Power • Power
• Power • Deep Power
Down Down
Data Integrity CRC ECC CRC CRC
Number of Registers 15 8 64 64
Size of registers (bits) 32 19 8 8
Number Of Pins 29 48 12 12
179
3
IV. CONCLUSIONS
REFERENCES
180
4
181