www.mikrocontroller.net

Forum: FPGA, VHDL & Co. pins zu vektor


Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
Warum nicht gleich einen Eingangsvektor benutzen?

 Port(
  Data_in : std_logic_vector(7 downto 0)
  );

Autor: Nephilim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, geht auch ;)

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
jup, später die einzelnen pins einfach auf die Data_in(0)... usw. mappen

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr schön, vielen Dank!

genau diese Info hab ich gebraucht :-)

DANKE!

gruß
biggie

Autor: Berater Nummer 8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.