Gast
#1485978
Hallo an Alle, ich versuche gerade zwei Microblazes per FSL zu verbinden und eine Kommunikation zu realisieren. Die Kommunikation funktioniert auch schon in beide Richtungen, jedoch benötigt der Microblaze 20 Takte für einen "putfslx(val, MBXE_FSL, FSL_NONBLOCKING)" - Befehl. Laut Datenblatt (Microblaze Processor Reference Guide) soll der nicht-blockierende Befehl aber in einem Takt möglich sein. Ich habe verschiedenen Einstellungen am FSL Bus vorgenommen, jedoch ohne jegliche Veränderung. Momentan arbeite ich mit folgenden Einstellungen am FSL Bus: C_EXT_RESET_HIGH = 1 C_ASYNC_CLKS = 0 C_IMPL_STYLE = 0 C_USE_CONTROL = 0 C_FSL_DEPTH = 4 Ich benutze das Xilinx EDK 11.3 und das Spartan 3A DSP 1800 Board. Hat jemand eine Idee, wie diese 20 Takte zustande kommen, bzw. hat jemand gleiche oder andere Erfahrungen gemacht? Wenn der FSL wirklich 20 Takte benötigt, dann ist daran doch nichts mehr "Fast" und es macht wirklich nur Sinn einen Coprocessor per FSL zu Verwenden, wenn dieser große Aufgaben lösen soll und wenig Parameter braucht. Zusätzlich würde mich interessieren, wie ich einen eigenen IP Core entwickel, der an mehr als einem Microblaze per FSL angeschlossen werden kann. Der "Create and Import Peripheral Wizard" unterstützt nur einen Input FSL und einen Output FSL, aber leider nicht mehrere der gleichen Sorte. Hat jemand eine Idee, wie man das hinbekommen kann? Wenn es nur die Möglichkeit gibt, sich einen IP Core mit einem Input und einem Output FSL zu generieren und man dann per Hand in den VHDL und MPD Dateien rumbasteln muss, wäre es schön zu wissen, wie man da am besten vorgeht, und was genau man anpassen muss... Gruß, ChrisB