VHDL doppia porta aiuto di RAM

C

cloudz88

Guest
utilizzare i coregen di generare una doppia porta Ram ...

ha scritto i dati in AddrA 0,1,2,3,4,5,6,7,8,9

ma quando ho letto i dati da AddrB ...

AddrA 0 = AddrB 3 invece di AddrB 0
AddrA 1 = AddrB 4
AddrA 2 = AddrB 5
.
.
.
.
AddrA 9 = AddrB 12

.. è come la corrispondenza dei dati
doesnt WIF l'indirizzo array ....
qualsiasi idea del perché?

 
c'è un ritardo, quando i scrivere l'indirizzo in array o da quando ho letto l'indirizzo array ...........??

 
Salve,

Potete caricare il codice?Sarà utile a risolvere il problema presto ..

Saluti,
Kanags

 
e sta utilizzando doppia porta ....

1.u significa che dovrebbe avere per leggere / campione di dati su entrambi i bordi del ciclo ...
che stai facendo?

2.impostare tutti i bit di dati supplente ex 0101010 ...
il vedere il ritardo sul campo di applicazione

3.chk di proprietà del nucleo generatore ..
specailly il grande / little endian ...

4.utilizzare la bassa frequenza e aumenta il primo, dopo aver completato il test ..
5.chechk la varialbe utilizzato per la lettura ...

 
tom_hanks

Dual porto non significa che i dati vengono trasferiti su entrambi i bordi del clock.Ciò significa che la memoria array ha due indipendenti leggere e / o scrivere porti.Stai pensando di memoria Double Data Rate.

 
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorriso" border="0" />sì ho sbagliato

 
heres il programma in formato zip che i ....

Scrivi a Port A e B a Porto Continua ...
Siamo spiacenti, ma è necessario il login per visualizzare questo attaccamento

 
Salve,

In seguito è il codice che ho usato per fare vera doppia porta ariete forvirtex_II.Questo si lavora per la sintesi nad simulazione.È anche possibile fare simili per voi FPGA bersaglio.

RAMB16_S36_S36 è il vero virtex-II doppia porta ariete.

saluti,
ariete
========================
/************************************************* ******************************
* Tutti i diritti riservati.*
Design * Nome: * dpram
* Funzione: Dual porto Ram per Xilinx vertex2 *
* Coder: Mogambo *
************************************************** *****************************/

modulo dpram_32_512 (
ENA, ENB, WEA, web, clka, clkb, addra, addrb, Dina, dinb, douta, doutb
);
ingresso ena;
ENB ingresso;
ingresso WEA;
ingresso web;
ingresso clka;
ingresso clkb;
input [8: 0] addra;
input [8: 0] addrb;
input [31: 0] Dina;
input [31: 0] dinb;
output [31: 0] douta;
output [31: 0] doutb;
fix_0 filo;
filo web_n, wea_n;
assegnare fix_0 = 1'b0;
assegnare web_n = ~ web;
assegnare wea_n = ~ WEA;

/ / defparam RV.SETUP_ALL = 312;
/ / defparam RV.SETUP_READ_FIRST = 312;

RAMB16_S36_S36 RV (
. CLKA (clka),
. CLKB (clkb),
. ENA (ENA),
. ENB (ENB),
. SSRA (fix_0),
. SSRB (fix_0),
. WEA (wea_n),
. WEB (web_n),
. ADDRA (addra),
. ADDRB (addrb),
. DIA (Dina),
. DIPA ((fix_0, fix_0, fix_0, fix_0)),
. DIB (dinb),
. DIPB ((fix_0, fix_0, fix_0, fix_0)),
. DOA (douta),
. DOPA (),
. DOB (doutb),
. DOPB ()
);

endmodule
===================================

 
sorriex .. i dun realli dato comprendere i codici di Ram

ho letto da qualche forum .... issit impossibile leggere e scrivere sullo stesso indirizzo località?

 
Quali coregen RAM nucleo stai usando?Controllare la sua scheda di dati di documento per una spiegazione di ciò che succede se si tenta di leggere e scrivere contemporaneamente per lo stesso indirizzo.Mi aspetto che la scrittura per il successo, ma la lettura può essere danneggiato.La scheda di dati dovrebbe inoltre rispondere alle vostre domande.

 
ermm ... se utilizzare i loop Se ...... e ho bisogno di mettere in condizione 2 ..... Come devo scrivere?

 

Welcome to EDABoard.com

Sponsor

Back
Top