SDRAM uniPHY

Sezione dedicata al linguaggio di descrizione hardware per logiche programmabili

SDRAM uniPHY

Postby Gaia » 22 Oct 2012, 09:55

Buongiorno a tutti....
Premesso che non sono un' esperta di FPGA e che da poco ci sto lavorando, ringrazio in anticipo tutti coloro che mi forniranno delle delucidazioni...

Partiamo dall'inizio....Sto utilizzando dipositivi Altera (Stratix III), Quartus V.12 sp2 con licenza e ModelSim v.10 (free version)

Detto questo, il mio obiettivo attuale è leggere/scrivere su una memoria esterna.... Ovviamente ho creato il controller per la DDR2 SDRAM che ho a disposizione e ho generato il file di esempio in formato VHDL (il Verilog non lo conosco)!

Il 1 problema che devo affrontare è il clk....alle memorie esterne bisogna fornire il clock del souce...nel file d'esempio il tutto viene fatto in questo modo:

---dichiarazione del componente

component altera_avalon_clock_source is
generic (
CLOCK_RATE : positive := 10
);
port (
clk : out std_logic -- clk
);
end component altera_avalon_clock_source;

-- port map

pll_ref_clk : component altera_avalon_clock_source
generic map (
CLOCK_RATE => 100
)
port map (
clk => pll_ref_clk_clk_clk -- clk.clk segnale interno
);


Il mio problema è che non so assolutamente come generare il clock avalon....ossia, qual è la funzione del MegaWizard che mi genera il componente? oppure, deve essere creato in qualche altro modo????

Vi ringrazio anticipatamente

Gaia
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41

Re: SDRAM uniPHY

Postby deluca » 22 Oct 2012, 11:39

Salve,
nell'interesse di tutti i membri iscritti, potresti gentilmente presentarti e spiegare meglio quale è lo scopo del tuo progetto?

Di che scheda di sviluppo stai parlando?
Hai per le mani la Stratix III Development Kit o altro

Potresti darci qualche riferimento a tal proposito? ;)

In che modalità devi gestire la DDR2, in Half o Full rate?

Grazie
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: SDRAM uniPHY

Postby Gaia » 22 Oct 2012, 19:05

Mi scuso per non essermi subito presentata, ma appena ho trovato questo forum italiano per me è stato come vedere un'oasi nel deserto :)!!! E quindi immediamente ho scritto senza pensarci....Ora mi sono presentata nell'apposita sezione :)

Si sto lavorando con Stratix III Development Kit e la DDR2 la sto gestendo in modalità Half Rate....
Lo scopo primario del mio progetto è capire come scrivere/leggere su questa memoria perchè poi tutte le mie scoperte saranno utilizzate per creare dei sistemi di telecomunicazione in FPGA!

Purtroppo è la prima volta in assoluto che vedo queste memorie e quindi ho una gran confusione in testa e per di più in internet trovo materiale poco chiaro (o almeno poco chiaro per me :) )!

La ringrazio per la sua risposta, e se ha altre domande da farmi lo faccia pure....magari semplicemente scrivendo mi chiarisco le idee anche io! :)
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41

Re: SDRAM uniPHY

Postby deluca » 22 Oct 2012, 20:05

ok scuse accettate :) e benvenuta

in che modo stai gestendo la lettura/scrittura sulle memorie DDR2 ?
attraverso l'implementazione di architettura AVALON sopc NIOS II o attraverso il controllo diretto HW magari con FSM sotto uniPHY controller?
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: SDRAM uniPHY

Postby Gaia » 23 Oct 2012, 17:31

Al momento quello che sto tentando di fare è un project, che richiama al suo interno il controller uniPHY, e con una FSM gestire la lettura/scrittura. Da quel che ho capito finira, gli unici segnali che devo pilotare io sono quelli di tipo Avalon (ad esempio gli indirizzi, i dati da scrivere, ecc...)....Gli altri segnali (ad esempio CAS, RAS, dq,dsq) in teoria e se ho capito bene, dovrebbe gestirli il controller autonomamente....

E' corretto ciò che ho scritto? Vuole che posti il controller uniPHY????

La ringrazio infinitamente......
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41

Re: SDRAM uniPHY

Postby legacy » 23 Oct 2012, 17:44

io non ti so aiutare direttamente perche' non ho mai tentato di gestire una memoria dinamica
pero' in computer science (erasmus) ho dovuto gestire delle ram statiche esterne alla fpga

e' un filino + semplice delle dinamiche perche' non devi rinfrescarla continuamente
ed hai un solo address bus field da propagare, con le dinamiche ne hai almeno 2, ras e cas

