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
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.
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?
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.
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
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
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.
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
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.
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?