DDR3 Bellek Yapıları ve Devre Tasarımı

PCB Tasarımında DDR3 Arayüzleri ve Topolojileri 

Bellek yapısının kritik olduğu elektronik sistemlerde DDR3 (Double-Data Rate9 RAM belleklerinin sıklıkla tercih edilme sebebi düşük güç tüketimleri, yüksek sinyal hızları ve geniş bantgenişliğine sahip haberleşme kapasiteleridir. DDR bellek çipleri-sistemleri kontrolcü, PHY ve IO arayüzleri barındırır. Bu yapılarından ve kapasitelerinden ötürü de haberleşme cihazlarında, hızlı teknolojiye sahip ürünlerde SoC çiplerin kritik komponenti olarak yer alırlar. Ufak yapıda ve hızlı hafızaya sahip DDR bellekler daha ufak footprintler ve düşük maliyet avantajı sağlarlar. İçinde kullanıldıkları cihazlar çalışırken SoC'taki işlemci, DDR belleklerin okuma ve yazma cycle'larını kullanırlar. Bu kritik komponentlerin düzgün çalışmaması durumunda tüm cihazın çalışma durumu sekteye uğrar.

DDR Arayüzü Data sinyalleri

DDR bellekler kaynak senkronizasyonlu arayüz data sinyalleri kullanırlar. Bellek ve kontrolcü clock sinyalinden ziyade "data strobe" kullanarak datayı yakalarlar. Yani bir data transferi gerçekleşeceği zaman yüksek data hızını elde edebilmek için strobe sinyalinin kenarları kullanılır. 

PCB layer stackup, delay matching, crosstalk, empedans ve timing gibi birbirine bağlı elektronik devre faktörleri (özellikle PCB yapısı için) DDR3 belllek devrelerindeki sinyal doğruluğunu ve gecikmeleri doğrudan etkileyen faktörlerdir. DDR3 kullanılan elektronik cihazların performansı gecikme eşleşmesine bağlıdır. Zamanlama gereksinimleri bu gecikme eşleşme olayını kontrol eder. PCB tasarımı DDR3 bellek arayüzleri için bir zamanlama bütçesine sahiptir. Zamanlama bütçesi şunları içerir:

  • Data Strobe/Data Strobe Low (DQS/DQS#) 'a   I/O data(DQ) ve data mask(DM) verileri için çift data oranında veri yazma
  • DQ ve DQS/DQS# için çift veri oranında veri okuma
  • Clock (CK/CK#)  durumuna tek veri oranında adresleme 
  • Clock (CK/CK#) durumuna tek veri oranında kotrol
  • Clock (CK/CK#)  için DQS/DQS# durumuna cross domain oluşturma

Bu maddelere istinaden DDR3 devreleri için tasarımın gecikme eşleştirme (delay matching) gereksinimlerinin karşılandığından emin olunmalıdır.

Kaynak-Senkronlu Mimari


DDR yapılarından önce SD-RAM yapıları kullanılıyordu. SD-RAM'den DDR1'e geçişte en büyük değişiklik, merkezi clock'a bağlı yapıdan Strobe yapısına geçilmesidir. Bu yapıda Data direk Clock'tan senkron olmak yerine araya giren bir DQS katmanını takip eder. Bu DQS katmanı da direk sistem clock'unun takipçisidir. Bunun en büyük faydası SD-RAM'deki merkezi clock yapısına göre  daha yüksek performans sunması olmuştur. Data ile Clock arasında ekstra bir takip katmanı devreye girmiştir. 

DDR1'de Data Strobe yapısına geçildiğinde single-ended Data Strobe kullanılıyordu. Bu yüzden yalnızca Data Strobe sinyalinin düşen ve yükselen kenarlarına bağlı çalışırdı yapı. Bu single-ended DQS yapısı daha etkili bir sinyalizasyon ve haberleşme için Data sinyali tarafından takip edilirdi. Böylece crostallk, sinyalde echo ve yansımaların büyük ölçüde önüne geçişmiş oldu. DQS sinyalinin kullanımı özellikle yüksek hızlı haberleşme seviyelerinde Data'nın clock sinyalini takibini büyük ölçüde kolaylaştırmıştır. Fakat bununla beraber sistemin kompleksite seviyesi de artmıştır. 

DQS yapısı, yüksek frekanslarda Data ve Clock arasında zamanlama optimizasonunu sağlamasına ve daha doğru zamanlamalar sunmasına rağmen bazen sistem clock ile arasında skew'ler oluşabilir. Çarpık ve yamuk sinyalizasyon oluşabilir. Bu yüzden de düzgün operasyonu sağlamak adına sistem clock ve DQS arasına "de-skewing" denen senkronizasyon lojik yapıları eklenebiliyor. 

DQS (Data Strobe) Kavramı Nedir?

Data Strobe (DQS) yapısı sistem clock'unu takip eden bir klavuzdur. Osilasyon şeklinde bir yapısı vardır. Bu osilasyon sinyali verinin nerde hangi durumda ve ne kadar süre bu durumda kalması gerektiğini belirtir. SDRAM yapılarından DDR1 yapılarına geçerken DQS sinyalleri ilk olarak single-ended yapıda idiler. Fakat sonrasında yüksek frekanslarda sinyalizasyonun daha verimli ve bozucu etkilerden korunabilmesi için DQS yapısı diferansiyel şeklini aldı. 

DDR3 Routing Tavsiyeleri

PCB çizimi yapılırken DDR bellek iletişim hatlarını belli bir sırayla götürmekte fayda var. Genelde Data-Address-Command-Control-Clock hizalaması kullanılır. Belli bir seviyede sinyal doğruluğunu sağlamak için her bir data hattını Ground bölgesine yakın götürmek gerekir ki geridönüş akımları için en düşük endüktans sağlansın ve sinyal doğruluğu optimize edilebilsin. Byte hatlarını (8li 16lı data sinyalleri) çizerken de bir bayt hattındaki sinyalleri her daim PCB anakartında bellek elemanının dizildiği katmandan çizmek kritiktir. Böylece daha az via kullanılarak data grubundaki her sinyalin grupla bütünlüğü sağlanmış olur. (Burada anlaşılan Top veya Bottom layer'da dizili olan RAM'lerin byte sinyallerinin bu katmanlardan çizilmesi ama pratikte genelde ara katmanlardan çiziliyor).  Biri via'dan geçip diğeri normal şekilde yoluna devam etmez böylece. Hep beraber yol alırlar.

FLY-BY Topolojisi

https://www.signalintegrityjournal.com/blogs/8-for-good-measure/post/473-ddr-memory-interface-basics

Anlık Anahtarlama Gürültülerinin Engellenmesi

DIMM ( Dual Inline Memory Module) RAM

Birden fazla dinamik RAM entegresinin dizili olduğu RAM modülleridir. PC'lerdeki RAM modülleri bu yapıdadırlar.


RAM Address Mirroring

Bir PCB'de RAM ve işlemci arasındaki bağlantıları çizerken adres ve data pinlerini eşleştirmek isteriz. Mükemmel bir eşleştirme yapmak istersek işlemci D0 sinyali RAM D0'a , işlemci A0 Adress sinyalini RAM A0 sinyaline bağlamak isteriz. Böylece güzel bir eşleme olur fakat bunun PCB layout çizimi tarafında bedelleri olabilir. RAM sinyali gibi hassas ve frekansı yüksek olan sinyalleri uzun hatlarla çizer ve çokça via'dan geçirmiş olursak bu hoş olmaz. O zaman eşleşmelere gerek kalmadan zaten devre düzgün çalışmayacak hale gelir. Bu yüzden minimum via ve kısa hatlarla RAM layout u çizmek kritik önem taşır. Dolayısıyla Mirroring yani Aynalama işlemi Layout çiziminde büyük kolaylıklar sağlayacaktır. Ancak dikkat edilmesi gereken nokta: DDR3 veya DDR4 türüne göre mirroring işlemine adres ve data hatlarında hangi oranda izin verildiğini bilmek lazım. Örneğin, 16 bit data hattına sahip bir DDR3 RAM çiziminde 16 adresin 0-9 arası kendi arasında 9-15 arası kendi arasında mirroring yapılabiliyordur ancak bu iki adres grubu arasında mirroring işlemine izin verilmiyordur. 


Kaynaklar


Yorumlar

Bu blogdaki popüler yayınlar

KV260 Kria Starter Kit Series: 3 - Petalinux Install and Boot

KV260 Kria Starter Kit Series: 1 - Power and Boot Up

KV260 Kria Starter Kit Series: 2 - Smartcam Application (Ubuntu)