GENERIC aus Modelsim heraus ändern

Gast #3235229
Lesenswert?

Hallo zusammen,

ich habe eine Simulation mit einem GENERIC vom Typ NATURAL.
Diesen GENERIC möchte ich gerne ändern, ohne immer wieder alles neu 
durch den Compiler zu schicken.

Ich kompliliere als alles mit einem GENERIC Wert von 0x12.
Ich starte meine Simulation, führe ein .do File aus und schaue mir das 
Ergebnis an.

Nun wollte ich den Wert des GENERICs ändern und habe dazu den Befehl
1
change /tb_top/dut/G_DELAY 25
verwendet.

Nun meckert mir Modelsim an, dass es sich um eine Konstante handelt.

Kann ich diesen Generic irgendwie ändern, ohne mit "vsim quit" die 
komplette Simulation nochmal neu zu laden?

Mein .do File verwende ich hauptsächlich um  zahlreiche Signale zur 
Waveform hinzuzufügen. Wenn ich dort etwas ändere speichere ich das 
aktuelle waveform-Format immer neu ab, damit wären da neue Einträge 
schnell wieder überschrieben.

An welcher Stelle kann ich also sinnvoller Weise meinen GENERIC ändern?

Vielen Dank!
Peter
Gast #3235240
Lesenswert?

Peter schrieb:
> Hallo zusammen,
>
> ich habe eine Simulation mit einem GENERIC vom Typ NATURAL.
> Diesen GENERIC möchte ich gerne ändern, ohne immer wieder alles neu
> durch den Compiler zu schicken.
>
> Ich kompliliere als alles mit einem GENERIC Wert von 0x12.
> Ich starte meine Simulation, führe ein .do File aus und schaue mir das
> Ergebnis an.
>
> Nun wollte ich den Wert des GENERICs ändern und habe dazu den Befehl
>
1
> change /tb_top/dut/G_DELAY 25
> verwendet.
>
> Nun meckert mir Modelsim an, dass es sich um eine Konstante handelt.
>
> Kann ich diesen Generic irgendwie ändern, ohne mit "vsim quit" die
> komplette Simulation nochmal neu zu laden?

> An welcher Stelle kann ich also sinnvoller Weise meinen GENERIC ändern?


IMHO sind Generics nach compile nicht mehr änderbar, Änderungen werden 
nur durch Neu-compilation aktiv.
Gast #3235264
Lesenswert?

Fpga Kuechle schrieb:
> IMHO sind Generics nach compile nicht mehr änderbar, Änderungen werden
> nur durch Neu-compilation aktiv.
vsim kennt die folgenden Parameter:
1
 -g<Name>=<Value>        Specify generic/parameter default Value for Name
2
 -g <Name>=<Value>       Alternate way to specify generic/parameter default Value for Name
3
 -G<Name>=<Value>        Override generic/parameter with specified Value
4
 -G <Name>=<Value>       Alternate way to override generic/parameter with specified Value
Ob es einen Weg innerhalb von vsim gibt, die generics zu ändern, weiß 
ich allerdings auch nicht.
Vielleicht kann der Support von Mentor weiterhelfen. Der ist bisher sehr 
gut gewesen.

Duke
Gast #3235474
Lesenswert?

Peter schrieb:
> Hallo zusammen,
>
> ich habe eine Simulation mit einem GENERIC vom Typ NATURAL.
> Diesen GENERIC möchte ich gerne ändern, ohne immer wieder alles neu
> durch den Compiler zu schicken.
>

> Nun wollte ich den Wert des GENERICs ändern und habe dazu den Befehl
>
1
> change /tb_top/dut/G_DELAY 25
> verwendet.

Also laut manual 
http://homepages.cae.wisc.edu/~ece554/new_website/ToolDoc/Modelsim_docs/docs/pdf/se_man.pdf 
S. UM-64
sind generics nur bedingt änderbar.

"Use of the change command to modify parame
ters or generic values. This affects values
only; it has no effect on triggers, compiler
directives, or generate statements that
reference either a generic or parameter. "


Genau die Variante das das generic in einem generate verwendet wird 
hatte ich im Hinterkopf, als ich schrieb das eine neu-compilation 
erforderlich ist.


Jetzt hab ich mich mal durch die neueren Versionen durchgewühlt und bin 
auf das gestossen:
http://www.fbeit.htwk-leipzig.de/~reinhold/files/Modelsim/ModelSimSE_10.0c/modelsim_se_10_0_Reference_Manual.pdf 
S. 133


You cannot use this command on generics or parameters if you optimized 
the design, unless you
used the +floatgenerics or +floatparameters switches. These switches 
allow the generics and
parameters to remain floating after the optimization. Refer to the 
section "
Optimizing
Parameters and Generics
" in the User’s Manual for more information.

The following sections list supported objects:
•
VHDL
o
Scalar variable, constant, or generics of all types except FILE.
Generates a warning when changing a VHDL constant or generic. You can 
suppress
this warning by setting the TCL variable WarnConstantChange to 0 or in 
the


Also vielleicht hilft Dir das deaktivieren der Optimierung weiter, resp. 
das Durcharbeiten des Kapitels: ""
Optimizing
Parameters and Generics
""

Oder dein konkreter Fall ist einer der unmöglichen.

MfG,
Gast #3235511
Lesenswert?

Ist das soo aufwändig, neu zu compilieren und zu starten?
Ich drücke immer compile, und dann den restart button, manchmal muss die 
sim neu geladen werden, bei nem generic change aber eigentlich nicht

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