Forum: FPGA, VHDL & Co. Spartan 3e1600 Slice location in Bitfile


von TM (Gast)


Lesenswert?

Hallo,

Ich versuche momentan einen Slice einer Stelle in der Bitfile 
zuzuordnen. Leider finde ich hierzu nur wenig Informationen.

Ich weiß wie der Header der .Bit file aussieht, und ab wo die Frames 
beginnen. Ich kann jedem Frame nun auch einen Index geben, da ich weiß, 
dass der Spartan 3e1600 eine Framegröße von 5024 hat.

Wie komme ich nun vom Frameindex auf den Slice im Device.

Es würd mir schon reichen, wenn ich einzelne Bereiche Frames zuordnen 
kann, wie zum beispiel RANGE=SLICE_X18Y132:SLICE_X19Y135 gehört zu Frame 
x bis Frame y.

gruß tobias

von Marius W. (mw1987)


Lesenswert?

Vergiss das lieber ganz schnell. Eine Dokumentation darüber gibt es 
nicht, das ist eben alles Intellectual Property von Xilinx.

Du könntest durch Reverse-Engineering allerdings schauen, ob du was 
herausfindest. Zum Beispiel mit dem FPGA-Editor die LUT ändern und 
gucken, wo sich Konfigurationsbits ändern.

Gruß
Marius

von TM (Gast)


Lesenswert?

Ne das muss gehen ist sogar dokumentiert leider halt nicht gut genug:

Was ich bis jetzt hab ist, dass sich ein Frame in

Block Major und Minor einteilen lässt.

Das heißt wenn ich eine Frameaddresse von 0x00042400 habe, dann kann ich 
das auf Block = 0, Major = 2, Minor = 18 aufdröseln.

Nach 
http://www.xilinx.com/support/documentation/application_notes/xapp452.pdf

Hiernach kann ich nun auch sagen, dass es sich um eine CLB handelt. Kann 
ebenfalls dem Dokument entnommen werden.

Unter Configuration Frame Addressing ist dann beschrieben, wie es weiter 
aufgeteilt ist. Leider werde ich hierraus nicht besonders schlau.

von Carl Carlson (Gast)


Lesenswert?

TM schrieb:

> Ich versuche momentan einen Slice einer Stelle in der Bitfile
> zuzuordnen. Leider finde ich hierzu nur wenig Informationen.
>
> Ich weiß wie der Header der .Bit file aussieht, und ab wo die Frames
> beginnen. Ich kann jedem Frame nun auch einen Index geben, da ich weiß,
> dass der Spartan 3e1600 eine Framegröße von 5024 hat.
>
> Wie komme ich nun vom Frameindex auf den Slice im Device.
>
> Es würd mir schon reichen, wenn ich einzelne Bereiche Frames zuordnen
> kann, wie zum beispiel RANGE=SLICE_X18Y132:SLICE_X19Y135 gehört zu Frame
> x bis Frame y.
>
> gruß tobias

Wozu brauchst du das? Du kannst auch das ncd-file (das aus dem das 
*.bit-file generiert wird) in den FPGAeditor einlesen und dort LUT's etc 
verändern, wieder als ncd zurückschreiben und ein neues bitfile 
generieren.

MfG,

von TM (Gast)


Lesenswert?

Es sollen, Bitfehler im Configurationsspeicher des FPGA simuliert 
werden.

Die Netzliste ändern wäre eher unschön, da Einbitfehler simuliert werden 
sollen und eine Änderung in der Netzliste kann zu mehrfachen Bit 
veränderungen in der bifile führen

von TM (Gast)


Lesenswert?

Ok was ich auch dazu sagem muss es würde schon reichen wenn ich sagen 
kann Slice von bis sind im Frame so und so, was mir hierfür eigentlich 
nur noch fehlt, ist wie viele Slice in einem Frame sind. Alle anderen 
Informationen kann man aus dem XAPP452 entnehmen.

von Carl Carlson (Gast)


Lesenswert?

TM schrieb:
> Es sollen, Bitfehler im Configurationsspeicher des FPGA simuliert
> werden.
>
> Die Netzliste ändern wäre eher unschön, da Einbitfehler simuliert werden
> sollen und eine Änderung in der Netzliste kann zu mehrfachen Bit
> veränderungen in der bifile führen

Mit dem FPGA-editor kannst du das NCD nach PAR also nach Erstellung der 
Netzliste modifizieren, die netzliste wird da nicht bneu generiert.

Nach meinem verständnis wäre das Umsetzen eines einzelnen Bits in der 
LUT per FPGA-Editor gleichbedeutend mit einem einzlnen bitkipper im 
konfigspeicher.

MfG

von TM (Gast)


Lesenswert?

> Mit dem FPGA-editor kannst du das NCD nach PAR also nach Erstellung der
> Netzliste modifizieren, die netzliste wird da nicht bneu generiert.
>
> Nach meinem verständnis wäre das Umsetzen eines einzelnen Bits in der
> LUT per FPGA-Editor gleichbedeutend mit einem einzlnen bitkipper im
> konfigspeicher.
>
> MfG

Ich denke nicht wenn man bedenkt das auch die Routinginformationen im 
Bitfile vorhanden sind. Hinzu kommt noch das ich jetzt auch nicht 
wüsste, wie ich im NCD File nur 1 bit in einer LUT verändere.

von Duke Scarring (Gast)


Lesenswert?

TM schrieb:
> Ich versuche momentan einen Slice einer Stelle in der Bitfile
> zuzuordnen. Leider finde ich hierzu nur wenig Informationen.
Vielleicht kann der Link etwas weiterhelfen:
http://www.fpl2012.org/Presentations/FP19.pdf

Duke

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.