Cuprins:

Bloc de memorie dinamică DIY: 5 pași
Bloc de memorie dinamică DIY: 5 pași

Video: Bloc de memorie dinamică DIY: 5 pași

Video: Bloc de memorie dinamică DIY: 5 pași
Video: Cum scrii când începi un caiet nou 2024, Iulie
Anonim
Bloc de memorie dinamică DIY
Bloc de memorie dinamică DIY

SLG46880 și SLG46881 introduc mai multe blocuri noi care nu au apărut pe dispozitivele GreenPAK anterioare. Această notă de aplicație descrie blocurile de memorie dinamică (DM) și modul de utilizare a acestora.

Principalul avantaj al blocurilor DM este că pot fi reconfigurate pentru a îndeplini diferite funcții în diferite stări ale mașinii de stare asincronă (ASM) a 12-stări a SLG46880 / 1. Acest lucru le face o componentă foarte flexibilă, deoarece pot fi utilizate într-un mod în statul 0 și alt mod în statul 1.

Mai jos am descris pașii necesari pentru a înțelege cum a fost programat cipul GreenPAK pentru a crea blocul de memorie dinamică. Cu toate acestea, dacă doriți doar să obțineți rezultatul programării, descărcați software-ul GreenPAK pentru a vizualiza fișierul de proiectare GreenPAK deja finalizat. Conectați kitul de dezvoltare GreenPAK la computer și apăsați programul pentru a crea un IC personalizat pentru memoria dinamică.

Pasul 1: elementele de bază ale blocului DM

Bazele DM Block
Bazele DM Block
Bazele DM Block
Bazele DM Block

Există 4 blocuri DM în Dialog GreenPAK SLG46880 / 1. Un bloc DM neconfigurat este prezentat în Figura 1.

Toate blocurile DM din SLG46880 / 1 au următoarele resurse:

● 2 tabele de căutare: un LUT de 3 biți și un LUT de 2 biți

● 2 multiplexoare

● 1 CNT / DLY

● 1 bloc de ieșire

Figura 2 prezintă același bloc DM cu conectori colorate. (Aceste culori nu apar în GreenPAK ™ Designer, sunt doar pentru scopuri ilustrative.) Conectorii verzi sunt intrări în blocul DM de la Matrix. Conexiunile portocalii sunt conexiuni dedicate în cadrul blocului DM, care nu pot fi schimbate sau mutate. Conectorii de culoare albastră sunt conexiuni de ceas pentru blocul de contor. Conectorul violet poate fi utilizat pentru a declanșa o tranziție de stare, dar nu este o conexiune matricială generală. Conectorii galbeni sunt ieșiri matriciale din blocul DM.

Pasul 2: Crearea de noi configurații de bloc DM

Crearea de noi configurații de bloc DM
Crearea de noi configurații de bloc DM
Crearea de noi configurații de bloc DM
Crearea de noi configurații de bloc DM

Pentru a crea o nouă configurație a blocului DM, va trebui să selectați un bloc DM și să deschideți panoul său de proprietăți, prezentat în Figura 3. Acum puteți crea o nouă configurație pentru acest bloc DM făcând clic pe pictograma „+” din partea dreaptă sus. În acest moment, puteți redenumi configurația dacă doriți și configura blocul DM oricum doriți, utilizând panoul său de proprietăți. Puteți șterge o configurație inutilă selectând-o din meniul derulant și făcând clic pe butonul „-“.

Fiecare bloc DM poate avea până la 6 configurații diferite. Orice configurație de bloc DM poate fi utilizată în oricare dintre cele 12 stări ale ASM, dar este permisă o singură configurație per bloc DM pe stare. Figura 4 arată cum bara managerului de resurse indică faptul că una dintre configurațiile DM0_0 a fost utilizată. Numărul de configurații pentru DM0_0 a crescut de la 0/6 la 1/6.

Pasul 3: Utilizați un bloc DM pentru a declanșa o tranziție de stat

Utilizați un bloc DM pentru a declanșa o tranziție de stat
Utilizați un bloc DM pentru a declanșa o tranziție de stat

