1- Giriş:
Bu yazıda Xilinx’in Spartan3E 500 FPGA’i için belirli boyutta bir Block RAM oluşturcağız. Block RAM (BRAM) Xilinx FPGA entegrelerinin içinde bulunan özel amaçlı bellek birimlerine verilen addır. Block RAM birimlerini oluşturabilmek için çeşitli yöntemler mevcut. Mesela bir verilog kodunuz sentezlendikten sonra çıktıda siz direk olarak belirtmeseniz bile BRAM oluşturulmuş olması mümkün, aslında yazdığınız verilog kodu ile BRAM tasviri yapıyorsunuz ama farkında değilsiniz :P. Neyse… Biz zaten o tür durumlarla bu yazıda ilgilenmeyeceğiz, Xilinx Core Generator kullanarak Block RAM oluşturacağız.
2- Block RAM oluşturalım:
Çok fazla anlatılacak bir durum yok, ben susayım resimler konuşsun 😛 . Gerektiğinde ben aralara gireceğim :D.
– Xilinx Core Generator’u açalım ve yeni bir proje oluşturalım. Verilog dilini kullandığımızı belirtmeye ve doğru FPGA entegre modelini seçmeye dikkat edelim.
– Block RAM oluşturmak istediğimizi belirtelim ve “customize” düğmesine tıklayalım. “view datasheet” bağlantısına basarak veri sayfalarını da okumanızı tavsiye ederim. Eminim faydalı olacaktır.
– BRAM birimimize bir isim verelim, tek kapılı BRAM oluşturmak istediğimizi ve en az yer kaplayacak şekilde bir BRAM çıktısı istediğimizi belirtelim.
– 8 bitlik girdi ve çıktı kapısı, ve 5000 adres istediğimizi belirtelim.
– Next-Next-Finish tuşlarına basarak diğer pencereleri geçmemizin bir sakıncası yok. Finish tuşuna bastıktan sonra bir süre BRAM’in oluşturulması için beklememiz gerekiyor.
BRAM oluşturulduktan sonra oluşturulan .v dosyasını normal bir belleğe bağlanabiliyormuş gibi kullanabilirsiniz.
3- Son:
Bu yazıda kısaca Block RAM nasıl oluşturulur ve Xilinx Core Generator nasıl kullanılır gördük.
Umarım işinize yarar. İyi kodlamalar.