Quartus synthetisiert nichts / kein Resourcenverbrauch

Gast #2801710
Lesenswert?

Gern würde ich glauben das ich ein geniales Design ohne 
Resourcenverbrauch erstellt habe. Aber ich glaub's nicht. :-)

Also der gesamte Prozess läuft ohne Fehlermeldungen durch 
einschliesslich Fitting und Place&Route. Dennoch wird mir beim 
Resourcenverbrauch in allen Spalten 0 angezeigt ausser bei den I/Os. 
Dort sind es 73. Aber sonst: 0 LUTs etc.

Vermutlich habe ich was falsch eingestellt oder noch einen Fehler 
gemacht.

Hat jemand einen Tip?
Gast #2801787
Lesenswert?

OK. Hoffe Ihr konntet auch lachen. :-)

Ich denke, das es darum geht ob ich überhaupt etwas synthetisierbares 
beschrieben habe.
Daher meine Antwort, das die RTL-Darstellung etwas zeigt. Multiplexer, 
Addierer, Latches, Zähler. Das bedeutet nach meinem Verständnis das 
nichts wegoptimiert wird. Oder?
Gast #2801795
Lesenswert?

Hmm schrieb:
> Ich denke, das es darum geht ob ich überhaupt etwas synthetisierbares
> beschrieben habe.

Wenn es nicht synthesierbar wäre, gäbe es einen Fehler.


Hmm schrieb:
> Daher meine Antwort, das die RTL-Darstellung etwas zeigt. Multiplexer,
> Addierer, Latches, Zähler. Das bedeutet nach meinem Verständnis das
> nichts wegoptimiert wird. Oder?

Doch, geht ganz schnell. Der Optimizer kommt nach der RTL Ansicht 
(zumindestens bei Lattice)
Gast #2801809
Lesenswert?

>Doch, geht ganz schnell. Der Optimizer kommt nach der RTL Ansicht
>(zumindestens bei Lattice)

Ah. In der Reihenfolge bei Quartus kommt die RTL-Ansicht auch vorher. 
OK. Das heisst dann also, das was wegoptimiert wird oder zumindest 
wegoptimiert werden kann.

Danke.
Dann werde ich die entities nochmal einzeln anschauen, denke ich.
Gast #2802239
Lesenswert?

So etwas habe ich auch ab und zu:
Wenn ich vergesse, den Output zu verdrahten. Oder ein wichtiger Input 
permanent auf Low oder High bleibt, dann stellt Quartus fest, dass nicht 
passiert und optimiert vieles weg.

Also noch einmal nachschauen, ob die Signale richtig verdrahtet sind.
Gast #2802336
Lesenswert?

Oder man simuliert das Design und schaut, ob die Ausgangsports definiert 
sind.

Es kann natürlich auch passieren, dass einem Ausugangsport ein Signal 
zugewiesen wird, das bei der Deklaration eine Default-Zuweisung erhält 
(siehe Beispiel unten).
Dann ist zwar das Ausgangssignal definiert, trotzdem ist nichts 
angeschlossen. In diesem Fall müsste man schon sinnvolle Stimuli 
verwenden, um das Signal und somit das Ausgangssignal zappeln zu lassen.



Beispiel:
1
port( Ausgang : out std_logic ...)
2

3
signal hallo : std_logic := '0';
4

5
begin
6
    Ausgang <= hallo;
Gast #2803037
Lesenswert?

Hilfreiche Warnungen gabs leider nicht von Quartus.

Aber vielen Dank für die sinnreichen Tips.

Tatsächlich war ein Signal bei den port maps falsch zugeordnet, so das 
eine entity ein statisches Signal erhielt, das sich nicht mit der 
"beabsichtigten Dynamik" vertrug. Kurz, jedes Erstsemester konnte sich 
denken das sich da an den Ausgängen garnichts tut. Um so mehr der 
Compiler.

Jetzt zappeln die Bits. ;-)

Danke.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren