Forum: FPGA, VHDL & Co. Mig für Spartan6


von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Hat jemand einen Beispielcode in VHDL wie man den Ram Controller in den 
Code einbindet?
Ich habe von XIlinx das XTP039 vollführt und leider endet die Erklärung 
in CHipscope. In dem Dokument fehlt noch die Codeeinbindung.

Ich habe einen 128bit breiten Bus erzeugt. Hätte auch andere Busbreiten 
im letzen Schritt erzeugen können.

Ich kann mir grade nicht vorstellen einen 32bit auf einen 128bit breiten 
Bus zu mappen. Wenn man es mal gesehen hat dann ist es sicher trivial. 
Oer habe ich mir die falsche Breite doch erzeugt?

von hjk (Gast)


Lesenswert?

Langsam mit den jungen Pferden, was hast du gemacht und was funktioniert 
und was nicht?

So wie das klingt schaffst du es den MIG inklusive Hardware soweit in 
Betrieb zu nehmen das du mit Chipscope kucken kannst und bekommst 
sinnvolle Ergebnisse.

Falls ja, was fehlt dir noch? Damit sind doch 99% aller schwierigen 
Aufgaben geschafft.

von Dose (Gast)


Lesenswert?

> So wie das klingt schaffst du es den MIG inklusive Hardware soweit in
> Betrieb zu nehmen das du mit Chipscope kucken kannst und bekommst
> sinnvolle Ergebnisse.

Theoritsch vermutlich.

Der Haken: Ich habe kein Chipscope. Den Schritt muss ich übersprungen. 
Da das Folgende in der Erklärung fehlt, springe ich gerade ins leer.

von hjk (Gast)


Lesenswert?

Das ist schade. Einen Speicher ohne Chipscope mit dem MIG in Betrieb 
nehmen halte ich für extrem schwierig. Endweder es klappt auf Anhieb 
oder du hast sehr schlechte Karten.
Außer es ist ein Evalboard, dann ist das Risiko ja lediglich da du beim 
generieren was falsch gemacht hast.

Hoffe du hast wenigstens einen Logicanalyzer und kannst ein wenig damit 
beobachten.

Nächster Schritt ohne Chipscope is mMn: falls du es nicht eh schon hast, 
bau dir einen Selbsttest und leg dir den Fehlercounter auf LEDs oder so.

Ein einfacher reicht für den Anfang, z.b. Adresse als Daten speichern, 
zurücklesen und vergleichen.

Unbedingt dabei die Errorflags beobachten. (LA oder Oszi extrem 
hilfreich)


Ohne Chipscope wirst du im Fehlerfall wohl nicht drumrumkommen dir 
selbst ein Design zu bauen das die Chipscope Bits entgegen nimmt(Input) 
als auch wieder ausgibt.

von Dose (Gast)


Lesenswert?

hjk schrieb:

> Außer es ist ein Evalboard, dann ist das Risiko ja lediglich da du beim
> generieren was falsch gemacht hast.
SP601 da sollte die Hardware schon mal lauffähig sein.

> Hoffe du hast wenigstens einen Logicanalyzer und kannst ein wenig damit
> beobachten.
Bis jetzt habe ich alles auf UART rausgeschmissen. Bin auch ohne 
Logicanalyzer auch schon in die 100Mhz gekommen. Mit simulieren kann 
schon vieles ausschließen.
Leider gibt es vom Scheicherinterface kein VHDL Model :-<


> Nächster Schritt ohne Chipscope is mMn: falls du es nicht eh schon hast,
> bau dir einen Selbsttest und leg dir den Fehlercounter auf LEDs oder so.

Genau sowas suche ich. Das wäre schonmal was.

von J. S. (engineer) Benutzerseite


Lesenswert?

Was ist das für ein RAM-Controller, welches RAM, Technologie, 
Busbreiten, Anbindung?

Ich nehme an MCB (da S6) und ein DDRx?

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Ich nehme an MCB (da S6) und ein DDRx?
Genau MCB.

Im Schaltplan steht EDE1116ACBG_8E_E Hersteller ELPIDA.
Elpida kann ich auch auf dem Gehäuse lesen.
Das ist ein 1Gbit DDR2 SDRAM   64Mx16bit.

von hjk (Gast)


Lesenswert?

ein VHDL modell brauchst du auch nicht:

- nimm das Design vom MIG inklusive Verilog Modell und simulier es mit 
ISIM
- häng deine eigene Logik davor und simulier es mit ISIM
- ersetze den MIG durch eine von dir geschriebene Entity für die 
Testbench, welche funktional das gleiche tut aber in vhdl geschrieben 
ist.
Z.b. array das nur die unteren 8bit adressen = 256 Speicherzellen 
beinhält.

Jetzt kannst du den Core nutzen und in der Simulation den mit dem 
funktionalen Modell ersetzen.

Mit Evalboard kannst du dir eh sicher sein das du nicht irgentwelche 
Boardprobleme hast, sehe da wenig Risiko.

von Dose (Gast)


Lesenswert?

Werde es mal so probieren. Klingt plausibel.



Andere Frage: Chipscope wie kommt man an eine günstige Version?

So ein großes Entwicklungspaket wo es im Bündel  mit eingepackt ist, 
wollte ich mir nicht zulegen.

Gibt es das auch einzeln?

von Sebastian (Gast)


Lesenswert?

Ist denn Chipscope überhaupt geeignet. Ist die Frequenz des MIG nicht 
viel zu schnell um damit Fehler zu finden?

von Duke Scarring (Gast)


Lesenswert?

Sebastian schrieb:
> Ist denn Chipscope überhaupt geeignet. Ist die Frequenz des MIG nicht
> viel zu schnell um damit Fehler zu finden?
An den Signalen/Pins, die zum Chip gehen, wirst Du mit Chipscope nicht 
viel ausrichten können.
Aber der MIG bietet ja Statussignale (z.B. calib_done) an. Auch die 
Statussignale von cmd-, wr- und rd- FIFO dürften nicht ganz 
uninteressant sein.

Duke

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Man könnte den Memory Core wrappen und durchemulieren. Dann weiss man 
zumindest, dass er funktionell richtig arbeitet.

Ich glaube aber eher, dass man hier die Ports vermessen muss. Dazu 
eignet sich jeder echte Logic Analyzer.

(wer benutzt schon Chip Scope)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.