Spisu treści:

Zrób to sam dynamiczny blok pamięci: 5 kroków
Zrób to sam dynamiczny blok pamięci: 5 kroków

Wideo: Zrób to sam dynamiczny blok pamięci: 5 kroków

Wideo: Zrób to sam dynamiczny blok pamięci: 5 kroków
Wideo: ja nie wjadę?! 2024, Lipiec
Anonim
DIY Dynamiczny blok pamięci
DIY Dynamiczny blok pamięci

SLG46880 i SLG46881 wprowadzają kilka nowych bloków, które nie pojawiły się w poprzednich urządzeniach GreenPAK. Ta nota aplikacyjna opisuje bloki pamięci dynamicznej (DM) i sposób ich używania.

Główną zaletą bloków DM jest możliwość ich rekonfiguracji w celu wykonywania różnych funkcji w różnych stanach 12-stanowej asynchronicznej maszyny stanów (ASM) SLG46880/1. To sprawia, że są bardzo elastycznym komponentem, ponieważ mogą być używane w jeden sposób w stanie 0, a inaczej w stanie 1.

Poniżej opisaliśmy kroki potrzebne do zrozumienia, w jaki sposób chip GreenPAK został zaprogramowany do tworzenia dynamicznego bloku pamięci. Jeśli jednak chcesz tylko uzyskać wynik programowania, pobierz oprogramowanie GreenPAK, aby wyświetlić już ukończony plik projektu GreenPAK. Podłącz zestaw rozwojowy GreenPAK do komputera i naciśnij program, aby utworzyć niestandardowy układ scalony dla pamięci dynamicznej.

Krok 1: Podstawy DM Block

Podstawy DM Block
Podstawy DM Block
Podstawy DM Block
Podstawy DM Block

W Dialog GreenPAK SLG46880/1 są 4 bloki DM. Nieskonfigurowany blok DM pokazano na rysunku 1.

Wszystkie bloki DM w SLG46880/1 mają następujące zasoby:

● 2 tabele przeglądowe: 3-bitowa LUT i 2-bitowa LUT

● 2 multipleksery

● 1 CNT/DLY

● 1 blok wyjściowy

Rysunek 2 przedstawia ten sam blok DM z kolorowymi złączami. (Te kolory nie pojawiają się w programie GreenPAK™ Designer, służą jedynie celom ilustracyjnym.) Zielone złącza są wejściami do bloku DM z matrycy. Pomarańczowe połączenia to dedykowane połączenia w bloku DM, których nie można zmienić ani przesunąć. Niebieskie złącza to złącza zegarowe dla bloku licznika. Fioletowy łącznik może służyć do wyzwalania zmiany stanu, ale nie jest ogólnym połączeniem matrycowym. Żółte złącza to wyjścia matrycowe z bloku DM.

Krok 2: Tworzenie nowych konfiguracji bloków DM

Tworzenie nowych konfiguracji bloków DM
Tworzenie nowych konfiguracji bloków DM
Tworzenie nowych konfiguracji bloków DM
Tworzenie nowych konfiguracji bloków DM

Aby utworzyć nową konfigurację bloku DM, musisz wybrać blok DM i otworzyć jego panel właściwości, pokazany na rysunku 3. Teraz możesz utworzyć nową konfigurację dla tego bloku DM, klikając ikonę „+” w prawym górnym rogu. W tym momencie możesz zmienić nazwę konfiguracji, jeśli chcesz i skonfigurować blok DM w dowolny sposób, korzystając z jego panelu właściwości. Możesz usunąć niepotrzebną konfigurację, wybierając ją z menu rozwijanego i klikając przycisk „-”.

Każdy blok DM może mieć do 6 różnych konfiguracji. Dowolna konfiguracja bloku DM może być używana w dowolnym z 12 stanów ASM, ale dozwolona jest tylko jedna konfiguracja na blok DM na stan. Rysunek 4 pokazuje, w jaki sposób pasek zarządzania zasobami wskazuje, że została użyta jedna z konfiguracji DM0_0. Liczba konfiguracji dla DM0_0 została zwiększona z 0/6 do 1/6.

Krok 3: Użyj bloku DM, aby wywołać zmianę stanu

Użyj bloku DM, aby wywołać zmianę stanu
Użyj bloku DM, aby wywołać zmianę stanu

Rysunek 5 pokazuje kilka różnych sposobów wyzwalania zmiany stanu. Stworzyliśmy nowe konfiguracje dla DM0_0 i DM1_0 i nazwaliśmy je „myConfig” i „myConfig1”. Górny DM jest po prostu używany jako 3-bitowa bramka AND, ponieważ górny multiplekser przekazuje wyjście bramki AND, a 2-bitowy bufor przekazuje je do bloku wyjść. (Dwubitowa tablica LUT mogła być również skonfigurowana jako bufor dla bloku CNT/DLY.) Złącze „do ASM” służy do wyzwalania zmiany stanu ze stanu 0 do stanu 1. Podobnie używane jest połączenie matrycy z Pin5 aby wyzwolić zmianę stanu ze stanu 0 do stanu 2. Wreszcie, DM1_0 jest skonfigurowany tak, aby oba multipleksery przepuszczały sygnał z Pin6. Licznik jest skonfigurowany jako opóźnienie obu krawędzi 100 µs, a 2-bitowa tablica LUT jest bramką AND. Podobnie jak w DM0_0, blok wyjściowy służy do wyzwalania kolejnej zmiany stanu.

Krok 4: Używanie bloku DM do interakcji z blokami poza ASM

Używanie bloku DM do interakcji z blokami poza ASM
Używanie bloku DM do interakcji z blokami poza ASM
Używanie bloku DM do interakcji z blokami poza ASM
Używanie bloku DM do interakcji z blokami poza ASM

Jak mogłeś zauważyć w poprzedniej sekcji, blok wyjściowy DM0_0 ma 3 wyjścia „do Matrix”, podczas gdy blok wyjściowy DM1_0 nie ma żadnych wyjść matrycowych. Dotyczy to również DM0_1 i DM1_1; DM0_1 ma 3 wyjścia matrycowe, podczas gdy DM1_1 nie ma żadnego. 3 wyjścia „do matrycy” można podłączyć do dowolnych innych złączy matrycy, takich jak piny, LUT, DFF itp. Przedstawiono to na rysunku 6.

Należy zauważyć, że po utworzeniu połączenia między pinem „do macierzy” a innymi blokami poza obszarem Automatu Stanu, będzie ono istniało w każdym stanie, niezależnie od używanej konfiguracji DM. Na rysunku 6 górna sekcja pokazuje myConfig0 z DM0_0, która istnieje w stanie 0. Dolna sekcja pokazuje myConfig1 z DM0_0, która istnieje w stanie 1. Górne połączenie „do Matrix” w obu konfiguracjach jest podłączone do Pin3, podczas gdy środkowe jeden jest podłączony do 2-bitowego LUT0. Tylko jedno z tych połączeń „do Matrix” może być „aktywne” w danym momencie. W menu panelu właściwości dostępne są 4 opcje dla bloku wyjściowego DM0_0 i DM0_1: ● Out0/1/2 keep ● Bypass do out0, out1/2 keep ● Bypass do out1, out0/2 keep ● Bypass do out2, out1/1 keep Te ustawienia służą do określenia, które z trzech wyjść są aktywne w każdej konfiguracji. Jeśli zostanie wybrana pierwsza opcja, wyjście 2-bitowej tablicy LUT bloku DM nie zostanie przekazane do żadnego z trzech wyjść „do macierzy”. Wartość tych trzech sygnałów pozostanie w tym stanie niezmieniona. Jeśli jednak zostanie użyta dowolna z pozostałych trzech opcji, wyjście 2-bitowej tablicy LUT bloku DM zostanie przekazane odpowiednio do out0, out1 lub out2, a wartości pozostałych dwóch wyjść pozostaną niezmienione.

Krok 5: Przykład projektu

Przykład projektu
Przykład projektu

W powyższym przykładzie projektu IN0, IN1 i IN2 są razem OR'd. Tymczasem IN3 jest opóźnione o 1 ms, a następnie AND z wyjściem bramki OR. Blok to Matrix jest skonfigurowany tak, że wyjście bloku DM jest wysyłane do OUT0 w STATE0, podczas gdy wartości na OUT1 i OUT2 są zachowywane.

Wniosek

Dzięki możliwości rekonfiguracji, bloki pamięci dynamicznej w Dialog GreenPAK SLG46880/1 są niezwykle elastyczne i mogą być używane na różne sposoby. Kiedy już opanujesz pracę z blokami DM, będziesz mógł tworzyć bardziej złożone projekty, łącząc ze sobą różne konfiguracje bloków DM w różnych stanach ASM.

Zalecana: