31 Ağustos 2008 , 13:36

1-Giriş

Bu yazıda verilog ile SRAM denetimi konusuna değineceğiz. Aslında yapılması gereken çok fazla birşey yok, SRAMlerin arayüzleri ve kullanımları gayet basit.

2-SRAM Nedir, Nasıl Çalışır?

Bu konuda Vikipedi’de çok güzel bir yazı var. Tavsiye ederim:

http://tr.wikipedia.org/wiki/SRAM

Bu uygulamada yapmak istediğimiz belleğin 0 - 5000 adresleri arasına 8 bitlik artan veri yazmak ve ardından da saniyede bir kere ilk adresten başlayarak yazdığımız veriyi bellekten okumak.

SRAM fiziki olarak deneme kartınızda bulunmasa bile SRAM’i FPGA içinde oluşturup kullanabilirsiniz. Xilinx’de bu Block RAM olarak geçiyor. Altera’da ise direk olarak RAM adı verilmiş. Ben de bu yazıda Spartan 3E500 Starter Kit kartımı kullandığımdan fiziki SRAM yerine Block RAM kullanacağım. Block RAM’in nasıl oluşturulduğuna Xilinx Core Generator ile Block RAM oluşturmak adlı yazımdan bakabilirsiniz.

3-Uygulama Kodları

sram_uygulamasi.v:

sram_uygulamasi.ucf:

4- Vidyo

(… ve gelecek projemin ne olduğu hakkında bir ipucu …)

5-Teşekkür, Tebrik ve 1. Geleneksel Kapanış Konuşması

Bu yazıda SRAM kullanımını bir adet örnek ile görmüş olduk. Kendi oyun konsolu projemde bu SRAM denetleyiciyi kullanmayı planlıyorum.

Umarım işinize yarar. Kolay gelsin. İyi çalışmalar.

6- Super Mario Bros. 3 - King of Koopas (Bowser) Melodisi

Çok güzel evet BRAM denetlediğinizi sandınız ama… acaba cidden denetlediniz mi? Hayır! Block RAM’i ISE kaçırdı :D

Xilinx ISE otomatik olarak yaptıklarınızı sildi ve sayaçlar yerleştirdi -çünkü mantıklı olan bu, ama bazen mantıksız olarak da silebiliyor, dikkat edin-. Yani Block RAM kullanılmadı. Hmm… peki bunu nasıl mı anlarız? Bir süredir ISE kullanıyorsanız zaten yeterince şüphecisinizdir ama değilseniz RTL şemasına bakmanız yeterli:

brk_sematik.JPG

Kodda biraz değişiklik yaparak ISE’nin optimizasyon yapmamasını sağlayalım :D (ledler <= sram_veri_giris; satırını ledler <= ledler ile değiştiriyorum). Buyrun düzgün kodumuz:

7- Kodlar

sram_uygulamasi.v: sram_uygulamasiv.txt

sram_uygulamasi.ucf: sram_uygulamasiucf.txt

8- Son

Umarım işinize yarar. Kolay gelsin. İyi çalışmalar. Bu sefer cidden son :D .

Yorumlarınız bazı xhtml kodlarını içerebilir. İsim ve e-posta adresini(yayınlanmayacak) girmek zorunludur, web sitenizi yazmak size kalmış.