Hat jemand hier zufällig Erfahrung mit der Kopplung von ARM-uCs und FPGAs? Ich arbeite an einem ehemaligen Spartan 6 System, welches aus einem FPGA und einem externen ARM5, sowie weiterer Peripherie besteht. Das System lief unter ISE 14.6 mit einem Spartan 6 sehr gut und ist im Einsatz. Es soll nun erweitert werden und wird dazu auf einen Artix portiert. Dies wurde in der ISE 14.7 getan. Die Portierung ist formell gelungen, aber noch nicht getestet. Da aber ein kleiner FPGA verwendet werden soll, muss nun Vivado verwendet werden. Dazu habe ich einige einfache Interfaceschaltungen mit ChipScope realisiert, die ich damals zum Testen der ARM-Zugriffe benutzt habe. ES ist ein kleines RAM und eine Registerbank mit Anschluss einer seriellen Verbindung. Dieses kleine design war seinerzeit in ISE recht zielsicher zu implementieren, in Vivado geht es nicht. Der eigentlich schnellere!!! Artix ist nicht dazu zu bewegen, mit dem ARM zusammenzuarbeiten. Ich bekomme das Timing nicht hin. Unter ISE geht es scheinbar. Ist da etwas bekannt, dass Vivado die Chips noch nicht vollständig bedient?
Hocko79 schrieb: > Ist da etwas bekannt, dass Vivado die Chips noch nicht vollständig > bedient? Es könnte sein, dass die im tool bei neuen Chips hinterlegten Timing Werte noch etwas konservativ sind. Ansonsten vermute ich eher ein Konfigurationsproblem bei Vivado. Das constraint-System ist ja nun (etwas mehr) den Synopsis Strategie angepast und das UCF wird in der Regel obsolet und muss neu definiert werden.
Jürgen S. schrieb: > Ansonsten vermute ich eher ein Konfigurationsproblem bei Vivado. Das > constraint-System ist ja nun (etwas mehr) den Synopsis Strategie > angepast und das UCF wird in der Regel obsolet und muss neu definiert > werden. Darauf tippe ich auch. Einfach mal versuchen, die Strategies für Synthese und Implementierung zu ändern und dann die Ergebnisse beobachten. Mit den richtigen Einstellungen an dieser Stelle kann man einen Tradeoff zwischen Compilezeit und Resultaten erreichen, sodass das Kompilat auf Timing ist. Je nachdem, was für eine Buildmaschine zur Verfügung steht, kann man auch mehrere Implementationsets aufsetzen und für alle gleichzeitig den Build anstoßen. Vorallem bei Systemen mit hoher Anzahl an mittelmäßig leistungsfähigen Prozessorkernen erreicht man so recht kurze Compilezeiten für diese Evaluation. Bewährt hat sich für die Implementierung zum Beispiel die Post-Route Physical Optimization. Hierbei geht Vivado nach dem Routen (wie der Name bereits impliziert) her, und versucht durch Optimierungen wie Verdoppeln von FlipFlops in Pipelinestufen, usw. das Design auf Timing zu bekommen. Treibt zwar mitunter die Compilezeit gehörig in die Höhe, da dafür mehrere Iterationen benötigt werden, ist aber evtl. die einzige Chance ein funktionsfähiges Kompilat zu erhalten.
Die Constraints sind funktionell dieselben. Ich habe den Eindruck, dass der Baustein von den IOs irgendwie "langsamer" ist, als der Spartan. Ich bekomme sehr grosse Offsets reportiert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.