Hallo, ich habe ein Modul, welches einen Eingangs- und Ausgangsport hat und dieses soll mit einem weiteren Modul verbunden werden. Kann ich das zu verbindende Modul im anderen Modul verwenden und die Ports verbinden, oder brauche ich ein drittes übergeordnetes Modul? Wenn ich das eine Modul im anderen verwende und den Ausgangsport des äußeren Moduls mit dem Eingangsport des inneren Moduls verbinde, erhalte ich einen Fehler, dass der Ausgangsport nicht gelesen werden kann - ich solle den Modus 'out' gegen 'buffer' ersetzen. Frage: geht sowas grundsätzlich nicht, oder habe ich Mist gebaut? Wenn ich buffer einsetze, muss ich die Daten ja taktsynchron behandeln - dabei wollte ich mich garnicht um die Daten kümmern, sondern nur eine Leitung direkt verbinden, bzw. weiterreichen.
Anfänger schrieb: > Hallo, > > ich habe ein Modul, welches einen Eingangs- und Ausgangsport hat und > dieses soll mit einem weiteren Modul verbunden werden. > Kann ich das zu verbindende Modul im anderen Modul verwenden und die > Ports verbinden, oder brauche ich ein drittes übergeordnetes Modul? Das hängt davon ab, mit welchen Signalen des 2. Moduls die Ports des 1. Moduls verbinden willst. Wenn Du das Modul im anderen Modul verwendest, kannst Du die Ports des mit internen Signalen des 2. Moduls verbinden. Wenn Du die Ports des 1. Moduls mit Ports des 2. Moduls verbinden willst, dann braucht es ein 3. Modul, das die beiden anderen beinhaltet. > Wenn ich das eine Modul im anderen verwende und den Ausgangsport des > äußeren Moduls mit dem Eingangsport des inneren Moduls verbinde, erhalte > ich einen Fehler, dass der Ausgangsport nicht gelesen werden kann - ich > solle den Modus 'out' gegen 'buffer' ersetzen. > Frage: geht sowas grundsätzlich nicht, oder habe ich Mist gebaut? Du kannst nur in Ports mit in Ports, out Ports mit out Ports und ev. inout mit inout verbinden. Es geht jedenfalls prinzipiell nicht, dass man ein Port, das als out deklariert ist, auch liest. Wenn das äußere Modul das Signal auch lesen soll, braucht es ein internes Zwischensignal. > Wenn ich buffer einsetze, muss ich die Daten ja taktsynchron behandeln - ??? > dabei wollte ich mich garnicht um die Daten kümmern, sondern nur eine > Leitung direkt verbinden, bzw. weiterreichen.
Hallo Klaus,
danke für Deine Hilfe!
Ich glaube ich habe verstanden.
Also wenn ich 2 Module verbinden will, brauche ich immer ein Signal
dazwischen?
> Du kannst nur in Ports mit in Ports, out Ports mit out Ports
Ok, das wäre quasi eine Parallelschaltung?
Von In-Port zu In-Port können ja wohl keine Daten fließen?
Also wäre ich wieder beim obigen Statement, wenn Daten von einem Modul
zu einem anderen fließen sollen geht das nur über ein Signal?!?
> Also wenn ich 2 Module verbinden will, brauche ich immer ein Signal > dazwischen? Wenn die beiden Module auf gleicher Ebene (innerhalb eines 3.) sind, schon. Wenn man die Ports eines Moduls mit den Ports des übergeordneten verbindet, dann nicht. Die Ausnahme : Man hat ein out port im inneren Modul und verbindet das mit dem out Port des übergeordneten, zugleich aber will man auf das Signal zugreifen. Dann bekommt man so eine Meldung wie Du sie bekommen hast, weil das Port-Signal nicht gelesen werden darf. Durch Einführen eines Zwischensignals kann man das Signal lesen. > Ok, das wäre quasi eine Parallelschaltung? Nein, da habe ich mich unklar ausgedrückt, dies betrifft nur hierarchische Verbindungen. Man darf also nur ein in Port eines äuseren Moduls mit dem in Port eines inneren verbinden, und ein out Port des inneren mit dem out Port des äußeren. Du kannst Dir das so vorstellen, dass jedes Signal nur eine Quelle haben kann. Wenn es aus dem out Port eines inneren Moduls herauskommt, dann fließt es wiederum auch aus dem out Port des umschließenden Moduls heraus, kann aber innerhalb des Moduls in andere Module hineingehen (in Ports). Wenn es als in Port in das äußere Modul hineingeht, dann kann es wiederum nur in Untermodule hineinfließen (in Port).
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.