Innehållsförteckning:

DIY Dynamic Memory Block: 5 steg
DIY Dynamic Memory Block: 5 steg

Video: DIY Dynamic Memory Block: 5 steg

Video: DIY Dynamic Memory Block: 5 steg
Video: How to refret guitar 2024, Juli
Anonim
DIY dynamiskt minnesblock
DIY dynamiskt minnesblock

SLG46880 och SLG46881 introducerar flera nya block som inte har dykt upp i tidigare GreenPAK -enheter. Denna applikationsnot beskriver dynamiska minnesblocken (DM) och hur du använder dem.

Den största fördelen med DM-block är att de kan omkonfigureras för att utföra olika funktioner i olika tillstånd i SLG46880/1: s 12-tillstånds asynkrona tillståndsmaskin (ASM). Detta gör dem till en mycket flexibel komponent, eftersom de kan användas på ett sätt i delstat 0 och ett annat sätt i delstat 1.

Nedan beskrivs stegen som behövs för att förstå hur GreenPAK -chipet har programmerats för att skapa det dynamiska minnesblocket. Men om du bara vill få resultatet av programmeringen, ladda ner GreenPAK -programvara för att se den redan färdiga GreenPAK -designfilen. Anslut GreenPAK Development Kit till din dator och tryck på programmet för att skapa anpassad IC för det dynamiska minnet.

Steg 1: Grundläggande om DM Block

Grundläggande om DM Block
Grundläggande om DM Block
Grundläggande om DM Block
Grundläggande om DM Block

Det finns 4 DM -block i Dialog GreenPAK SLG46880/1. Ett okonfigurerat DM -block visas i figur 1.

Alla DM -block i SLG46880/1 har följande resurser:

● 2 uppslagstabeller: en 3-bitars LUT och en 2-bitars LUT

● 2 multiplexer

● 1 CNT/DLY

● 1 Utgångsblock

Figur 2 visar samma DM-block med infärgade kontakter. (Dessa färger visas inte inuti GreenPAK ™ Designer, de är bara för illustrativa ändamål.) De gröna kontakterna är ingångar till DM -blocket från Matrix. De orange anslutningarna är dedikerade anslutningar inom DM -blocket, som inte kan ändras eller flyttas. De blå kontakterna är klockanslutningar för räknarblocket. Den lila kontakten kan användas för att utlösa en tillståndsövergång, men är inte en allmän matrisanslutning. De gula kontakterna är matrisutgångar från DM -blocket.

Steg 2: Skapa nya DM -blockkonfigurationer

Skapa nya DM -blockkonfigurationer
Skapa nya DM -blockkonfigurationer
Skapa nya DM -blockkonfigurationer
Skapa nya DM -blockkonfigurationer

För att skapa en ny DM -blockkonfiguration måste du välja ett DM -block och öppna dess egenskaperspanel, som visas i figur 3. Nu kan du skapa en ny konfiguration för detta DM -block genom att klicka på "+" -ikonen längst upp till höger. Vid det här laget kan du byta namn på konfigurationen om du vill och konfigurera DM -blocket som du vill med hjälp av dess egenskaperspanel. Du kan ta bort en onödig konfiguration genom att välja den från rullgardinsmenyn och klicka på knappen "-".

Varje DM -block kan ha upp till 6 olika konfigurationer. Alla DM -blockkonfigurationer kan användas i alla ASM: s 12 tillstånd, men endast en konfiguration per DM -block per stat är tillåten. Figur 4 visar hur resurshanteringsfältet indikerar att en av DM0_0 -konfigurationerna har använts. Antalet konfigurationer för DM0_0 ökades från 0/6 till 1/6.

Steg 3: Använd ett DM -block för att utlösa en statlig övergång

Använd ett DM -block för att utlösa en statlig övergång
Använd ett DM -block för att utlösa en statlig övergång

