mikrocontroller.net

Forum: FPGA, VHDL & Co. ISE findet package nicht


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich habe ein Problem mit einem Package in VHDL / ISE.

Ich brauche nur einen Typ (array von array) und ein paar Konstanten in 
mehreren Files. Ich habe folgenden Code in ein Package-File geschrieben:
LIBRARY crossbar;
PACKAGE config IS
  constant crossbar_port_count : integer := 24;
  constant crossbar_clock_count : integer := 4;
  constant crossbar_fixed_count : integer := 2;
  
  constant crossbar_clock_width : integer := integer(ceil(log2(real(crossbar_clock_count) + 0.5)));
  constant crossbar_data_width : integer := integer(ceil(log2(real(crossbar_port_count) + 0.5)));
  
  constant crossbar_config_width : integer := crossbar_data_width + crossbar_clock_width + 2;
  
  -- data:
  --   data selection
  --   clock selection
  --   control lane
  --   enable lane
  type crossbar_config is array( crossbar_port_count - 1 downto 0) of std_logic_vector( crossbar_config_width - 1 downto 0);
  
  constant crossbar_data_start : integer := crossbar_config_width - 1;
  constant crossbar_data_stop : integer := crossbar_data_start - crossbar_data_width;
  constant crossbar_clock_start : integer := crossbar_data_stop - 1;
  constant crossbar_clock_stop : integer := crossbar_clock_start - crossbar_clock_width;
  constant crossbar_control_pos : integer := crossbar_clock_stop - 1;
  constant crossbar_enable_pos : integer := crossbar_control_pos - 1;
END config;

Jedes mal wenn ich das File speichere verschwindet die Datei aus der 
Sources ansicht. Auch wenn ich die Konstanten woanders benutzen möchte 
bekomme ich eine Meldung das die Library nicht gefunden werden konnte.

Was mache ich falsch?

mfg
Andreas

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit eigenen Libraries habe ich noch nicht gearbeitet.

Mach ein Package, das erfüllt deinen Zweck genau so.

Du muss das Package in den zu verwendeten Dateien einbinden.

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
--USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
 use work.config.all;   -- dein Package aus deinem Arbeitsverzeichnis

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Danke für die Idee, hat allerdings nicht verändert. Habe nur ein Package 
gemacht, und die USE Zeilen in allen Files angepasst. Gleiches Ergebnis 
wie vorher: Das File selbst ist in der Sources Ansicht von ISE nicht 
mehr zu sehen, und wärend des Syntax check bekomme ich folgende 
Fehlermeldung:

ERROR:HDLParsers:3014 - 
"C:/work/XPS/crossbar_switch_v1_00_a/hdl/vhdl/user_logic.vhd" Line 64. 
Library unit config is not available in library crossbar_switch_v1_00_a.

Zum Einbinden in die jeweiligen Files habe ich:
USE work.config.all;
benutzt.

Es scheint fast so als ob ISE mein File komplett ignoriert...

mfg
Andreas

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso steht in der Fehlermeldung Library crossbar?

Lege unter ISE nochmal ein neues Projekt an.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Was ich vorher nicht gesagt habe: das Design ist ein Template das von 
XPS generiert wurde. Ich muss meine Hardware per PLB an einen Microblaze 
anbinden.

mfg
Andreas

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok habe das Problem gefunden. Ich hatte die Files zwar in das ISE 
Projekt welches XPS erstellt, jedoch hatte ich vergessen das ich das 
File auch in das *.pao file eintragen muss damit es beim synthetisieren 
im XPS gefunden wird...

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.