Gast
#875063
Ich übe mich als Anfänger in VHDL. Nach einigen Zählern und Schieberegistern möchte ich einen alten Verschlüsselungsalgorithmus angehen (Alte Ausgabe UNIXMagazin). Das übt ja ungemein. Ärger, schwitz ... Der Algorithmus verwendet sowohl Additionen und Subtraktionen wie auch logische Verknüpfungen und Modulo-Operationen. Nun stellt sich die Frage welcher Datentyp ist der richtige ? Klar, std_logic und std_logic_vector braucht man immer. Habe jetzt für die Zwischenspeicherung und Verarbeitung schon an bitvector und an integer gedacht. Soweit verstanden gehen logische Verknüpfungen mit bitvector und std_logic_vector. Arithmetische Operationen gehen mit std_logic_vector und integer. Konvertieren muss ich immer z.B. integer in std_logic_vector: -- Add two integers output_store(n) <= input_store(n) + groups(n); -- Convert to std_logic_vector for bitwise and temp := std_logic_vector(to_unsigned(output_store(n),9)); -- Do the bitwise and and convert back to integer output_store(n) <= to_integer(unsigned(temp and "011111111")); Oder std_logic_vector in integer: password_store(0) <= to_integer(unsigned(password)); Aber was wäre der geeignetste Weg bzw. Datentyp ? Danke an die Experten