Hi, ich bin gerade dabei, mich in Hardware Software Codesign (VHDL, C) einzuarbeiten. Kennt jemand von euch ein vielsagendes Beispiel bei dem die Performance der Realisierung einer Software Applikation in HWSW-Codesign merklich verbessert wird ? Ich habe schon gelesen, eine Implementierung der Priority Queue, wäre sinnvoll. Allerdings ist dort die Performance mMn eine große Frage der richtigen Implementierung. Vielleicht kennt ihr bekannte Beispiele aus eigener Vergangenheit ? Danke, Tobi
Tobias Fulle schrieb: > Hi, > > ich bin gerade dabei, mich in Hardware Software Codesign (VHDL, C) > einzuarbeiten. Kennt jemand von euch ein vielsagendes Beispiel bei dem > die Performance der Realisierung einer Software Applikation in > HWSW-Codesign merklich verbessert wird ? Software zu coden braucht in der Regel weniger als entsprechende Hardware. Ergo können die späteren Programmierer Wochen (Monate) vorher anfangen auf der Zielplattform zu entwickeln. Wenn man dann noch den Virtualizer einer bestimmten Firma benutzt, dann tauscht man nach und nach die C-Modelle mit VHDL aus. Der SW Entwickeler merkt davon bestenfalls nichtmal was!
Tobias Fulle schrieb: > Implementierung der Priority Queue ja, weil man die Prios in einem Schlag checken kann, wie bei allen Vorrangschaltungen, während die Software linear mehr Schritt braucht. Das Ganze geht soweit, wie die breite der Elemente noch in einem Takt abzuarbeiten ist, danach braucht man einen Baum und mehr Takte.
Danke für die Antworten. Aber ich suche nach expliziten anderen Anwendungsbeispielen. Mir fällt zum Beispiel kein anderer Fall ein, an dem man in der Software sequentiell und in der Hardware parallel verarbeiten kann, den Codesign Vorteil also voll ausnutzen zu können. Vielleicht wisst ihr noch Anwendungen ? Danke
Tobias Fulle schrieb: > Danke für die Antworten. Aber ich suche nach expliziten anderen > Anwendungsbeispielen. http://de.wikipedia.org/wiki/Deep_Blue
Danke für die Antwort. Gutes Beispiel. Allerdings Suche ich eine etwas kleinere Anwendung zum Nachbauen, bei der sich die Performance zwischen der reinen Softwarelösung zur HW SW Codesign Lösung verbessert. Any ideas ?
Tobias Fulle schrieb: > Danke für die Antwort. Gutes Beispiel. > Allerdings Suche ich eine etwas kleinere Anwendung zum Nachbauen, bei > der sich die Performance zwischen der reinen Softwarelösung zur HW SW > Codesign Lösung verbessert. Any ideas ? Im Dunstkreis des ATMEL FPSLIC suchen, bspw: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=957349
Tobias Fulle schrieb: > Allerdings Suche ich eine etwas kleinere Anwendung zum Nachbauen, bei > der sich die Performance zwischen der reinen Softwarelösung zur HW SW > Codesign Lösung verbessert. Any ideas ? Wahrscheinlich eignet sich vieles aus dem Bereich Signal Processing. Ein Anwendung die klein genug ist, wäre vielleicht im Bereich Audio zu finden. Du könntest z.B. einen Equalizer mit N Bändern bauen. Kriterium wäre dann, wieviele Bänder bringst du real-time (Audio wird gleich ausgespielt) nur mit dem Prozessor rein, wieviele mit zugeschalteter HW-Unterstützung. Falls zu aufwändig, File-to-File machen und die Ausführungszeiten messen.
Tobias Fulle schrieb: > Danke für die Antwort. Gutes Beispiel. > Allerdings Suche ich eine etwas kleinere Anwendung zum Nachbauen, bei > der sich die Performance zwischen der reinen Softwarelösung zur HW SW > Codesign Lösung verbessert. Any ideas ? Hab mir aus dem Bücherregal gerade 0-13-154318-0 geangelt, Covertext: "High performance FPGA-accelerated software applications". Der Schwerpunkt liegt auf Impulse-C (http://en.wikipedia.org/wiki/Impulse_C). Beispiele sind: Fraktale (Mandelbrot), Triple-DES. Schau mal, ob es dem gesuchten HWSW-Codesign gleicht. MfG,
Passt soweit alles. Der Audio-Equalizer ist gar nicht schlecht. Allerdings würde ich gerne etwas mit einer visuellen Ansicht machen. Dies ist zwar durch ein GUI des Equalizers auch gegeben, ich würde aber ein Video hernehmen und anhand diesem dann erst die Software schreiben und danach die Performance mit HW SW Codesign verbessern. Habt ihr Ideen ? Eine einfache visuelle Wiedergabe würde wahrscheinlich nicht den gewünschten Verbesserungseffekt vorbringen. Vielleicht ist es aber auch möglich, durch gewissen Auslagerungen doch eine Beschleunigung hervorzurufen. Was denkt ihr ? Grüße, Tobi
> Passt soweit alles. Der Audio-Equalizer ist gar nicht schlecht. > Allerdings würde ich gerne etwas mit einer visuellen Ansicht machen. > Dies ist zwar durch ein GUI des Equalizers auch gegeben, ich würde aber > ein Video hernehmen und anhand diesem dann erst die Software schreiben > und danach die Performance mit HW SW Codesign verbessern. In Videodaten ist sicher sehr viel performance zu holen. Der direkte Sprung in die Videobarebeitung ist zu groß. Audio ist gut zum lernen. Es wäre gut ein paar Lerneffektbeispiele als Anwendungen für den FPGA zu haben. Man muss erst einmal Audiobearbeitung verstanden haben und hat auch genügend Stoff zum Austoben. Als Tipp der GHDL kann VHDL Code mit C Code verbinden. Es ist leider nicht sehr gut dokumentiert, aber eine richtungsweisende Idee kann dir der folgende Artikel geben. http://www.fpgarelated.com/showarticle/20.php
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.