Danke
|
Erstellt: 17.09.06, 18:55 Betreff: Re: Addition unsigned mit natural |
|
|
Jo,....
danke auch...find ich trotzdem irgendwie seltsam das ganze!
Will nur wissen ob ich das richtig verstanden hab!
Ein UNSIGNED ist ein Bitvektor der als Binärzahl interpretiert wird!?
Und weil mit UNSIGNED arithmetische Vergleiche möglich sind brauch ich sowas wie die Typkonvertierung in einen Integer gar nicht, oder ??? Oder doch ????? (Hab ich in irgendeiner Kurzanleitung gelesen,...glaub ich zumindest!)
So wie du das gemacht hast hab ich das noch gar nicht gemeint...Typkonvertierung hab ich mir auch erst heute so richtig angeschaut...
Was ich damit sagen will, Funktioniert das folgende:
ENTITY bedieneinheit IS PORT ( etakt, korrektur, vorwahl : IN STD_LOGIC; eingabe : OUT STD_LOGIC; einstellung : OUT UNSIGNED(7 downto 0) ); END bedieneinheit;
ARCHITECTURE bedieneinheit_v1 OF bedieneinheit IS SIGNAL Z : UNSIGNED(7 downto 0); BEGIN Z <= "00101000"; PROCESS(korrektur,vorwahl,etakt) BEGIN IF korrektur'EVENT AND korrektur = '1' AND vorwahl = '0' AND Z > "00101000" THEN Z <= Z - 1; ELSEIF vorwahl = '1' AND korrektur = '0' AND Z < "11010000" THEN IF (vorwahl'LAST_EVENT >= 1 sec) AND etakt'EVENT AND etakt = '1' THEN eingabe <= '1'; Z <= Z + 1; ELSEIF vorwahl'EVENT THEN Z <= Z + 1; END IF; ELSEIF vorwahl'EVENT AND vorwahl = '0' eingabe <= '0'; END IF; END PROCESS; einstellung <= Z; END ARCHITECTURE;
PS: Wie kann man das machen das alle sehen können das ich den Code eingerückt hab? Wenn das einer weiß werd ich das sofort editieren! ;-)
MfG danke für die Hilfe,
Bogomil
|
|