L'implementazione di un registro di file di grandi dimensioni

A

asicman

Guest
Ciao,

Sto cercando di trovare il modo migliore per implementare un file di grandi dimensioni molto registro (1030 -bit registri 16).Sul lato scrivere sto usando s dritto approccio:

Codice:processo (CLK)

se rising_edge (CLK), quindi

if (RST = '1 '), poi

Code> ... <RESET

altro

if (ADDR = C_ADDR_REG0) allora

reg_file.REG0 <= WR_DATA;

End If

if (ADDR = C_ADDR_REG1) allora

reg_file.REG1 <= WR_DATA;

End If

<.....>
 
Oggi FPGA hanno RAM interna per scopi analoghi.Gli strumenti di vendor sono in genere in grado di estrarre l'istanza componente RAM dal codice VHDL, se il comportamento attuato si adatta ai requisiti hardware.La documentazione di strumenti racconta in dettaglio come, ad esempio il software Q.uartus A.ltera manuale.Essi hanno anche semplice codice template per dimostrare il metodo.

L'altro metodo è esplicita esemplificazione di componenti di memoria RAM da specifiche librerie venditore.Questo assicura che l'operazione sul file registro soddisfa tutti i requisiti di hardware reale, per esempio per quanto riguarda tempi di indirizzi, dati e segnali di controllo.

 
In Xilinx FPGA, si può anche usare per implementare un IPCoreGenerator elementi di memoria come BlockRAMs.Utilizzando i modelli di linguaggio, ti spiegano come creare una RAM, ROM ecc Questo vie sono più facili da scrivere o leggere un valore dalla RAM e ROM.

 
Questo non può essere fatto con un blocco di RAM in quanto, i valori scritti nel registro devono essere utilizzati da altri blocchi (cioè molteplici registri devono essere letti da più blocchi nello stesso tempo), una RAM con una sola o addirittura un Doppia uscita per i dati non lo taglio.

 

Welcome to EDABoard.com

Sponsor

Back
Top