hi, ich hab hier von meiner Arbeitstelle nen Zynq-DevKit von Xilinx gesponsort bekommen. Ich soll mich mal ein bissel in die Entwicklungstools und den Design-Flow einarbeiten. Daher wollte ich mal fragen ob jemand schon Erfahrung mit dem Zynq hat ein paar kleine Design gemacht hat. Zu meinen Vorkenntnissen: Im Studium immer vor C-Programmieren gedrückt, hier auf Arbeit zwangsweise mit BlackFins von AnalogDevices in Kontakt gekommen. Kann jetzt meine eigenen einfachen Funktionen schreiben, UART-Controller steuern, Interruptroutine implementieren... so mehr Kleinkrams. Hab noch nicht wirklich Durchblick von Startup-Code oder so (Linker und was weiß ich was es da noch alles gibt). Also ausm Stand kann ich kein komplett lauffähiges Bare-Metal-Prog zusammenschreiben. FPGA-Design und PlanAHead als Entwicklungsumgebung beherrsche ich erstmal ausreichend. Hab aber noch nie ne embedded-Source oder so eingefügt und oder mit dem Xilinx EDK-Tool gearbeitet. Und ich weiß auch nicht wie man eine "Verbindung" zwischen PlanAHead und EDK oder den sonstigen Tools herstellt. Hab mir eigentlich alles was ich von xilinx gefunden hab an Pdfs und Beispielcode runtergeladen. Auch mal hier und da nen Beispiel nachgebaut, aber das ist alles recht schwerfällig und mir fällt es schwer nen roten Faden herauszufiltern, so dass ich mir meine eigene Vorgehensweise/ Kochrezept zurecht legen kann. Ich sags mal so mit mehr Zeitaufwand findet man bestimmt auch mit xilinx-Resourcen den Einstieg. Aber vllt hat sich ja schon jemand da durch geackert und kann einem bestimmte Beispielaufgaben, Tutorials, PDFs oder einfach ne kleine Zusammenfassung über den Design-Flow empfehlen, die einem den Einstieg vereinfacht. Ziel wäre es anfangs irgend nen serielles (kann auch was anderes sein) Interface vom Zynq mittels Telenet HTerm oder so anzusprechen und nen paar automatisierte Rückantworten (C-Routine im Arm-Core) zurückzulesen. Hab gesehen hier sind einige dabei, die auch mit den Softcores von Xilinx arbeiten und soweit ich das mitbekommen habe, soll der Design-Flow dem der HardCore ähneln. Gruß und besten Dank im Voraus
Also ein ZedBoard liegt hier auch im Schrank und wartet auf seine ersten Aufagben. Es gibt dafür auch eine eigene Webseite: http://zedboard.org/ Ansonsten läuft auf dem Ding ein komplettes Linux. Da es ein Dual-core ist könnte man auf dem zweiten Core auch noch sein eigenes System implementieren. Aber wozu? Linux bringt ja schon alles mit. Duke
moment bitte ganz kurz, ich hab leider nicht das ZedBoard sondern das ZC702 Evaluationskit, sollte jetzt aber vom Design-Flow nicht den Unterschied machen. Ok das man darauf ein komplettes Linux laufen lassen kann, habe ich auch schon gelesen, aber was kann man damit alles machen ?? Was wäre der Verwendungsbereich?? kann ich da taktgenau Datenverarbeiten, Signalfilter darauf betreiben?? Ein Beispiel ich habe irgendwelche Messdaten die zu einer Taktquelle sychron sind und durch ein Signal getriggert werden, könnte ich die korrekt ohne Datenverlust und mit Bezug zur Taktquelle(also zeitlicher Bezug) verarbeiten auf dem Linuxsystem?? Ich dachte immer wenn man ein Betriebssystem verwendet oder RTS verwendet ist das nicht mehr oder nur sehr schwer möglich?? Also konkret ich verstehe nicht was mit Linux bringt alles mit gemeint ist.
Trundle Trollkönig schrieb: > aber was kann man damit alles machen ?? Mit dem Linux dürfte die Realisierung eines User-Interfaces einfacher werden. Oder man kann diverse Daten per Webserver zur Verfügung stellen. Für taktgenaue Datenerfassung (und Vorverarbeitung) dient ja der FPGA-Teil im Zynq. Duke
So mal ganz grob: Auf einem ARM läuft Linux und kümmer sich um alles wo es schon fertige Treiber gibt. (Ethernet, USB, Audo Video usw.) Auf dem 2. ARM läuf ein RT-Sytem für echte RT-Anforderungen (wenn man es braucht). Das FPGA ist für zusätzliche Peripherie Implementierungen und/oder für parallele Verarbeitung von Daten. Das Design Flow und die Entwicklungstools sind noch stark verbesserungs bedürftig ;) Aber immerhin ist bei den Boards eine auf den Zynq begrenzte ChipScope Lizens dabei und die braucht man auch. Da sieht man mal wieder ganz deutlich den Unterschied zwischen Anspruch (Hardware/Software Codesign) und der Wirklichkeit. Aber ich nehme an, Zynq und Co bleiben Nischenprodukte und da wird sich in nächster Zeit nicht viel ändern. Vivado HLS hab ich noch nicht probiert.
Ok du scheinst ja ein bissel Ahnung zu haben. Ich hab mal ne Beispielszenario: Also ich fang mit PlanAHead und schreib mir meine Custom-Interfaces in Verilog/Vhdl und ein bissel Datenverarbeitung. Als Schnittstelle überleg ich mir nen Fifo mit Datenbus, ein paar Steuersignalen und Status-Bus oder so ähnlich, wie geh ich jetzt weiter vor?? Soweit ich mitbekommen hab müsste man jetzt eine Art embedded-source oder so auswählen in PlanaHead und da kann man dann Softcore oder Hardcore einfügen, aber wie genau kriege ich den Core dann in mein Planahead-Projekt?? Fügt man einen Core genauso hinzu wie irgend ein IP-Core?? und wie erstelle ich die Gegenschnittstelle für meine Fifoschnittstelle im Core?? und wie verbinde ich beide (laut Datenblatt soll es ja biszu 3000 Verbindungen zwischen PL(FPGA) und PS(Core) geben)?? So das ich dann auch auf die Daten zugriff habe und sie in irgendeinem Zwischenspeicher oder Puffer (im Core) lagern kann?? Fragen über fragen ;) Vielleicht kannst du mal kurz das allgemeine Vorgehen beschreiben.
Ich arbeite auch nicht jeden Tag und haubtberuflich mit diesen Dingern und muss auch immer wieder nachschauen ;) Du musst ein "sub design" für den ARM anlegen. Bei mir kommt dabei zwar immer eine Fehlermeldung wegen fehlender Lizens aber die drück ich weg und es funktioniert trotzdem. Beschrieben ist das alles hier: http://zedboard.org/content/zedboard-create-planahead-project-embedded-processor Du musst nur "dein" Board richtig auswählen. Solange du dich innerhalb des FPGA bewegst kann du den Bus, der dir am besten gfällt nehmen. Sobald du aber Verbindung zu den ARM Cores oder dem RAM brauchst solltest du dich mal mit AXI beschäftigen.
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.