Forum: FPGA, VHDL & Co. Sensitvity-Liste angeblich unvollständig


von Gabriel (Gast)


Lesenswert?

ModelSIM compiliert das file mit den warnings, dass die internen Signale 
nicht in der Liste stehen. Warum ist das so?


clk_proc : process(sen_clock, value)
begin
   if rising_edge(sen_clock) then
       value  <= std_logic_vector(unsigned(pixel (9 downto 2)) * 
unsigned(line(9 downto 2)) + unsigned(dmc));
   end if;

   calc  <= value (12 downto 0);

end process;

liegt das an dem calc? Dort greift er auf value zurück, das müsste ihm 
doch reichen, oder?

von Bernd S. (bernd_s)


Lesenswert?

mmhh geclockter process, hier nur clk (oder asynchroner Reset) in die 
sensitivity list.

Aber warum machst du diese Anweisung mit calc <= value (12 downto 0) 
unten in den Process rein? Ich finde das schlechten Stil, entweder 
geclockter Process oder nicht geclockter..

Aber vielleicht gibt es Leute hier die das besser wissen, bin nicht so 
tief drin....

von Klaus F. (kfalser)


Lesenswert?

Das hatten wir erst vor kurzem.
Beitrag "VHDL falling edge bewirkt rising edge"

Die Position von
calc  <= value (12 downto 0);

ist falsch. Entweder im if rising_edge Zweig oder komplett außerhalb des 
Prozesses.

von Gabriel (Gast)


Lesenswert?

Sowas dachte ich mir schon. Es ist nur so, dass ich u.U. das timing 
verschieben will und die Zeile gfs dochmal takten möchte. Aber ganz raus 
und einfach druntermalen ist wohl die sicherste Alternative.

von VHDLer (Gast)


Lesenswert?

> Die Position von
> calc  <= value (12 downto 0);
> ist falsch. Entweder im if rising_edge Zweig oder komplett außerhalb des
> Prozesses.

Nun ja falsch wuerde ich nicht sagen. Nur kein guter
Stil. Die Synthese bzw. Simulation funktionert auch damit.

Die Zeile ist halt nicht im getakteten Prozess und deshalb muss
"value" auch in die Sensitivliste.

Gruss

Guter Programmierstil

von Klaus F. (kfalser)


Lesenswert?

VHDLer schrieb:
> Nun ja falsch wuerde ich nicht sagen. Nur kein guter
> Stil. Die Synthese bzw. Simulation funktionert auch damit.

Stimmt, die Simulation frisst es auf jeden Fall.

Für die Synthese gibt es aber einen Standard 1076.6, an den man sich 
halten sollte.
Leider muss man den kaufen, sodass ich nicht genau weiss, was drinnen 
steht.
Ich vermute aber stark, dass diese Beschreibung nicht unterstützt wird.

von G.M. (Gast)


Lesenswert?

Kauft, ich habs geändert.

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.