Hallo zusammen, ich habe eine kleine Frage. Ich betreibe einen AD-Wandler, der mir parallel den 8-Bit-Wert liefert. Dieser geht parallel an 8 Pins eines FPGA's. Nun möchte ich gerne diese 8 Pins zu einem std_logic_vector zusammenfassen. Kann mir jemand kurz erklären, wie ich das machen kann? Sorry für die blöde Frage! Danke! gruß biggie
also wenn ich in der entity halt sowas habe wie Port( Pin1: in std_logic; Pin2: in std_logic; Pin3: in std_logic; Pin4: in std_logic; Pin5: in std_logic; Pin6: in std_logic; Pin7: in std_logic; Pin8: in std_logic; ) . . . würde ich in der architecture einfach nen signal anlegen das 8 bit breit ist signal pin1_8: std_logic_vector (7 downto 0); und dann einfach die eingangssignale auf das interne signal mappen pin1_8(0) <= Pin1; pin1_8(1) <= Pin2; pin1_8(2) <= Pin3; pin1_8(3) <= Pin4; pin1_8(4) <= Pin5; pin1_8(5) <= Pin6; pin1_8(6) <= Pin7; pin1_8(7) <= Pin8;
Warum nicht gleich einen Eingangsvektor benutzen? Port( Data_in : std_logic_vector(7 downto 0) );
hallo, @ Jan M. geht es einfach, dass ich dann später die einzelnen pins mit dem std_logic_vector verknüpfen kann? bin leider noch sehr unbedarft in vhdl und kenne mich da nicht so gut aus... Vielen Dank an alle! gruß biggie
sehr schön, vielen Dank! genau diese Info hab ich gebraucht :-) DANKE! gruß biggie
du kannst jederzeit noch Mapper, Signalgabeln und ähnliches hinzuaddieren, um einmal programmierte Strukturen zu wrappen. Die PIN-Zuordung machst Du im FPGA ja sowieo im PinFile / SetConstraint-File. Dort heisst es dann eben : (Altera) : set_location_assignment PIN_B3 -to adc_input[0] set_location_assignment PIN_B5 -to adc_input[1] ... Rechnen tust du dann nur mit dem adc_input als Vektor. Spart auch Tipperei in der entity
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.