Inhoudsopgave:

DIY dynamisch geheugenblok - Ajarnpa
DIY dynamisch geheugenblok - Ajarnpa

Video: DIY dynamisch geheugenblok - Ajarnpa

Video: DIY dynamisch geheugenblok - Ajarnpa
Video: Section 4 2024, Juli-
Anonim
DIY dynamisch geheugenblok
DIY dynamisch geheugenblok

De SLG46880 en SLG46881 introduceren verschillende nieuwe blokken die niet zijn verschenen in eerdere GreenPAK-apparaten. Deze toepassingsnotitie beschrijft de Dynamic Memory (DM)-blokken en hoe ze te gebruiken.

Het belangrijkste voordeel van DM-blokken is dat ze opnieuw kunnen worden geconfigureerd om verschillende functies uit te voeren in verschillende toestanden van de 12-standen Asynchronous State Machine (ASM) van de SLG46880/1. Dit maakt ze een zeer flexibel onderdeel, omdat ze op de ene manier in toestand 0 en op een andere manier in toestand 1 kunnen worden gebruikt.

Hieronder hebben we de stappen beschreven die nodig zijn om te begrijpen hoe de GreenPAK-chip is geprogrammeerd om het Dynamic Memory Block te creëren. Als u echter alleen het resultaat van het programmeren wilt hebben, download dan GreenPAK-software om het reeds voltooide GreenPAK-ontwerpbestand te bekijken. Sluit de GreenPAK Development Kit aan op uw computer en klik op programma om de aangepaste IC voor het dynamische geheugen te maken.

Stap 1: Basisprincipes van DM-blok

Basisprincipes van DM-blokken
Basisprincipes van DM-blokken
Basisprincipes van DM-blokken
Basisprincipes van DM-blokken

Er zijn 4 DM-blokken in de Dialog GreenPAK SLG46880/1. Een niet-geconfigureerd DM-blok wordt getoond in figuur 1.

Alle DM-blokken in de SLG46880/1 hebben de volgende bronnen:

● 2 opzoektabellen: een 3-bit LUT en een 2-bit LUT

● 2 multiplexers

● 1 CNT/DLY

● 1 uitgangsblok

Figuur 2 toont hetzelfde DM-blok met ingekleurde connectoren. (Deze kleuren verschijnen niet in GreenPAK™ Designer, ze zijn alleen voor illustratieve doeleinden.) De groene connectoren zijn invoer naar het DM-blok van de Matrix. De oranje verbindingen zijn speciale verbindingen binnen het DM-blok, die niet kunnen worden gewijzigd of verplaatst. De blauwe connectoren zijn klokaansluitingen voor het tellerblok. De paarse connector kan worden gebruikt om een toestandsovergang te activeren, maar is geen algemene matrixverbinding. De gele connectoren zijn matrixuitgangen van het DM-blok.

Stap 2: Nieuwe DM-blokconfiguraties maken

Nieuwe DM-blokconfiguraties maken
Nieuwe DM-blokconfiguraties maken
Nieuwe DM-blokconfiguraties maken
Nieuwe DM-blokconfiguraties maken

Om een nieuwe DM-blokconfiguratie te maken, moet je een DM-blok selecteren en het eigenschappenvenster openen, weergegeven in figuur 3. Nu kun je een nieuwe configuratie voor dit DM-blok maken door op het "+"-pictogram in de rechterbovenhoek te klikken. Op dit punt kunt u de configuratie desgewenst hernoemen en het DM-blok configureren zoals u dat wilt, met behulp van het eigenschappenvenster. U kunt een onnodige configuratie verwijderen door deze te selecteren in het vervolgkeuzemenu en op de knop "-" te klikken.

Elk DM-blok kan tot 6 verschillende configuraties hebben. Elke DM-blokconfiguratie kan in elk van de 12 staten van de ASM worden gebruikt, maar er is slechts één configuratie per DM-blok per staat toegestaan. Afbeelding 4 laat zien hoe de resource manager-balk aangeeft dat een van de DM0_0-configuraties is gebruikt. Het aantal configuraties voor DM0_0 is verhoogd van 0/6 naar 1/6.

Stap 3: Gebruik een DM-blok om een statusovergang te activeren

Gebruik een DM-blok om een toestandsovergang te activeren
Gebruik een DM-blok om een toestandsovergang te activeren

