Tag zusammen, ich habe ein Problem und brauche dringend eure Hilfe. Ich möchte ein Modul in VHDL schreiben, welches von aussen zwei mal 24-Bit Daten(stellen Zahlen dar.) bekommt. Input: feste Zahl, sich ändernde Zahl, Reset Output: Zahl_grösser_gleich Die einen 24-Bit sind fest vorgegeben, die anderen ändern sich ständig. Die Daten liegen parallel an. D.h. an 48 Pins liegen die Eingangsdaten. Nun möchte ich einen Vergleich dieser Daten untereinander machen. Wenn die sich nun ändernde Zahl grösser als die fest vorgegebene Zahl ist, soll das Modul den Vergleich stoppen und ein Ausgangssignal auf High legen. Erst durch ein Reset soll ein neuer Vergleich beginnen, wobei das Ausgangssignal wieder auf Low heruntergesetzt wird. Würde mich freuen, wenn Ihr mir helfen könnt.
process(clk) if rising_edge(clk) then if variable_input > fester_input then output <= '1'; fertig.
Sorry, bin ums Versehen vorzeitig auf Absenden gekommen. Hier nochmal richtig: process(clk) if rising_edge(clk) then if reset = '1' then output <= '0'; else if variable_input > fester_input then output <= '1'; end if; end if; end if; end process;
wow super schnelle Antwort :) Danke! Eine andere Frage: Muss man in VHDL nicht jedes Bit einzeln vergleichen?
@beginner nein muß man nicht. auch addition/subtraktion und multiplikation müssen nicht bit-weise durchgeführt werden (wäre auch etwas schwierig :-)) gruß rene
Hier nal den kompletten Quellcode: entity vergleich is port( clk,reset : in std_logic; festwert : in std_logic_vector(23 downto 0); variabler_wert : in std_logic_vector(23 downto 0); q : out std_logic ); end vergleich; architecture behavioral of vergleich is process(clk) if rising_edge(clk) then if reset = '1' then q <= '0'; else if variabler_wert > festwert then q <= '1'; end if; end if; end if; end process; end behavioral; Bit und Bytebruch Daniel
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.