Forum: FPGA, VHDL & Co. Verbindung von Untermodulen in Top Level (VHDL)


von M. T. (yohojoe)


Angehängte Dateien:

Lesenswert?

Hallo erstmal,

ich hab ein Problem bei der Verbindung von Untermodulen in der Toplevel 
sowie der Portmap.

Die Anhänge zeigen einmal den I/O bereich des FPGA's, sofern ich 
informiert bin sind diese Teil der Entity im Topmodul da FPGA interne 
Signale ja bei der späteren zuweisung der pins nicht von bedeutung sind.

In der architecture des Topmoduls werden dann die I/O der einzelnen 
Module bescgrieben. hier: Frequenzhalbierer, V_sync H_sync und 
Farbansteuerung

Dann kommt es zu den Problemen:

1. die mithilfe von xilinx erstellte portmap (im Topmodul) sieht zb. für 
den Frequenzhalbierer so aus:
1
Inst_Frequenzhalbierer: Frequenzhalbierer PORT MAP(
2
clk50 => clk50,
3
clk25 => clk25
4
);
ist meine annahme, das die beschreibung so falsch ist richtig und dass 
es in etwa so lauten sollte?:
1
Inst_Frequenzhalbierer: Frequenzhalbierer PORT MAP(
2
clk50 => clk50in,  ---- clk50 als eingang des FPGA wird dem eingang des moduls zugewiesen
3
clk25 => verbindung_clk25_sync ---modulout (clk25) wird einem signal zugewiesen um es mit V_sync H_sync zu verbinden
4
);

2. Verbindung der einzelnen Module:

Ich will zuersteinmal clk25 aus dem Frequenzhalbierer (out) mit dem 
clk25 (in) aus V_sync H_sync verbinden.
Ich weiß dass ich es mit einem Signal machen muss... in etwa so:
1
clk25f  => signal ---(frequenzhalb)
2
signal => clk25vhsync --- (V_sync H_sync)
allerdings weiß ich auch nicht wo genau ich dass im Topmodul schreiben 
muss, also die zuweisung sowie die signal deklaration
(signal .... : std_logic)

wäre cool wenn mir da jemand weiterhelfen könnte :)

von Christian R. (supachris)


Lesenswert?

1. Nee, ist schon richtig. In der Instanziierung steht links immer der 
Port-Name des Moduls, rechts das Signal, an welches der angeschlossen 
werden soll. Egal, ob Eingang oder Ausgang.

2. Der grundsätzliche Aufbau einer VHDL Datei sollte ja klar sein, oder? 
Die Ports kommen in die Entity, die Signal- und Komponent-Deklarationen 
kommen in die architecture, die Zuweisungen in den Body, also zwischen 
Begin und End.

von M. T. (yohojoe)


Lesenswert?

ok danke :)
zu 2. ja ist er doch es gab so irrsinnig viele errors im ganzen projekt 
und ich wollte den fehler eingrenzen an was es liegen könnte, da ich 
aber zum ersten mal mit mehreren modulen arbeite hätte ich gedacht dass 
sich vielleicht dort fehler eingeschlichen haben.

ist aber jetzt alles fix und fertig

danke nochmal!

von Duke Scarring (Gast)


Lesenswert?

M. T. schrieb:
> zu 2. ja ist er doch es gab so irrsinnig viele errors im ganzen projekt
> und ich wollte den fehler eingrenzen an was es liegen könnte,
Nicht einschüchtern lassen. Es hilft ungemein sich den ersten Fehler 
anzuschauen und die anderen Fehler erstmal zu ignorieren.

Und sehr empfehlenswert ist es vorher eine Systemssimulation 
durchzuführen.
Dort kann man sehen, ob ein Design prinzipiell funktionieren kann. 
Außerdem sind die Fehlermeldungen des Simulators meistens 
aussagekräftiger.

Duke

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
Noch kein Account? Hier anmelden.