Figuur 5 toont een aantal verschillende manieren om een toestandsovergang te activeren. We hebben nieuwe configuraties voor DM0_0 en DM1_0 gemaakt en deze "myConfig" en "myConfig1" genoemd. De bovenste DM wordt eenvoudigweg gebruikt als een 3-bits EN-poort, aangezien de bovenste mux de uitvoer van de EN-poort doorlaat en de 2-bits buffer deze doorgeeft aan het uitvoerblok. (De 2-bit LUT had ook kunnen worden geconfigureerd als een buffer voor het CNT/DLY-blok.) De "naar ASM-connector wordt gebruikt om een statusovergang van status 0 naar status 1 te activeren. Op dezelfde manier wordt een matrixverbinding van Pin5 gebruikt om een statusovergang van status 0 naar status 2 te activeren. Ten slotte is DM1_0 zo geconfigureerd dat beide muxes door het signaal van Pin6 gaan. De teller is geconfigureerd als een vertraging van beide flanken van 100 µs en de 2-bits LUT is een EN-poort. Net als in DM0_0 wordt het uitgangsblok gebruikt om een andere toestandsovergang te activeren.

Stap 4: Een DM-blok gebruiken om te communiceren met blokken buiten de ASM

Een DM-blok gebruiken om te communiceren met blokken buiten de ASM
Een DM-blok gebruiken om te communiceren met blokken buiten de ASM
Een DM-blok gebruiken om te communiceren met blokken buiten de ASM
Een DM-blok gebruiken om te communiceren met blokken buiten de ASM

Zoals je misschien in de vorige sectie hebt opgemerkt, heeft het uitvoerblok van DM0_0 3 "naar Matrix" -uitgangen, terwijl het uitvoerblok van DM1_0 geen matrixuitgangen heeft. Dit geldt ook voor DM0_1 en DM1_1; DM0_1 heeft 3 matrixuitgangen, terwijl DM1_1 er geen heeft. De 3 "naar matrix"-uitgangen kunnen worden aangesloten op andere matrixconnectoren, zoals pinnen, LUT's, DFF's, enz. Dit wordt getoond in Afbeelding 6.

Merk op dat zodra een verbinding is gemaakt tussen een "naar Matrix" -pin en andere blokken buiten het State Machine-gebied, deze in elke staat zal bestaan, ongeacht welke DM-configuratie wordt gebruikt. In Afbeelding 6 toont het bovenste gedeelte myConfig0 van DM0_0, dat in staat 0 bestaat. Het onderste gedeelte toont myConfig1 van DM0_0, dat in staat 1 bestaat. De bovenste "naar Matrix"-verbinding in beide configuraties is verbonden met Pin3, terwijl de middelste één is verbonden met 2-bit LUT0. Slechts één van die "naar Matrix"-verbindingen kan op elk moment "actief" zijn. Er zijn 4 opties in het eigenschappenvenstermenu voor het uitvoerblok van DM0_0 en DM0_1: ● Out0/1/2 keep ● Bypass naar out0, out1/2 keep ● Bypass naar out1, out0/2 keep ● Bypass naar out2, out1/1 keep Deze instellingen worden gebruikt om te bepalen welke van de drie uitgangen in elke configuratie actief zijn. Als de eerste optie is geselecteerd, wordt de uitvoer van de 2-bit LUT van het DM-blok niet doorgegeven aan een van de drie "naar Matrix" -uitgangen. De waarde van die drie signalen blijft in die toestand ongewijzigd. Als echter een van de andere drie opties wordt gebruikt, wordt de uitvoer van de 2-bit LUT van het DM-blok doorgegeven aan respectievelijk out0, out1 of out2 en blijft de waarde van de andere twee uitgangen ongewijzigd.

Stap 5: Ontwerpvoorbeeld

Ontwerpvoorbeeld
Ontwerpvoorbeeld

In het bovenstaande ontwerpvoorbeeld zijn de IN0, IN1 en IN2 samen OR'd. Ondertussen wordt IN3 met 1 ms vertraagd en vervolgens EN'd met de uitvoer van de OF-poort. Het to Matrix-blok is zo geconfigureerd dat de uitvoer van het DM-blok naar OUT0 in STATE0 wordt gestuurd, terwijl de waarden bij OUT1 en OUT2 behouden blijven.

Conclusie

Dankzij hun herconfigureerbaarheid zijn Dynamic Memory-blokken in de Dialog GreenPAK SLG46880/1 extreem flexibel en kunnen ze op verschillende manieren worden gebruikt. Als je eenmaal het werken met DM-blokken onder de knie hebt, kun je complexere ontwerpen maken door verschillende DM-blokconfiguraties in verschillende ASM-statussen samen te voegen.

Aanbevolen: