www.mikrocontroller.net

Forum: FPGA, VHDL & Co. pins zu vektor

Autor: biggie (Gast)
Datum: 09.05.2008 11:59

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
Autor: Nephilim (Gast)
Datum: 09.05.2008 12:06

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;
Autor: Jan M. (mueschel)
Datum: 09.05.2008 12:14

Warum nicht gleich einen Eingangsvektor benutzen?

 Port(
  Data_in : std_logic_vector(7 downto 0)
  );
Autor: Nephilim (Gast)
Datum: 09.05.2008 12:16

ok, geht auch ;)
Autor: biggie (Gast)
Datum: 09.05.2008 13:06

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
Autor: Nephilim (Gast)
Datum: 09.05.2008 13:09

jup, später die einzelnen pins einfach auf die Data_in(0)... usw. mappen
Autor: biggie (Gast)
Datum: 09.05.2008 13:11

sehr schön, vielen Dank!

genau diese Info hab ich gebraucht :-)

DANKE!

gruß
biggie
Autor: Berater Nummer 8 (Gast)
Datum: 09.05.2008 13:22

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

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net