Sommario:

Blocco di memoria dinamico fai-da-te: 5 passaggi
Blocco di memoria dinamico fai-da-te: 5 passaggi

Video: Blocco di memoria dinamico fai-da-te: 5 passaggi

Video: Blocco di memoria dinamico fai-da-te: 5 passaggi
Video: Quando provi a fare un complimento a una ragazza... 2024, Luglio
Anonim
Blocco di memoria dinamico fai-da-te
Blocco di memoria dinamico fai-da-te

SLG46880 e SLG46881 introducono diversi nuovi blocchi che non sono comparsi nei precedenti dispositivi GreenPAK. Questa nota applicativa descrive i blocchi di memoria dinamica (DM) e come usarli.

Il vantaggio principale dei blocchi DM è che possono essere riconfigurati per eseguire diverse funzioni in diversi stati della macchina a stati asincrona (ASM) a 12 stati dell'SLG46880/1. Questo li rende un componente molto flessibile, poiché possono essere utilizzati in un modo nello stato 0 e in un altro modo nello stato 1.

Di seguito abbiamo descritto i passaggi necessari per comprendere come è stato programmato il chip GreenPAK per creare il blocco di memoria dinamico. Tuttavia, se desideri solo ottenere il risultato della programmazione, scarica il software GreenPAK per visualizzare il file di progettazione GreenPAK già completato. Collega il kit di sviluppo GreenPAK al tuo computer e premi il programma per creare il circuito integrato personalizzato per la memoria dinamica.

Passaggio 1: basi del blocco DM

Nozioni di base sul blocco DM
Nozioni di base sul blocco DM
Nozioni di base sul blocco DM
Nozioni di base sul blocco DM

Ci sono 4 blocchi DM nel Dialog GreenPAK SLG46880/1. Un blocco DM non configurato è mostrato nella Figura 1.

Tutti i blocchi DM in SLG46880/1 hanno le seguenti risorse:

● 2 tabelle di ricerca: una LUT a 3 bit e una LUT a 2 bit

● 2 multiplexer

● 1 CNT/DLY

● 1 blocco di uscita

La Figura 2 mostra lo stesso blocco DM con connettori colorati. (Questi colori non appaiono all'interno di GreenPAK™ Designer, sono solo a scopo illustrativo.) I connettori verdi sono ingressi al blocco DM da Matrix. Le connessioni arancioni sono connessioni dedicate all'interno del blocco DM, che non possono essere modificate o spostate. I connettori blu sono connessioni di clock per il blocco contatore. Il connettore viola può essere utilizzato per attivare una transizione di stato, ma non è una connessione a matrice generale. I connettori gialli sono uscite a matrice dal blocco DM.

Passaggio 2: creazione di nuove configurazioni di blocchi DM

Creazione di nuove configurazioni di blocchi DM
Creazione di nuove configurazioni di blocchi DM
Creazione di nuove configurazioni di blocchi DM
Creazione di nuove configurazioni di blocchi DM

Per creare una nuova configurazione di blocco DM, dovrai selezionare un blocco DM e aprire il suo pannello delle proprietà, mostrato in Figura 3. Ora puoi creare una nuova configurazione per questo blocco DM facendo clic sull'icona "+" in alto a destra. A questo punto, puoi rinominare la configurazione se lo desideri e configurare il blocco DM come preferisci, utilizzando il suo pannello delle proprietà. È possibile eliminare una configurazione non necessaria selezionandola dal menu a discesa e facendo clic sul pulsante "-".

Ogni blocco DM può avere fino a 6 diverse configurazioni. Qualsiasi configurazione di blocco DM può essere utilizzata in uno qualsiasi dei 12 stati dell'ASM, ma è consentita solo una configurazione per blocco DM per stato. La Figura 4 mostra come la barra del gestore risorse indica che è stata utilizzata una delle configurazioni DM0_0. Il numero di configurazioni per DM0_0 è stato aumentato da 0/6 a 1/6.

Passaggio 3: utilizzare un blocco DM per attivare una transizione di stato

Usa un blocco DM per attivare una transizione di stato
Usa un blocco DM per attivare una transizione di stato

La Figura 5 mostra alcuni modi diversi per attivare una transizione di stato. Abbiamo creato nuove configurazioni per DM0_0 e DM1_0 e le abbiamo chiamate "myConfig" e "myConfig1". Il DM superiore viene semplicemente utilizzato come porta AND a 3 bit, poiché il mux superiore fa passare l'uscita della porta AND e il buffer a 2 bit lo passa al blocco delle uscite. (La LUT a 2 bit potrebbe anche essere stata configurata come buffer per il blocco CNT/DLY.) Il connettore “to ASM è utilizzato per attivare una transizione di stato dallo stato 0 allo stato 1. Allo stesso modo, viene utilizzata una connessione a matrice dal Pin5 per attivare una transizione di stato dallo Stato 0 allo Stato 2. Infine, DM1_0 è configurato in modo che entrambi i mux passino attraverso il segnale dal Pin6. Il contatore è configurato come un ritardo di entrambi i fronti di 100 µs e la LUT a 2 bit è una porta AND. Proprio come in DM0_0, il blocco di uscita viene utilizzato per attivare un'altra transizione di stato.

Passaggio 4: utilizzo di un blocco DM per interagire con blocchi al di fuori dell'ASM

Utilizzo di un blocco DM per interagire con blocchi esterni all'ASM
Utilizzo di un blocco DM per interagire con blocchi esterni all'ASM
Utilizzo di un blocco DM per interagire con blocchi esterni all'ASM
Utilizzo di un blocco DM per interagire con blocchi esterni all'ASM

Come avrai notato nella sezione precedente, il blocco output di DM0_0 ha 3 output "to Matrix", mentre il blocco output di DM1_0 non ha output matrix. Questo vale anche per DM0_1 e DM1_1; DM0_1 ha 3 uscite matrice, mentre DM1_1 non ne ha. Le 3 uscite "to matrix" possono essere collegate a qualsiasi altro connettore a matrice, come pin, LUT, DFF, ecc. Questo è mostrato nella Figura 6.

Si noti che una volta che è stata effettuata una connessione tra un pin "to Matrix" e altri blocchi al di fuori dell'area della macchina a stati, esisterà in ogni stato, indipendentemente dalla configurazione DM utilizzata. Nella Figura 6, la sezione in alto mostra myConfig0 di DM0_0, che esiste nello Stato 0. La sezione in basso mostra myConfig1 di DM0_0, che esiste nello Stato 1. La connessione superiore “a Matrix” in entrambe le configurazioni è collegata al Pin3, mentre quella centrale uno è collegato a LUT0 a 2 bit. Solo una di quelle connessioni "a Matrix" può essere "attiva" in qualsiasi momento. Ci sono 4 opzioni nel menu del pannello delle proprietà per il blocco di uscita di DM0_0 e DM0_1: ● Out0/1/2 mantieni ● Bypass a out0, out1/2 mantieni ● Bypass a out1, out0/2 mantieni ● Bypass a out2, out1/1 mantieni Queste impostazioni vengono utilizzate per determinare quale delle tre uscite è attiva in ciascuna configurazione. Se viene selezionata la prima opzione, l'uscita della LUT a 2 bit del blocco DM non verrà passata a nessuna delle tre uscite "to Matrix". Il valore di questi tre segnali rimarrà invariato in quello stato. Tuttavia, se viene utilizzata una delle altre tre opzioni, l'uscita della LUT a 2 bit del blocco DM verrà passata rispettivamente a out0, out1 o out2 e il valore delle altre due uscite verrà mantenuto invariato.

Passaggio 5: esempio di progettazione

Esempio di progettazione
Esempio di progettazione

Nell'esempio di progettazione sopra, IN0, IN1 e IN2 sono combinati con OR. Nel frattempo, IN3 viene ritardato di 1 ms e quindi viene eseguito un AND con l'uscita della porta OR. Il blocco to Matrix è configurato in modo che l'uscita del blocco DM sia inviata a OUT0 in STATE0, mentre i valori a OUT1 e OUT2 vengono mantenuti.

Conclusione

Grazie alla loro riconfigurabilità, i blocchi di memoria dinamica nel Dialog GreenPAK SLG46880/1 sono estremamente flessibili e possono essere utilizzati in vari modi. Una volta che avrai imparato a lavorare con i blocchi DM, sarai in grado di creare progetti più complessi mettendo insieme diverse configurazioni di blocchi DM in diversi stati ASM.

Consigliato: