Zum Inhalt springen

ollih

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

  1. danke für dein interesse flashpixx, mein problem ist garnicht so umfassend wie es vielleicht auf den ersten blick erscheint. also zuerst mal hab ich schon in vhdl einen prozessor realisiert. der macht sowas wie: ========================================================= (achtung pseudocode) WHEN RECHNUNG1 => add_a(0) <= 5; add_b(0) <= 3; mul_a(0) <= 5; mul_b(0) <= 5; mul_a(1) <= 2; mul_b(1) <= 3; --========== nextstate <= RECHNUNG2; state <= RECHNEN; multiplikationen <= 2; additionen <= 1; when RECHNUNG2 => add_a(0) <= mulResult(0); add_b(0) <= mulResult(1); --========== nextstate <= RECHNUNG3; state <= RECHNEN; additionen <= 1; ... etc. ========================================================= Also ich hab eine Statemachine die sequenziell meine Berechnungen macht. Die muss ich selber schreiben... und mir natürlich überlegen was man erst addieren muss um es anschliessen zu multiplizieren usw...... Im Status "Rechnen" werden die Operanden dem Rechenwerk übergeben. Wie man hier in dem Beispiel sieht kann ich mehrere Multiplikationen an das Rechenwerk schicken. Da ich den Prozessor selber entworfen hab kann ich das einstellen wie ich will.. also ich kann das Array mul_a und mul_b so gross machen wie ich lust habe und muss dann natürlich mulResult anpassen. Cosinus/Sinus kann ich auch rechnen. Das geht mit einem Cordic. Keine Ahnung wie der genau funktioniert aber muss ich mich auch nicht drum kümmern. Um den Code da oben einfach generieren zu können muss ich nur ein Tool haben, dass mir das abnimmt dann kann ich einfach alle Berechnungen in Hardware pressen. Also irgend ein mathematisches Modell das schnell berechnet werden soll und das in einer Schleife... Stichwort Hardwarebeschleunigung. Das mit dem Baum ist eine gute Idee. In meinem ersten Beitrag hab ich mal einen angeheftet. Falls du Mathematica kennst: TreeForm[berechnung] ist alles was man eingeben muss. Den Blöden Baum muss ich jetzt noch modifizieren.... da häng ich total fest. Also genau wie du sagst was geht parallel was geht nur nacheinander. Wieviele Additionen parallel wieviele Multiplikationen..... usw. Dann kommt natürlich noch dazu: Und das macht es auch langsam etwas kompliziert ist .. Die addition dauert 4 Clocks... die Multiplikation 5 und die Division gerade .. .50 oder so. Momentan mache ich es mir leicht was das Problem anbelangt. Wenn eine Addition und eine Division parallel läuft dann dauert alles so lang wie die Division benötigt um durchgeführt zu werden... ist natürlich suboptimal. Muss irgendwie rausfinden wie man vernünftig die Graphen manipuliert, vereinfacht usw... aber das ist ne ******* arbeit ich such immer noch das spezialtool das mir das abnimmt
  2. hi flashpixx, erwarte hier keine lösung für mein problem. bisschen inspiration und infoquellen. du hast recht suche wohl eher sowas wie einen compiler. ich kann mich noch dunkel an informatik 1 bzw TI erinnern. da hatten wir mal sowas wie.. ablaufplanung, ressourcen kosten etc. was ich suche ist vielleicht ein tip für ein tool das mir möglichst vie arbeit abnimmt. will nicht das rad neu erfinden. mein prozessor ist recht spartanisch. kann nur die grundrechenarten und sinos und cosinus. kann mir einfach nicht vostellen dass noch niemand ein tool geschrieben hat das genau das macht was ich such. will ja nicht gleich den code generiert haben. mit einem guten ablaufplan kann ich das dann ja selber implementieren.
  3. Ich habe eine eigene CPU in Hardware mit VHDL realisiert. Ich möchte mathematische Modelle in Hardware umsetzen. Also in VHDL. Die mathematischen Modelle sind irgendwelche Berechnungen. Wie bei dem Beispiel hängt die Anzahl der Berechnungsschritte davon ab, wieviele Zwischenergebnisse ich benötige und wieviele Berechnungen ich gleichhzeitig durchführen kann. Was ich habe sind die Modelle in Mathematica... aber die will ich natürlich nicht von Hand in Hardware implementieren sondern das soll ein Programm machen, das dann Rücksicht auf die Ressourcen der CPU nimmt.
  4. Hallo, Leider sind meine Informatik Kenntnisse nich so gut da ich nur einpaar Informatikvorlesungen als Nebenfach hatte. Im Allgemeinen brauch ich eine Ablauplanung für recht einfache Berechnungen. Der Prozessor den ich verwende kann z.b. nur 3 Multiplikationen auf einmal und sechs Additionen..... ich muss also schauen, dass ich pro Rechenschritt nicht die Ressourcen überschreite und die Ressourcen die insgesamt da sind für die Lösung des gesamten Problems möglichst gut verteile. Ein einfaches Beispiel: Calculation = ( ( a * b ) + ( c + d ) / e ) / f * Cos[g] Diese Rechnung will ich nun durch einen Algorithmus schicken der mir dann eine Ablaufplanung ausgiebt. Auf den ersten Blick sieht man, dass z.b. im ersten Zeitschritt die Multiplikation von a*b , die Addition von c+d und der Cosinus von g berechnet werden könnten. Von Hand ist eine Ablaufplanung in der Art denkbar: First time step: 1a: a * b = S1a 1b: c + d =S1b 1c: Cos[g] = S1c Second time step: 2a: S1b / e = S2a Third time step: 3a: S1a + S2a = S3a Fourth time step: 4a: S3a * S1c = S4a Fifth time step: 5a: S4a / f = FINISED Was hier natürlich wichtg für alle Berechnungen dieser Art ist, dass mein Prozesser nur beschränkte Ressourcen hat und auch die unterschiedlichen Berechnungen unterschiedlich viel Zeit brauchen. Ein Cosinus dauert bei mir z.b. ca. 30 Clocks... eine Addition nur 5 Clocks. Das sind wohl erstmal genügend Anregungen zu meinem Problem, das natürlich schon sehr oft gelöst wurde... leider noch nicht von mir. Über einpaar Hilfestellungen würde ich mich freuen. Vielleicht gibt es ja schon diverse Tools die das können. Ich verwende für fast alles was ich mache Mathematica. Im Anhang noch eine kleine graphische Ausgabe für das Beispiel, die automatisch mit Mathematica generiert wurde. Wenn ich sowas hätte angepasst auf meine Ressourcen wäre das super.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...