Untermodule Aufruf im Praktikum.

pineflower
Erstie
Erstie
Beiträge: 12
Registriert: 27. Jan 2010 18:48

Untermodule Aufruf im Praktikum.

Beitrag von pineflower »

Wie kann ich untermodule in einem always-block benutzen? Ich habe schon die 3 Untermodulen : adds, subs, muls und moechte jeden Takt eine von drei aufrufen.

jack_90
Mausschubser
Mausschubser
Beiträge: 75
Registriert: 29. Sep 2009 22:38
Wohnort: Darmstadt
Kontaktdaten:

Re: Untermodule Aufruf im Praktikum.

Beitrag von jack_90 »

Dasselbe Problem haben/ hatten wir auch. Außerhalb der always Anweisung meckert ISE jdf nicht.
Wäre schon schön wenns im always block klappt, zwecks if und so. Zudem mussten wir ohne always jede Operation (add, sub, mul) ausführen und uns dann erst die richtige raussuchen.
EiSE Tutor WS 12/13

pineflower
Erstie
Erstie
Beiträge: 12
Registriert: 27. Jan 2010 18:48

Re: Untermodule Aufruf im Praktikum.

Beitrag von pineflower »

Jede module funktioniert gut schon. Jetzt ist nur Kombination, aber... :evil: :evil: :evil:

pineflower
Erstie
Erstie
Beiträge: 12
Registriert: 27. Jan 2010 18:48

Re: Untermodule Aufruf im Praktikum.

Beitrag von pineflower »

Nach meiner Meinung soll man etwas aehnlich wie testbench schreiben oder?

oben von always-block :

submodule mysubmoduleInstanz(.clk(clk), .....)

pineflower
Erstie
Erstie
Beiträge: 12
Registriert: 27. Jan 2010 18:48

Re: Untermodule Aufruf im Praktikum.

Beitrag von pineflower »

Aber verstehe ich nicht wieso das Ergebnis nicht erneut wurde?? :evil: :evil: :evil: :evil: :evil:

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Untermodule Aufruf im Praktikum.

Beitrag von Thorti »

Hallo,

dieses Problem habe ich auch in den Sprechstunden schon oft gehört.
Erstmal vorweg: Instanziieren im always-Block geht nicht. :roll:
Jetzt die Erklärung: Ihr baut hier Hardware :idea:
Das sind keine Instanzen wie in Software, die während der Ausführung in Anhängigkeit von irgendwelchen Variablen dynamisch erzeugt werden können. Eine Instanz in Verilog bedeutet, dass dieses Modul mit diesen Anschlüssen auf dem FPGA realisiert wird. Das ist dann da, unabhängig von irgendwelchen Eingaben. Deshalb dürfen Instanzen nicht in always-Blöcken oder gar if-else Blöcken stehen. ISE meckert hier also zurecht.
Es ist ja auch kein Problem, dass "immer alle Module rechnen" und man sich am Ende das aussucht, was man wollte.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

Antworten

Zurück zu „Archiv“