implementazione di una matrice

Sezione dedicata al linguaggio di descrizione hardware per logiche programmabili

implementazione di una matrice

Postby alfo84 » 15 Sep 2013, 13:50

Salve a tutti, ho cercato su internet qualche documento che mi spiegasse un pò come
si può implementare una matrice in vhdl. Allora da quello che ricordo dal linguaggio C, utilizzavo
il costrutto typedef (spero di non sbagliare il nome). In vhdl ho visto che c'è il costrutto type che ho anche implementato
per realizzare il filtro fir con cicli for (vedete topic precedente) ma che mi dà errore siccome
a mio parere non so ancora bene come adoperare vettori di vettori(o più precisamente le matrici!!!).
Ecco perche mi rivolgo a voi, mi sarebbe molto utile qualche esempio di codice di un'implementazione
di una matrice 2 * 2 o altro.

Ciao
alfo84
 
Posts: 42
Joined: 06 Sep 2013, 12:51

Re: implementazione di una matrice

Postby Leonardo » 15 Sep 2013, 23:05

Nel linguaggio C typedef non serve per creare matrici, serve per ridefinire il nome di un tipo.

L'esempio più semplice di matrice 2D in VHDL è una semplice memoria RAM
Nei template di Quartus per il codice VHDL trovi "Single port RAM" di cui riporto uno stralcio:

Code: Select all
        -- Build a 2-D array type for the RAM
   subtype word_t is std_logic_vector((DATA_WIDTH-1) downto 0);
   type memory_t is array(2**ADDR_WIDTH-1 downto 0) of word_t;

   -- Declare the RAM signal.   
   signal ram : memory_t;


Nella prima riga di codice si definisce un sottotipo ma è l'equivalente del typedef del linguaggio C, in parole povere si potrà utilizzare word_t per indicare un std_logic_vector((DATA_WIDTH-1) downto 0)

Nella seconda riga si definisce un nuovo tipo memory_t che è un array di una certa dimensione di word_t che a sua volta sono vettori di std_logic. Si ottiene quindi un array di array, una struttura 2D che è per l'appunto la memoria.

Nella terza riga si dichiara un segnale come memory_t, ovvero come memoria 2D con cui è facile ragionare in termini di righe e colonne, è l'effettiva concretizzazione della memoria, nelle righe prima sono definita ma non istanziata

Spero di averti reso le idee un pò più chiare
Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: implementazione di una matrice

Postby alfo84 » 17 Sep 2013, 17:12

Grazie dell'aiuto. Ciao
alfo84
 
Posts: 42
Joined: 06 Sep 2013, 12:51


Return to VHDL x FPGA

Who is online

Users browsing this forum: No registered users and 12 guests

cron