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