mikrocontroller.net

Forum: FPGA, VHDL & Co. Procedure mit verschieden langen Vectoren


Autor: Martina M. (xaiven-be)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Community,

ich hoffe sehr, ihr könnt mir hierbei helfen.

Ich muss aus verschiedenen Prozessen unterschiedliche viele Daten 
(unterschiedlich lange std_logic_vector) in ein bestimmtes 
Schieberegister schreiben. Dieser Schreibvorgang muss nach einem 
bestimmten (komplizierten) Schema erfolgen, weshalb das für die 
einzelnen Prozesse von einer Procedure übernommen werden soll. Und 
natürlich, weil nicht einfach mehrere Prozesse auf ein Signal schreiben 
können. Das alles muss später auch auf einer Hardware laufen...

Gibt es hier überhaupt eine Möglichkeit, einer Procedure mal einen 30 
Bit Vector zu übergeben, der in das Schieberegister geschrieben werden 
soll und mal einen 100 Bit Vector der ebenfalls in das Register 
geschrieben werden soll?

Vielmals Danke für eure Antwort,
Liebe Grüße,
Martina

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es hier überhaupt eine Möglichkeit
Das Bauteil, das du brauchst, heißt Multiplexer.

> muss nach einem bestimmten (komplizierten) Schema erfolgen
Das hört sich nach einer FSM zur Verwaltung an.

Leider sind die Informationen bisher so spärlich, dass man nicht mehr 
dazu sagen kann:
> weil nicht einfach mehrere Prozesse auf ein Signal schreiben können.
Wie soll geregelt werden, welcher Prozess gerade sinnvolle Daten für das 
SR hat?

Autor: Martina M. (xaiven-be)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen!

Sorry, wenn man sich schon so lange mit dem Zeug beschäftigt, ist das 
alles schon klar und man vergisst, das andere Leute nicht so tief drin 
sind...

Also ich habe einen Prozess, in dem eine große SM läuft. Je nach Zustand 
müssen mehrere Werte (Signal) in einer bestimmten Reihenfolge in das SR 
geschrieben werden. Diese Signal haben eine feste Länge. Dazu kommt ein 
Signal, dessen Länge (länge des Vectors) je nach Zustand der SMS 
zwischen 0 Bit und 30 Bit variieren kann. Hier dachte ich, das Schreiben 
in das SR mit einem Unterprogramm sei eleganter und übersichtlicher, als 
das in jedem Zustand wiederholt zu machen.

Zusätzlich gibt es einen (oder vielleicht später mehrere) zusätzliche 
Prozess, der von "außen" (Kommando über Bus) angestoßen wird und dann 
auch Werte in das SR laden muss. Mit zwei verschieden Prozessen kann man 
ja sowieso nicht (außer Multiplexer) auf ein SR schreiben.

So, ich hoffe das jetzt besser erklärt zu haben.

Gruß Martina

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.