Figura 5 prezintă câteva modalități diferite de a declanșa o tranziție de stare. Am creat noi configurații pentru DM0_0 și DM1_0 și le-am denumit „myConfig” și „myConfig1”. DM de sus este pur și simplu folosit ca o poartă AND de 3 biți, deoarece mux-ul de sus trece ieșirea porții AND, iar tamponul de 2 biți o transmite de-a lungul blocului de ieșiri. (LUT-ul pe 2 biți ar fi putut fi configurat și ca tampon pentru blocul CNT / DLY.) Conectorul „către ASM este utilizat pentru a declanșa o tranziție de stare de la starea 0 la starea 1. În mod similar, se utilizează o conexiune matricială de la Pin5 pentru a declanșa o tranziție de stare de la starea 0 la starea 2. În cele din urmă, DM1_0 este configurat astfel încât ambii mux-uri să treacă prin semnalul de la Pin6. Contorul este configurat ca o întârziere de ambele margini de 100µs, iar LUT pe 2 biți este o poartă ȘI. La fel ca în DM0_0, blocul de ieșire este utilizat pentru a declanșa o altă tranziție de stare.

Pasul 4: Utilizarea unui bloc DM pentru a interacționa cu blocurile din afara ASM

Utilizarea unui bloc DM pentru a interacționa cu blocurile din afara ASM
Utilizarea unui bloc DM pentru a interacționa cu blocurile din afara ASM
Utilizarea unui bloc DM pentru a interacționa cu blocurile din afara ASM
Utilizarea unui bloc DM pentru a interacționa cu blocurile din afara ASM

După cum probabil ați observat în secțiunea anterioară, blocul de ieșire al DM0_0 are 3 ieșiri „la matrice”, în timp ce blocul de ieșire al DM1_0 nu are ieșiri ale matricei. Acest lucru este valabil și pentru DM0_1 și DM1_1; DM0_1 are 3 ieșiri matrice, în timp ce DM1_1 nu are. Cele 3 ieșiri „la matrice” pot fi conectate la orice alte conectori matriciali, cum ar fi pinii, LUT-urile, DFF-urile etc. Acest lucru este prezentat în Figura 6.

Rețineți că odată ce s-a făcut o conexiune între un pin „la Matrix” și alte blocuri din afara zonei Machine State, acesta va exista în fiecare stare, indiferent de configurația DM utilizată. În Figura 6, secțiunea de sus arată myConfig0 din DM0_0, care există în starea 0. Secțiunea de jos prezintă myConfig1 din DM0_0, care există în starea 1. Conexiunea de sus „la matrice” din ambele configurații este conectată la Pin3, în timp ce mijlocul unul este conectat la LUT0 pe 2 biți. Doar una dintre aceste conexiuni „la Matrix” poate fi „activă” în orice moment. Există 4 opțiuni în meniul panoului de proprietăți pentru blocul de ieșire DM0_0 și DM0_1: ● păstrare Out0 / 1/2 ● Bypass to out0, out1 / 2 keep ● Bypass to out1, out0 / 2 keep ● Bypass to out2, out1 / 1 keep Aceste setări sunt utilizate pentru a determina care dintre cele trei ieșiri sunt active în fiecare configurație. Dacă este selectată prima opțiune, ieșirea LUT-ului pe 2 biți al blocului DM nu va fi transmisă niciunei dintre cele trei ieșiri „către matrice”. Valoarea acestor trei semnale va rămâne neschimbată în acea stare. Cu toate acestea, dacă se utilizează oricare dintre celelalte trei opțiuni, ieșirea LUT-ului pe 2 biți al blocului DM va fi transmisă la out0, out1 sau respectiv out2, iar valoarea celorlalte două ieșiri va fi păstrată neschimbată.

Pasul 5: Exemplu de proiectare

Exemplu de proiectare
Exemplu de proiectare

În exemplul de proiectare de mai sus, IN0, IN1 și IN2 sunt OR împreună. Între timp, IN3 este întârziat cu 1 ms și apoi AND’d cu ieșirea porții SAU. Blocul către Matrix este configurat astfel încât ieșirea blocului DM să fie trimisă la OUT0 în STATE0, în timp ce valorile de la OUT1 și OUT2 sunt păstrate.

Concluzie

Datorită reconfigurabilității lor, blocurile de memorie dinamică din Dialog GreenPAK SLG46880 / 1 sunt extrem de flexibile și pot fi utilizate într-o varietate de moduri. Odată ce veți obține funcționarea cu blocuri DM, veți putea crea modele mai complexe prin asamblarea diferitelor configurații ale blocurilor DM în diferite stări ASM.

Recomandat: