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
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.
Danke DaMicha! Das ist eine interessante Lösung. Warum auch nicht. Ich werde den Ansatz mal ausprobieren, wie ich damit zurecht komme. mfg Konduktor
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.