mikrocontroller.net

Forum: FPGA, VHDL & Co. Konstanten flexibel auswählen


Autor: Konduktor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte meinen VDHL-Code etwas flexibler gestalten. Dazu habe ich 
"Packages" eingeführt, in denen Konstanten global definiert werden. Nun 
brauche ich für jeden Geschäftskunden eine andere Belegung der 
Konstanten und möchte diese Auswahl zentral steuern. Mein Ziel wäre es, 
in einer! Zeile ein Package (in der Datei sind mehrere vorhanden) 
auszuwählen, das dann in die weiteren VHDL-Dateien automatisch 
eingebunden wird. Ich möchte dabei nicht am eigentlichen Code 
herumdoktern.
Es wäre z.B. akzeptabel, wenn ich die passende Zeile auskommentiere. Ich 
möchte aber nicht alle unnötigen Konstanten auskommentieren, da dies 
leicht zu Schreibfehlern führt.

Ich arbeite mit dem XILINX ISE9.2i. Gibt es vielleicht andere 
Möglichkeiten, wie man Daten ins ISE einliest (über Textdatei) und damit 
die Auswahl der Konstanten steuert?

VDHL-Code:

package DEFINITIONS_HUGO is    --Kunde1
   constant C_TRIGGER:           integer := 0;  --in allen Packages der 
gleiche Name
   constant C_PERCNT:            integer := 0;
end DEFINITIONS_HUGO;


package DEFINITIONS_EGON is    --Kunde2
   constant C_TRIGGER:           integer := 1111;
   constant C_PERCNT:            integer := 1111;
end DEFINITIONS_EGON;


package body DEFINITIONS is
end DEFINITIONS;


In allen weiteren VDHL-Dateien wird ein Package wie folgt eingebunden:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use work.DEFINITIONS.ALL;


Vielleicht kann mir jemand einen Hinweis geben.
Danke

Autor: Da Micha (damicha)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schau mal in den Anhang. Das Funktionsprinzip ist folgendes:

1. Package (config_base_pack) mit Typendefinitionen für Customer und 
Konfiguration; mit der Zuweisung der Konfigurationswerte und einer 
Funktion, um eine Konfiguration auszuwählen.

2. Package (config_pack) mit der Definition der Konstanten und der 
Auswahl der Konfiguration (nur eine Zeile!).

Benutzen kannst Du dann die definierten Konstanten mit CFG.trigger und 
CFG.percnt, nachdem das config_pack eingebunden wurde.

Gruß DaMicha.

Autor: Konduktor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke DaMicha!

Das ist eine interessante Lösung. Warum auch nicht. Ich werde den Ansatz 
mal ausprobieren, wie ich damit zurecht komme.

mfg Konduktor

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.