Figur 5 visar några olika sätt att utlösa en tillståndsövergång. Vi har skapat nya konfigurationer för DM0_0 och DM1_0 och kallat dem "myConfig" och "myConfig1". Den övre DM används helt enkelt som en 3-bitars OCH-grind, eftersom toppmuxen passerar utsignalen från OCH-grinden, och 2-bitars bufferten leder den vidare till utgångsblocket. (2-bitars LUT kunde också ha konfigurerats som en buffert för CNT/DLY-blocket.) “Till ASM-kontakten används för att utlösa en tillståndsövergång från tillstånd 0 till tillstånd 1. På samma sätt används en matrisanslutning från Pin5 för att utlösa en tillståndsövergång från tillstånd 0 till tillstånd 2. Slutligen konfigureras DM1_0 så att båda muxerna passerar signalen från Pin6. Räknaren är konfigurerad som en 100 µs både kantfördröjning, och 2-bitars LUT är en OCH-grind. Precis som i DM0_0 används utgångsblocket för att utlösa en annan tillståndsövergång.

Steg 4: Använda ett DM -block för att interagera med block utanför ASM

Använda ett DM -block för att interagera med block utanför ASM
Använda ett DM -block för att interagera med block utanför ASM
Använda ett DM -block för att interagera med block utanför ASM
Använda ett DM -block för att interagera med block utanför ASM

Som du kanske har märkt i föregående avsnitt har DM0_0s utgångsblock 3 "till Matrix" -utgångar, medan DM1_0s utgångsblock inte har några matrisutgångar. Detta gäller även DM0_1 och DM1_1; DM0_1 har 3 matrisutgångar, medan DM1_1 inte har några. De tre “till matris” -utgångarna kan anslutas till alla andra matrisanslutningar, som stift, LUT, DFF, etc. Detta visas i figur 6.

Observera att när en anslutning har gjorts mellan en "till Matrix" -nål och andra block utanför State Machine -området kommer den att existera i varje tillstånd, oavsett vilken DM -konfiguration som används. I figur 6 visar den övre sektionen myConfig0 av DM0_0, som finns i tillstånd 0. Den nedre sektionen visar myConfig1 av DM0_0, som finns i tillstånd 1. Den översta "till Matrix" -anslutningen i båda konfigurationerna är ansluten till Pin3, medan mitten en är ansluten till 2-bitars LUT0. Endast en av dessa "till Matrix" -anslutningar kan vara "aktiva" när som helst. Det finns 4 alternativ i menyn Egenskaper för panelen DM0_0 och DM0_1: s utgångsblock: ● Out0/1/2 behålla ● Bypass till out0, out1/2 keep ● Bypass to out1, out0/2 keep ● Bypass to out2, out1/1 keep Dessa inställningar används för att bestämma vilken av de tre utgångarna som är aktiva i varje konfiguration. Om det första alternativet väljs kommer utmatningen från DM-blockets 2-bitars LUT inte att skickas till någon av de tre "till Matrix" -utgångarna. Värdet på dessa tre signaler kommer att förbli oförändrat i det tillståndet. Men om något av de andra tre alternativen används kommer utgången från DM-blockets 2-bitars LUT att skickas till out0, out1 eller out2 respektive, och värdet på de andra två utgångarna kommer att hållas oförändrat.

Steg 5: Designexempel

Designexempel
Designexempel

I ovanstående designexempel är IN0, IN1 och IN2 OR'd tillsammans. Samtidigt är IN3 försenad med 1 ms och sedan AND'd med utsignalen från OR -grinden. Blocket till Matrix konfigureras så att DM -blockets utsignal skickas till OUT0 i STATE0, medan värdena vid OUT1 och OUT2 behålls.

Slutsats

Tack vare deras omkonfigurerbarhet är dynamiska minnesblock i Dialog GreenPAK SLG46880/1 extremt flexibla och kan användas på många olika sätt. När du väl har koll på att arbeta med DM -block kan du skapa mer komplexa mönster genom att sätta ihop olika DM -blockkonfigurationer i olika ASM -tillstånd.

Rekommenderad: