Forum: FPGA, VHDL & Co. Logik zu bestehendem Design hinzufügen


von Steffen H. (Gast)


Lesenswert?

Hallo zusammen,

ist es eigentlich möglich, ein unbekanntes Design nachträglich mit 
eigener Logik zu erweitern? Konkret geht es um einen Spartan 2E 
(XC2S300E). Ich habe Zugriff auf den Bitstream und möchte gerne eigene 
Logik hinzufügen.

Grüße
Steffen

von Gustl B. (gustl_b)


Lesenswert?

Nur der Bitstream reicht nicht. Eine Netzliste wäre mindestens 
notwendig.

von Martin S. (strubi)


Lesenswert?

Moin,

es gibt Tools, die aus dem Bitstream Netzlisten machen. Moeglich, dass 
es da fuer die aelteren Spartaner auch was in der Opensource gibt.
Aber mit den Netzlisten kann man nicht sonderlich viel mehr machen als 
Blackbox-Simulationen, unterm Strich also: Lohnt nicht gegenueber 
Neuentwicklung.

von Steffen H. (Gast)


Lesenswert?

Ich möchte gerne einen Datenstrom, der vom FPGA verarbeitet wird, 
ausleiten. Und, wenn es sich anbietet, auf dem FPGA auch noch 
vorverarbeiten.

Da ich noch am Beginn des Projekts stehe, würde ich mir den Datenstrom 
auch gerne einmal anschauen. Dafür würde ich Chipscope verwenden, wenn 
das möglich ist.

Aber wenn ich Euch richtig verstehe, ist es einfach, neben dem 
existieren FPGA einen weiteren anzuflanschen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Steffen H. schrieb:
> Aber wenn ich Euch richtig verstehe, ist es einfach, neben dem
> existieren FPGA einen weiteren anzuflanschen?
Naja, je nachdem, wie man "einfach" definiert.

Der übliche Weg wäre, an die interessanten Leitungen Pods eines 
hinreichend potenten Logic-Analyzers anzuschließen und den Datenstrom 
aufzuzeichnen.

von Steffen H. (Gast)


Lesenswert?

Lothar M. schrieb:
> Der übliche Weg wäre, an die interessanten Leitungen Pods eines
> hinreichend potenten Logic-Analyzers anzuschließen und den Datenstrom
> aufzuzeichnen.

Ja, stimmt. Allerdings handelt es sich um LVDS. Die unterstützt mein 
Logikanalysator leider nicht nativ. Also würde ich einen Umsetzer 
benötigen. Den müsste ich dann an meine Leitungen anschließen und 
hoffen, dass er mir das Signal nicht verfälscht. (Ich weiß nicht, wie 
robust LVDS ist - ich habe noch nicht damit gearbeitet.)

Es wäre sehr schön gewesen, ich hätte einfach ein Chipscope hinzufügen 
können und mir die Signale direkt anschauen können.

Vielen Dank für Eure Hilfe!
Steffen

von Duke Scarring (Gast)


Lesenswert?

Steffen H. schrieb:
> Konkret geht es um einen Spartan 2E (XC2S300E).
Hast Du schon die passende Toolchain installiert und getestet?
Wenn ich das richtig sehe, ist ISE 10.1 die letzte Version, die den 
Spartan 2E unterstützt.

Duke

von Steffen H. (Gast)


Lesenswert?

Duke Scarring schrieb:
> Hast Du schon die passende Toolchain installiert und getestet?

Noch nicht. Zunächst möchte ich meine Möglichkeiten prüfen. Aber ich 
meine mich zu erinnern, mit dem Spartan 2 früher gearbeitet zu haben. 
Eine passende ISE Version müsste ich noch da haben.

von Duke Scarring (Gast)


Lesenswert?

Steffen H. schrieb:
> Ich weiß nicht, wie
> robust LVDS ist - ich habe noch nicht damit gearbeitet.
LVDS ist ziemlich robust. LVDS-zu_CMOS-Wandler gibt es z.B: bei TI, auch 
mit mehreren Kanälen. Du brauchst wahrscheinlich die ohne interne 
Terminierung, um sie nah an der Quelle oder dem Ziel parallel mit 
anzuschließen.

Ich nehme mal an, das nicht alle 120 Pins (von einem FG456) als LVDS 
verwendet werden. Aber ggf. muß damit gerechnet werden, das auf den 
Leitungen ein SERDES-Protokoll gefahren wird.

> Es wäre sehr schön gewesen, ich hätte einfach ein Chipscope hinzufügen
> können und mir die Signale direkt anschauen können.
Dafür braucht man freien Blockram und das Design...


Martin S. schrieb:
> es gibt Tools, die aus dem Bitstream Netzlisten machen.
Vermutlich hat nur Xilinx selbst sowas. Und die Mitarbeiter die sich mit 
dem Spartan 2 auskennen, sind bestimmt auch schon in Rente...

Duke

von Martin S. (strubi)


Lesenswert?

Duke Scarring schrieb:
> Vermutlich hat nur Xilinx selbst sowas. Und die Mitarbeiter die sich mit
> dem Spartan 2 auskennen, sind bestimmt auch schon in Rente...

Fuer den Spartan3 hatte ich mal eine obskure .exe aus Fernost im 
Gebrauch, mit einem ollen ISE-Tool konnte man aus der annotierten ncg 
wieder (unlesbares) VHDL machen. Und fuer spaetere Architekturen gibt's 
BIL, BRT, und vermutlich findet man auch in Projekt X-Ray ein paar 
Skripte.
Trotzdem kann man mit der Netzliste nicht viel anfangen, ausser einige 
wenige Detailinformationen extrahieren, oder da und dort ein 'enable' 
kippen.
Roundtrip (re-compilieren in Bitstream) geht fast immer schief, weil die 
Timing-Constraints natuerlich fehlen.
Der Aufwand, da eigene Trace-Logik dranzuflanschen duerfte insofern 
immens groesser sein als derjenige der Nachbildung.

: Bearbeitet durch User
von Xilinx-user (Gast)


Lesenswert?

Steffen H. schrieb:
> Dafür würde ich Chipscope verwenden, wenn
> das möglich ist.
Kaum, denn der XC2S300E ist so klein, dass dort kaum Platz sein wird.

Martin S. schrieb:
> Fuer den Spartan3 hatte ich mal eine obskure .exe aus Fernost im
> Gebrauch,

welche?

von Minerva des Bernsteins (Gast)


Lesenswert?

fpga_editor aus der ISE-tool-suite kann Designs ohne den Umweg 
VHDL/Verilog verändern (*.ncd genügt). Ist aber nur für kleine 
Änderungen (i.e. signal invertieren) praktikabel. Außer für Halbgötter 
und andere ausgerottete Fabelwesen.

https://www.xilinx.com/support/documentation/sw_manuals/help/iseguide/mergedProjects/fpga_editor/fpga_editor.htm

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.