Popularny post FlyingDutch Napisano Kwiecień 21, 2019 Popularny post Udostępnij Napisano Kwiecień 21, 2019 (edytowany) Cześć, moje ostatnie próby z implementacją RISC-V (konkretnie projekt: BrieySoC) na płytce Mimas V.2 ze Spartanem 6 i pamięcią LPDDR na pokładzie skłoniły mnie ,aby lepiej poznać jak działa interfejs pamięci DDR dla FPGA Spartan 6. Tutaj linki do tej płytki : https://botland.com.pl/pl/moduly-i-zestawy-fpga/8603-mimas-v2-spartan-6-plytka-rozwojowa-fpga.html https://numato.com/product/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram Płytka ta ma "na pokładzie" układ FPGA Spartan XC6SLX9 ( CSG324 package), który to układ ma dwa sprzętowe kontrolery pamięci DDR oraz kostkę pamięci LPDDR o symbolu MT46H32M16LF. Jest to pamięć LPDDR (skrót od: Low Power DDR Memory) taktowana max. 166MHz, orgaznizacja 512Mb. W poście: https://forbot.pl/forum/topic/12529-licheetang-anlogic-eg4s20-fpga-board-risc-v/?page=4&tab=comments#comment-129692 opisuję moje zmagania z próbą uruchomienia architektury "RISC-V" - projekt "BrieySoC" na płytce Mimas V.2. Utknąłem z tym projektem właśnie z powodu nie-kompatybilnego z płytką MIMAS V.2 sterownika pamięci DDR. Postanowiłem więc poszukać w sieci tutoriala opisującego obsługę zewnętrznej pamięci DDR z poziomu układu FPGA Spartan6 i znalzłem ten link: https://hackaday.io/project/160637-learning-fpga-and-verilog-beginners-guide-part-6/details Przećwiczyłem ten tutorial i on rzeczywiście działa - składa się z dwóch części: 1) Generacja IP core do obsługi pamięci DDR z poziomu ISE 14.7 (dokładnie pakietu "Core generator") 2) Obsługa pamięci DDR z wykorzystaniem soft-procesora Microblaze i "Xilinx EDK" (Xilinx EDK jest płatnym narzędziem komercyjnym, ale można pobrać trial działający przez 30 dni) Stworzyłem ten post trochę dla siebie (aby był pod ręką w razie potrzeby), oraz dla innych użytkowników, którzy także będą mieli portrzebę obsługi pamięci DDR dla FPGA Spartan6. Przedtem ćwiczyłem dwa inne tutoriale dotyczące obsługi pamięci DDR z poziomu FPGA, ale tamte próby nie zakończyły się powodzeniem. Tutaj link do ogólnego opisu budowy pamięci SDRAM: https://www.electronics-notes.com/articles/electronic_components/semiconductor-ic-memory/sdram-synchronous-dram-what-is.php W załączniku spakowany projekt dla ISE 14.7 (Core Generator) z wygenerowanym sterownikiem pamięci DDR dla płytki Mimas V.2. Plik binarny projektu do konfiguracji FPGA znajduje się w katalogu; ..\DDRMemory01\ipcore_dir\s6_lpddr\example_design\par\example_top.bin , a cały projekt jest zbudowany według pierwszej wersji zamieszczonego tutoriala. DDRMemory01.zip Pozdrawiam Edytowano Kwiecień 21, 2019 przez FlyingDutch 3
Popularny post FlyingDutch Kwiecień 27, 2019 Autor tematu Popularny post Udostępnij Kwiecień 27, 2019 Cześć, wrzucam jeszcze kilka linków dot. szczegółów budowy pamięci SDRAM i budowy ich kontrolerów (z naciskiem na budowę kontrolera w układzie FPGA): https://en.wikipedia.org/wiki/Synchronous_dynamic_random-access_memory#Generations_of_SDRAM https://www.fpga4fun.com/SDRAM.html https://www.design-reuse.com/articles/13805/the-love-hate-relationship-with-ddr-sdram-controllers.html https://www.eetimes.com/document.asp?doc_id=1279726# https://www.eetimes.com/document.asp?doc_id=1274722 https://www.design-reuse.com/articles/20146/ddr-sdram-controller-ip.html https://www.eetimes.com/document.asp?doc_id=1274609&page_number=1 https://www.eevblog.com/forum/projects/anyone-designed-a-ddr-ram-controller/ https://opencores.org/projects/ddr_sdr https://opencores.org/projects/ddr2_sdram https://github.com/alonsorb/ddr-ram-controller-mig http://hamsterworks.co.nz/mediawiki/index.php/MCB_Frame_Buffer Myślę, że te linki będą pomocne, gdyby ktoś musiał obsłużyć pamięć SDRAM z poziomu układu FPGA. Pozdrawiam 3
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »