Siła (w) pamięci Obsługa zewnętrznych pamięci SDRAM w układach Cyclone IV firmy Altera

Podobne dokumenty
Siła (w) pamięci on-chip Implementacje pamięci w układach Cyclone IV firmy Altera

ZL10PLD. Moduł dippld z układem XC3S200

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Altera MAX10: nowa generacja FPGA i jej nowe możliwości

Temat: Pamięci. Programowalne struktury logiczne.

To nie huragan, to Cyclone II!

Rysunek 1: Okno z lista

Pierwsze kroki z FPGA (2)

ZL19PRG. Programator USB dla układów PLD firmy Altera

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

2. Architektura mikrokontrolerów PIC16F8x... 13

Wstęp Architektura... 13

1 Moduł Bramki xcomfort

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

RODZAJE PAMIĘCI RAM. Cz. 1

1 Moduł Bramki xcomfort 3

Architektura komputerów

Programowalne Układy Cyfrowe Laboratorium

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Opracował: Jan Front

ISBN Copyright by Wydawnictwo BTC Legionowo 2008

Systemy na Chipie. Robert Czerwiński

MIKROKONTROLERY I MIKROPROCESORY

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

PROGRAMOWALNE STEROWNIKI LOGICZNE

Projektowanie z użyciem procesora programowego Nios II

Technika Mikroprocesorowa

SML3 październik

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Przykładowa aplikacja LOGO! 8 Cyfrowy termometr z sygnalizacją przekroczenia progów

FPGA z szybkimi interfejsami komunikacyjnymi

Architektura systemu komputerowego

USB DVB-T STICK. Instrucja obsługi. Watch & record Digital TV programs on Your PC! MT4152

WPROWADZENIE Mikrosterownik mikrokontrolery

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

Szkolenia specjalistyczne

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Spis treści. 1 Moduł RFID (APA) 3

Układy zegarowe w systemie mikroprocesorowym

dokument DOK wersja 1.0

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

System on Chip na miarę S P R Z Ę T

Popularne pamięci FLASH firmy GigaDevice

Instalacja i opis podstawowych funkcji programu Dev-C++

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

NXP ma nowe ARM-y. BlueStreak: co i jak

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Instrukcja użytkownika ARSoft-WZ1

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Opis przedmiotu zamówienia CZĘŚĆ 1

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Urządzenia zewnętrzne

Projektowanie Systemów Wbudowanych

CZĘŚĆ IV ZAMÓWIENIA DOSTAWA URZADZEŃ KOMPUTEROWYCH, EKRANÓW PROJEKCYJNYCH ORAZ PROCESOROWEGO CENTRUM MULTIMEDIALNEGO.

Laboratorium Komputerowe Systemy Pomiarowe

Wykład Mikroprocesory i kontrolery

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Parametryzacja przetworników analogowocyfrowych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

LEKCJA TEMAT: Zasada działania komputera.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

A7 TIG Orbital System 150

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

EDO-uP nowoczesny mikroprocesorowy ściemniacz oświetlenia wnętrza auta.

Cyfrowe układy scalone

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Dell Display Manager podręcznik użytkownika

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Rozdział 5. Administracja kontami użytkowników

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Cyfrowe układy scalone

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Transkrypt:

Siła (w) pamięci Obsługa zewnętrznych pamięci SDRAM w układach Cyclone IV firmy Altera Dodatkowe informacje: są dostępne u dystrybutora firmy Altera: EBV Sp. z o.o., www.ebv.com, tel. 71 3422944. Jedną ze sztandarowych cech współczesnych układów FPGA jest możliwość implementacji w nich dzięki specjalnym zasobom logicznym bloków szybkich pamięci RAM, ROM i FIFO, których jedyną wadą są ich relatywnie (w stosunku do powszechnie dostępnych w urządzeniach elektronicznych megabajtów ) niewielkie pojemności. Problem ten można bez większego trudu ominąć, a w jaki sposób pokażemy w artykule na przykładzie popularnych pamięci DDR SDRAM. Dołączenie do FPGA podobnie jak i do mikrokontrolera lub mikroprocesora pamięci zewnętrznej nie jest pozornie zadaniem specjalnie trudnym. Niestety, prostota staje się tym bardziej pozorna im nowocześniejszy rodzaj pamięci będziemy chcieli zastosować. Kłopoty zaczynają się już od SDRAM, niewiele łatwiejsze (przynajmniej na początku) jest korzystanie Tabela 1. Zestawienie wybranych zasobów układów Cyclone IV GX Cecha EP4CGX15 EP4CGX22 EP4CGX30 EP4CGX50 EP4CGX75 EP4CGX110 EP4CGX150 Liczba bloków LE 14400 21280 29440 49888 73920 109424 149760 Liczba wewnętrznych PLL 3 4 4 8 8 8 8 Maksymalna liczba linii I/O 72 150 290 310 310 475 475 Tabela 2. Zestawienie maksymalnych częstotliwości taktowania interfejsów pamięci oraz ich standardów obsługiwanych przez poszczególne rodziny FPGA Rodzina FPGA Typ pamięci DDR3 SDRAM DDR2 SDRAM DDR SDRAM RLDRAMII QDRII SRAM QDRII + SRAM Stratix V 1600 Mb/s 1 1600 Mb/s 800 MHz Stratix IV 1067 Mb/s 1 1600 Mb/s 533 MHz Stratix III 1067 Mb/s 1 1600 Mb/s 533 MHz Stratix II, Stratix 667 Mb/s 600 Mb/s 1200 Mb/s 1200 Mb/s II GX 333 MHz Stratix, Stratix GX Arria II GX 667 Mb/s 1000 Mb/s 1000 Mb/s 333 MHz 250 MHz 250 MHz Arria GX 466 Mb/s Cyclone IV Cyclone IIILS 300 Mb/s 600 Mb/s 150 MHz 150 MHz Cyclone III Cyclone II 86 ELEKTRONIKA PRAKTYCZNA 11/2010

Obsługa zewnętrznych pamięci SDRAM w układach Cyclone IV W kierunku ekonomii W aplikacjach, w których potrzebne są pamięci o większych pojemnościach i cenach niższych niż SSRAM, są zazwyczaj stosowane pamięci dynamiczne SDRAM (Sychronous DRAM) lub ich nowocześniejsze odpowiedniki SDRAM DDR, SDRAM DDR2 itp. Nowoczesne pamięci dynamiczz pełni możliwości oferowanych przez pamięci Flash. Z czego wynikają problemy? Przede wszystkim z konieczności skonfigurowania pamięci do pracy, programowania automatów sterujących ich działaniem w zależności od kontekstu operacji, a także konieczności odświeżania zawartości pamięci dynamicznych (jak wszelkiego rodzaju SDRAM). SDRAM, QDR, DDR: Cyclone IV da sobie radę! Zasoby logiczne dostępne w układach Cyclone IV umożliwiają implementacje w nich wielu, także bardzo zaawansowanych, projektów cyfrowych. O możliwościach współpracy układów FPGA z zewnętrznymi pamięciami decydują dwa zasadnicze czynniki: odpowiednio duża liczba dostępnych linii I/O, przystosowanie transceiverów w komórkach I/O do pracy w trybach czasowonapięciowych zgodnych ze stosowanymi w interfejsach I/O pamięci. W tabeli 1 pokazano zasoby dostępne w układach z serii Cyclone IV GX, w tym także w układzie EP4CGX15, który zastosowano w zestawie ewaluacyjnym Cyclone IV Transceiver Starter Board, który autor wykorzystywał do sprawdzenia działania implementowanych fragmentów projektów. W tabeli 2 zestawiono typy interfejsów pamięci obsługiwanych przez poszczególne układy FPGA firmy Altera oraz maksymalne częstotliwości taktowania transmisji danych wraz z uzyskiwanymi przepływnościami. Warto zwrócić uwagę, że układy z rodziny Cyclone IV GX nie obsługują pamięci z dostępem podzielonym na grupy za pomocą sygnałów DQS w liczbie powyżej 3, co wymaga stosowania do współpracy z nimi wyłącznie popularnych modułów DIMM z pamięciami DDR o organizacji x1 lub x2. SSRAM: wygodne, ale drogo Zastosowanie na zewnątrz FPGA szybkiej, synchronicznej pamięci RAM (SSRAM fotografia 1), jest wygodnym lecz drogim sposobem powiększenia zasobów pamięciowych systemu. Taką pamięć zastosowano m.in. w zestawie Cyclone IV Transceiver Starter Board (jest to układ IS61VP S102418A firmy ISSI), jej schemat blokowy pokazano na rysunku 2. Programowanie trybu pracy pamięci tego typu polega na generacji odpowiednich sekwencji sygnałów na liniach sterujących, a dzięki statycznej architekturze komórek pamięciowych użytkownik nie musi pamiętać o odświeżaniu jej zawartości, co znacznie upraszcza korzystanie z takich pamięci w aplikacjach. Niestety cena takiej pamięci jest dość wysoka (ok. 4 6krotnie wyższa niż SDRAM o tej samej pojemności), co wynika przede wszystkim z dużej powierzchni struktury półprzewodnikowej, a to z kolei jest efektem skomplikowanej budowy komórek pamięciowych, składających się z co najmniej 6 tranzystorów (a nie jednego jak w SDRAM). Pamięci w szybkich systemach cyfrowych W systemach taktowanych sygnałami zegarowymi o dużych częstotliwościach konieczne jest synchronizowanie pracy współpracujących ze sobą fragmentów, do czego jest wykorzystywany jeden z sygnałów zegarowych. Tak też się dzieje z szybkimi pamięciami RAM i DRAM, które pracują synchronicznie z systemowym sygnałem zegarowym. ne są zaawansowanymi, programowalnymi systemami cyfrowymi, których konfiguracja i obsługa przed rozpoczęciem właściwego funkcjonowania (czyli zapisu i odczytu danych) wymaga wielu zabiegów ze strony współpracujących z nimi mikrokontrolerów lub mikroprocesorów. Żeby ułatwić ich stosowanie w klasycznych aplikacjach system projektowy Quartus II wyposażono w miękkie interfejsy (IP cores) zintegrowane ze sterownikami pamięci SDRAM różnego rodzaju. Jak wykreować taki interfejs (HPC High Performance Controller), dostosowany do wymogów konkretnego typu współpracujących pamięci pokażemy w dalszej części artykułu. Fotografia 1. Pamięć SSRAM IS61VP S102418A firmy ISSI zastosowana w zestawie Cyclone IV Transceiver Starter Board Rysunek 2. Schemat blokowy pamięci IS61VPS102418A ELEKTRONIKA PRAKTYCZNA 11/2010 87

Zaawansowane interfejsy pamięciowe firmy Altera są oparte na uniwersalnej megafunkcji interfejsowej o nazwie ALTMEMPHY, która umożliwia budowanie interfejsów synchronizowanych jednym lub dwoma zboczami sygnału zegarowego, można ja skonfigurować do pracy w trybie burst z paczkami danych składającymi się z 4 lub 8 słów, ma też ona niezwykle przydatną możliwość automatycznej samokalibracji, dzięki której automatycznie są modyfikowane w razie potrzeby: faza i częstotliwość sygnału taktującego, co zapobiega nieprawidłowemu działaniu interfejsu w przypadku zmian napięcia zasilającego, impedancji obciążenia, temperatury i innych czynników zakłócających. W zależności od typu układu FPGA megafunkcja ALTMEMPHY wykorzystuje różne zasoby taktujące, ale trzeba pamiętać o tym, że wykorzystywany przez nią jest co najmniej jeden syntezer częstotliwości PLL wbudowany w układ FPGA. Sygnał wyjściowy tego syntezera może być wykorzystywany przez inne fragmenty implementowanego projektu, przy czym parametry sygnału zegarowego są przez ALTMEMPHY modyfikowane! Na rysunku 3 pokazano schemat blokowy interfejsu HPC zbudowanego za pomocą kreatora wbudowanego w pakiet Quartus II. Jak widać, poza wspomnianą megafunkcją, w skład interfejsu HPC wchodzi także blok logiki (jego budowa zależy od rodzaju sterowanej pamięci), którego opis jest dostarczany w postaci zaszyfrowanego bloku IP. Schemat blokowy zaszyfrowanej części interfejsu pamięci SDRAM DDR pokazano na rysunku 4. Przebieg kreacji interfejsu pamięci SDRAM DDR pokazano na rysunku 5, a kreator jest uruchamiany poprzez naciśnięcie przycisku MegaWizard Plugin Manager w oknie Symbol edytora schematów (widoczne na rysunku 6). Predefiniowane interfejsy pamięci są ulokowane w katalogu Installed Plugins >Interfaces >External Memory >DDR SDRAM. U ż y t k o w n i k i m p l e m e n t u j ą cy interfejs pamięci SDRAM DDR, w kolejnych oknach kreatora może ręcznie zadać wartości wszystkich istotnych parametrów czasowych i funkcjonalnych, może także skorzystać z kilku (nie jest ich niestey zbyt wiele) prede Tabela 3. Maksymalne częstotliwości taktowania interfejsów pamięci SDRAM DDR i pochodnych w zależności od sufiksu czasowego w oznaczeniu układów Cyclone IV GX Sufiks w oznaczeniu typu układu Maksymalna częstotliwość taktowania w trybie halfrate [MHz] Maksymalna częstotliwość taktowania w trybie fullrate [MHz] C6 167 167 C7, I7 150 150 C8 133 133 finiowanych modeli pamięci SDRAM DDR (powiększony fragment okna 1 ), dzięki czemu można uniknąć błędów i przyspieszyć sobie pracę. Jeżeli projektant decyduje się na ręczne skonfigurowanie interfejsu, to do wypełnienia lub zmodyfikowania ma parametry czasowe w oknach 2 i 3 na rysunku 5. Zalecane jest pozostawienie aktywnej opcji autokalibracji interfejsu, co ułatwi zapobieżenie jego nieprawidłowej współpracy z pamięciami. Okno 4 na rysunku 5 służy do wybrania rodzaju generowanego HPC i skonfigurowaniu jego funkcjonowania, m.in. poprzez włączenie lub wyłączenie trybu autousypiania, sposobu odświeżania zawartości pamięci, sposobu adresowania, głębokości kolejki burst itd. W oknie 5 na rysunku 5 można zażądać generacji modelu symulacyjnego (z uwzględnieniem dokładnych parametrów czasowych) a także generacji netlisty, która jest prekompilowaną wersją elementu bibliotecznego (skraca czas kompilacji całego projektu). Dzięki opcjom widocznym w oknie 6 na rysunku 5 projektant może ustalić jakie pliki poza niezbędnymi do wykreowania nowego elementu bibliotecznego chce Rysunek 4. Schemat blokowy zaszyfrowanej części interfejsu HPC Rysunek 3. Schemat blokowy interfejsu HPC wygenerować, dzięki czemu np. generując model IP core a w VHDL można od razu utworzyć black box w Verilogu lub odwrotnie, co upraszcza implementację projektu w róznych projektach. Podczas syntezy interfejsów pamięci zewnętrznych pakiet Quartus II samoczynnie przypisuje ich wyprowadzenia do grup portów I/O najlepiej dostosowanych do ich charakteru pracy. W układach Cyclone IV GX linie interfejsów pamięci nie powinny być przypisywana do lewej grupa portów I/O, pozostałe trzy (grupy: prawa, dolna i górna) są traktowane przez system jako domyślne. 88 ELEKTRONIKA PRAKTYCZNA 11/2010

Obsługa zewnętrznych pamięci SDRAM w układach Cyclone IV Rysunek 5. Przebieg kreacji interfejsu pamięci SDRAM DDR, kolejne etapy oznaczono cyframi Rysunek 6. Okno Symbol z którego jest uruchamiany Mega Wizard Plugin Manager ELEKTRONIKA PRAKTYCZNA 11/2010 Ponieważ jak widać na rysunku 7 utworzony symbol graficzny interfejsu pamięci zewnętrznej ma dużo wyprowadzeń, dobre zrozumienie sposobu ich podłączenia wymaga zapoznania się z odpowiednią dokumentacją. Najszybszy dostęp do niej można uzyskać poprzez kliknięcie w symbol wygenerowanego elementu umieszczony na planszy edytora schematów, co spowoduje otworzenie kreatora (rysunek 8), w którego górnej części jest dostępny link do odpowiedniego pliku PDF. Implementacje interfejsów dla innych typów pamięci przebiegają podobnie, ich wersje bazowe są dostępne w katalogu Installed Plugins >Interfaces >External Memory (rysunek 9). Ekspresowe wyszukiwanie Dobranie interfejsu współpracującego z zewnętrznymi pamięciami nie jest zadaniem banalnym, a ze względu na kłopoty 89

Rysunek 7. Symbol graficzny interfejsu zewnętrznej pamięci SDRAM DDR Rysunek 8. Najszybszy dostęp do dokumentacji konfigurowanej megafunkcji zapewnia okno kreatora Rysunek 9. Wykaz wersji bazowych megafunkcji dostępnych w systemie Quartus II znacznie prostsze niż gdyby trzeba by było ich obsługę implementować ręcznie. Nie znaczy to jednak, że wykorzystanie ich pełni możliwości jest zadaniem łatwym: ich aplikowanie musi mieć wyraźne uzasadnienie. Zdecydowanie wygodniejsze w użyciu są pamięci wewnętrzne dostępne w zasobach konfigurowalnych FPGA (EP10/2010), które ponadto charakteryzują się dużą częstotliwością taktowania. Wniosek z tego jest następujący: dzięki narzędziom wbudowanym w pakiet Quartus II i dostarczanym wraz z nim zestawem bibliotek IP core każdy konstruktor może zminimalizować nakłady pracy na realizację nawet bardzo rozbudowanego projektu, co nie zmienia faktu, że samo się nic nie zrobi. Zewnętrzne pamięci SDRAM to dość wymagający partner, ale pojemnością i ceną potrafią odpłacić za nakład pracy wymagany do ich pełnego opanowania. Tomasz Starak w konfiguracji i doborze parametrów czasowych, przed rozpoczęciem prac warto zapoznać się z narzędziem udostępnionym bezpłatnie przez firmę Altera na firmowej stronie internetowej (pod adresem http://www. altera.com/technology/memory/estimator/mememifindex.html rysunek 10). Program ten umożliwi szybkie zorientowanie się jaki typ pamięci zewnętrznej i w jakiej konfiguracji może współpracować z układami FPGA z wybranej rodziny w bazie danych znajdują się bowiem wszystkie FPGA produkowane przez Alterę. Na koniec Dzięki udostępnieniu przez firmę Altera IP core ów spełniających rolę interfejsów pamięci zewnętrznych korzystanie z nowoczesnych, szybkich pamięci dynamicznych jest Rysunek 10. Okno internetowego katalogu interfejsów pamięci zewnętrznych obsługiwanych przez układy FPGA firmy Altera 90 ELEKTRONIKA PRAKTYCZNA 11/2010