poi sono state fatte notare un po' di cose in Verilog (che in USA va + di moda)
per mettere in luce aspetti e differenze di SRAM QDR E RLDRAM
aspetti come lo zero bus latency NoBL o Zero Bus Turnarount ZBT
gli errori che si fanno spesso a pensare che sia facile ottenerli dalle tecniche di sintesi
e come ottenerli davvero raddoppiando di fatto la banda !

insomma tecniche e problematiche per gestire l'accodamento delle operazioni di read e write
in modo che non fossero conflittuali per il bus, perche' sono queste le magagne piu' comuni
e su questo hanno insistito parecchio: ocio =P
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: SDRAM uniPHY

Postby peter90 » 23 Oct 2012, 19:09

legacy wrote:io non ti so aiutare direttamente perche' non ho mai tentato di gestire una memoria dinamica
pero' in computer science (erasmus) ho dovuto gestire delle ram statiche esterne alla fpga
e' un filino + semplice delle dinamiche perche' non devi rinfrescarla continuamente
ed hai un solo address bus field da propagare, con le dinamiche ne hai almeno 2, ras e cas
poi sono state fatte notare un po' di cose in Verilog (che in USA va + di moda)
per mettere in luce aspetti e differenze di SRAM QDR E RLDRAM
aspetti come lo zero bus latency NoBL o Zero Bus Turnarount ZBT
gli errori che si fanno spesso a pensare che sia facile ottenerli dalle tecniche di sintesi
e come ottenerli davvero raddoppiando di fatto la banda !
insomma tecniche e problematiche per gestire l'accodamento delle operazioni di read e write
in modo che non fossero conflittuali per il bus, perche' sono queste le magagne piu' comuni
e su questo hanno insistito parecchio: ocio =P


@Legacy posso dirti una cosa ????????
mhmmm, non ti sembra che le tue argomentazioni siano un pò, anzi, un molto [OT] ???????
Io non ne capisco nulla di ram dinamiche ma gaia aveva richiesto aiuto sul vhdl e tu, come capita spesso, non fai altro che girare
attorno all'argomento riempiendo i topic di parole, parole , parole senza produrre nessun aiuto.

Buonasera a tutti.
peter90
 
Posts: 44
Joined: 11 Apr 2012, 19:46

Re: SDRAM uniPHY

Postby legacy » 23 Oct 2012, 20:10

tu, come capita spesso, non fai altro che girare attorno all'argomento riempiendo i topic di parole, parole , parole senza produrre nessun aiuto.


io ci rifletterei molto prima di fare una affermazione di questo tipo, e' un po' antipatica e non motiva certo a darti proprio alcun aiuto, non ti pare :roll:

a chi legge il thread senza avere il problema specifico di Gaia ho dato un mezzo consiglio, che e': se volete sperimentare direttamente a tu per tu con le ram, vi consiglio di usare prima le statiche.

avendo tu dichiarato che "non ne capisci nulla di ram dinamiche", forse e' un libero consiglio che potrebbe interessarti

a Gaia, ho messo una pulce nell'orecchio, un warning che e' piu' un incentivo a non sottovalutare la problematica, non centra se poi la mera instrumentazione e' vhdl o verilog, e nemmeno se passa dal modello Avalon, i concetti sono gli stessi, e i warning sono gli stessi, se leggi il real world book che ho consigliato in questo sub forum te ne fai una idea

Infine ho citato un paio di modelli di ram particolarmente performanti (usati in apparati di rete ad alte prestazioni) su cui si puo', se interessa, approfondire cercando in rete problematiche e relative soluzioni, con le chiavi fornite.

pero' guarda a me scocciano queste risposte, davvero, e mi astengo da eventuali prosegui.

ciao.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: SDRAM uniPHY

Postby Gaia » 24 Oct 2012, 10:40

Susu fate i bravi :D

Il Verilog al momento lo escludo a priori.... :lol:

Scaricherò invece il "VHDL cookbook" perchè magari posso trovare informazioni utili!
Partire dalle Ram statiche non mi è possibile per mancanza di tempo....e quindi devo per forza fare un salto nel buio.... :)
Cmq terrò a mente il fatto che "i warning" sono gli stessi...

Grazie a tutti :)
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41

Re: SDRAM uniPHY

Postby legacy » 24 Oct 2012, 19:12

forse ti ho trovato un quasi real vhdl book, forse.
thread del materiale di questo sub-forum.
valuta tu. ciao.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: SDRAM uniPHY

Postby Gaia » 24 Oct 2012, 19:43

Sisi letto il thread...il libro l'ho comprato tempo fa, a volte lo abbraccio la sera prima di andare a dormire....:)!!!

Ritengo sia fatto molto bene....Però, come hai scritto anche te, su alcuni argomenti è un po' superficiale....TIPO SULLE SDRAM :lol: :lol: :lol: :lol:
Nel senso che dà un'infarinatura generale su tutto, ma appena si va in campi più specifici.....beh, lì serve solo tanta pazienza :)!!!

Ma ce la farò, stasera sono positiva ;)
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41

Re: SDRAM uniPHY

Postby flz47655 » 24 Oct 2012, 20:00

Hai già provato a dare un'occhiata a questo materiale?
http://www.altera.co.jp/literature/an/an436.pdf
http://www.altera.co.jp/literature/an/an517.pdf
http://www.altera.com/support/examples/ ... niphy.html

Io per la mia dev-board (molto più modesta di uno Stratix III Development Kit) ho un tutorial che sembra fatto bene, potresti provare a dargli un'occhiata, sembra scritto in modo semplice e passo-passo: ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Tutorials/VHDL/DE0-Nano/Using_the_SDRAM.pdf

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: SDRAM uniPHY

Postby deluca » 24 Oct 2012, 22:28

Sig.ina Gaia,

visto l'interesse mostrato nei confronti di queste benedette SDRAM DDR2 (ma come mai si è andata a scegliere questa rogna !!)
Le posso consigliare un testo, secondo me tra i più interesanti da tenere sempre a portata di mano sulla scrivania
si tratta del: Volnei A. Pedroni "DIGITAL ELECTRONICS AND DESIGN WITH VHDL"
http://www.amazon.com/Electronics-Calif ... 0123742706

al paragrafo 16 una buona discussione sulle memorie volatili in particolare le SDRAM da cui potrà trarre aiuto per la risoluzione delle problematiche legate alla loro interfaccia e temporizzazione.

16.1 Memory Types
16.2 Static Random Access Memory (SRAM)
16.3 Dual and Quad Data Rate (DDR, QDR) SRAMs
16.4 Dynamic Random Access Memory (DRAM)
16.5 Synchronous DRAM (SDRAM)
16.6 Dual Data Rate (DDR, DDR2, DDR3) SDRAMs
16.7 Content-Addressable Memory (CAM) for Cache Memories

L'argomento, come ha potuto constatare, è veramente ostico.
Inoltre, una cosa è l'utilizzo delle DDR2/3 già installate sulle demo-board Terrasic Altera utilizzando gli ipCore come l'uniPHY messi a disposizione da Quartus
una cosa è realizzare un supporto PCB multilayer proprietario con a bordo memorie di quel tipo..... (che è quello che tentiamo di fare anche noi) e gestirle con VHDL nativo o con ipCore DDR2/3 controller terze parti. Oltre alla gestione dei timing a livello interfaccia HW ci stanno dietro una serie di problematiche legate al signal-integrity non poco indifferenti che è quello che più ci fa sbattere la testa....

Consulti anche i pdf dei link che sono stati suggeriti ed esponga eventualmente i dubbi incontrati.
PS. quale edizione del "VHDL cookbook" ha consultato ? la prima del 90'?

Saluti
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: SDRAM uniPHY

Postby Gaia » 26 Oct 2012, 18:41

Eccomi! Sono stata un po' impegnata negli ultimi giorni..... :D

@flz47655 : grazie mille per i link, li ho consultati e li ho trovati molto interessanti

@deluca: grazie mille per la segnalazione del libro.....è un oggetto molto raro, nel dipartimento c'è solo una copia per consultazione interna....non l'avrei mai scoperto senza la sua dritta :) !!!!


deluca wrote:
...una cosa è realizzare un supporto PCB multilayer proprietario con a bordo memorie di quel tipo..... (che è quello che tentiamo di fare anche noi) e gestirle con VHDL nativo o con ipCore DDR2/3 controller terze parti. Oltre alla gestione dei timing a livello interfaccia HW ci stanno dietro una serie di problematiche legate al signal-integrity non poco indifferenti che è quello che più ci fa sbattere la testa....


Non ambisco a tanto, almeno con le mie conoscenze attuali :)

Per quanto riguarda la versione del "VHDL codebook" ho consultato quella del '90.......


Cmq in questi giorni diciamo che l'approccio con queste memorie è un po' cambiato....anche grazie alle dritte di tutti voi....
Vi linko un tutorial che sto leggendo e provando.....

http://www.altera.com/literature/tt/tt_qsys_intro.pdf

Buona serata a tutti
Gaia
 
Posts: 10
Joined: 22 Oct 2012, 09:41


Return to VHDL x FPGA

Who is online

Users browsing this forum: No registered users and 21 guests

cron