Frage zum Block RAM

Gast #2519826
Lesenswert?
• ▲
▼
Ich möchte den Block RAM von einem Virtex 5 verwenden.

Ich habe eine Timing Simulation durchgeführt. Dabei ist mir aufgefallen 
das ein Block RAM immer einen ADDR_AL und ADDR_AU, EN_AL, EN_AU, WE_AL 
und WE_AU besitzt.

Wo liegt denn der Unterschied zwischen den Signalen mit AL und AU? Wenn 
man sich die Timing Simulation anschaut, dann benötigen die Signale 
schon deutlich unterschiede bis zum BLOCK RAM
Gast #2519930
Lesenswert?
• ▲
▼
Bei 400MHz muss man aber an einigen Stellen schon mal genauer 
hinschauen. Ich habe mein Design mit Plan Ahead kontrolliert und muste 
feststellen das der Autorouter einige sehr ungeschickte Platzierungen 
vorgenommen hat. Demnach habe ich einige Zeitkritischen Elemente selbst 
plaziert und fixiert.

Ich habe bereits nach den Setup/Hold Zeiten im Xilinx Datenblatt 
nachgeschaut. Dort steht leider nur die Schaltzeit für EN oder WR. Dort 
ist nicht die Rede von EN_AU EN_AL, WR_AU und WR_AL

Die jeweiligen Zeiten sind schon um 1ns auseinander.
Gast #2519996
Lesenswert?
• ▲
▼
Johann schrieb:
> Bei 400MHz muss man aber an einigen Stellen schon mal genauer
> hinschauen.
Na 400 MHz ist auch kein Kindergeburtstag mehr, auch wenn das Marketing 
etwas anderes suggeriert.

Was willst Du damit machen?

Eventuell kannst Du ja den Speicher verdopplent und dafür nur mit 200 
MHz nutzen.

> Ich habe mein Design mit Plan Ahead kontrolliert und muste
> feststellen das der Autorouter einige sehr ungeschickte Platzierungen
> vorgenommen hat.
Je größer der FPGA, um so schwerer hat es die P&R-Software...

> Demnach habe ich einige Zeitkritischen Elemente selbst
> plaziert und fixiert.
Wenn Du das schon am Anfang der Designphase machen must, wünsche ich Dir 
viel Spaß. Unter Umständen darfst Du das dann bei jeder Neusynthese 
machen.

Johann schrieb:
> Ich möchte den Block RAM von einem Virtex 5 verwenden.
Es gibt ca. 6 verschiedene Typen vom Virtex 5. Die dann noch in 
verschiedenen Speedgrades und Gehäusen.
Welchen verwendest Du genau?

Duke
Gast #2520009
Lesenswert?
• ▲
▼
Ich nehme Speedgrade -1 (muss ja auch alle bezahlbahr bleiben. Das 
Design ist nicht sehr umfangreich benutze geraqde mal 1% der FF und 1% 
der LUTs. Ich benötige auch nur 2 Block RAMS. Die Daten werden 
digitalisiert und gleich versendet. Daher ist dies auch och gut pero 
hand zu plazieren. (Es hat auch Vorteile man lernt besser den FPGA 
kennen ^^)
Gast #2520023
Lesenswert?
• ▲
▼
Duke Scarring schrieb:
> Es gibt ca. 6 verschiedene Typen vom Virtex 5.
Irgendwie ist mir da eine Ziffer abhanden gekommen: Ich meinte 26.

Johann schrieb:
> Speedgrade -1
Äh. Schau mal bitte hier rein:
http://www.xilinx.com/publications/prod_mktg/virtex5-product-table.pdf

Und die wichtigste Frage hast Du auch noch nicht beantwortet:

Was soll Dein Design machen?

> Die Daten werden
> digitalisiert und gleich versendet

Mit welcher Datenrate, Bitbreite, woher, wohin?

Duke
Gast #2520137
Lesenswert?
• ▲
▼
Verwenden tue ich einen xc5vlx30t.

Das Problem besteht schon darin das ich mit Plan Ahead und der Timing 
Simulation unterschiedlich Werte bei einfachen Datenleitungen bekomme.

z.B. die Verzögerungszeit von einem LVDS_25 PAD beträgt laut Datenblatt 
1.06ns. Mit Plan Ahead erhalte ich 1.055ns (was ja auch richtig ist)

Mit der Timing Simulation erhalte ich 1.15ns

Das ganze summiert sich dann bis zum 1. FF auf eine Abweichung von 
1,5ns. Das ist viel zu viel ich weis momentan noch nicht woran es liegt.

Ich verwende ISE 11.4. Ich werde es mal mit einer aktuellen ISE Version 
ausprobieren.
#2520222
Lesenswert?
• ▲
▼
Und welche Constraints werden da nicht erfüllt? Wird da ein ADC 
eingelesen? 400MHz vom IO bis zum BlockRAM sollten eigentlich gut gehen, 
wo stört da di Pad-Verzögerung? Kommen doch dann alle Signale des ADC 
etwa gleich verzögert an. Nimmst du die IOB FlipFlops, um die Daten erst 
mal in das FPGA Fabric zu holen? Von Hand Platzieren sollte immer das 
letzte Mittel sein...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren