mikrocontroller.net

Forum: FPGA, VHDL & Co. Synthesefehler XST:2587


Autor: Smoerrebroed (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe gerade angefangen mir mit einem XILINX Spartan3 Board und der 
ISE Version 9.2i VHDL beizubringen.
Nun bin ich auf ein Problem gestoßen auf das ich keine Lösung finden 
kann.
Evtl. kann mir jemand weiterhelfen.
Ich möchte den auf dem Eval Board befindlichen VGA Anschluß dazu 
animieren einen Text auf einen Monitor zu zaubern.
Die angehängte Datei (ROM 2K; 8 Bit, kein Parity) ist ein Teil eines 
Zeichengenerators. Wenn ich darüber einen Syntax Check laufen lasse ist 
alles fehlerfrei.
Wenn ich das Bauteil in mein Design einbinde zeigt der Syntax check 
ebenfalls keine Fehler.
Sobald ich aber versuche den Code zu synthetisieren bringt ISE mir die 
beiden Fehler:
ERROR:Xst:2587 - Port <DIP> of instance <char_0_127> has different type 
in definition <RAMB16_S9>.
ERROR:Xst:2587 - Port <DOP> of instance <char_0_127> has different type 
in definition <RAMB16_S9>.

In der XILINX Hilfe ist nachzulesen, daß es sich dabei um ein Mismatch 
von Datentypen handelt.
Das verstehe ich leider nicht, da in der UNISIM Library die Signale DIP 
und DOP als Vektoren der Länge 1 (0 downto 0) deklariert sind und ich 
das Signal DOP als open und DIP mit "0" fest vorbelegt habe da ich kein 
Parity brauche. Nach meinem Verständnis sollte das doch passen oder hab 
ich was übersehen ?

Bitte seid gnädig mit mir, ist sicherlich ein doofer Anfängerfehler 
(VHDL Erfahrung lässt sich bei mir noch in Stunden messen ;-)

Gruß,
Oliver

Autor: marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
falls dies(
      DO => Data,       -- 8-bit Data Output
      DOP => open,      -- 1-bit parity Output
      ADDR => Adress,   -- 11-bit Address Input
      CLK => Clock,     -- Clock
      DI => X"00",      -- 8-bit Data Input
      DIP => "0",       -- 1-bit parity Input
      EN => ren,        -- RAM Enable Input
      SSR => '0',       -- Synchronous Set/Reset Input
      WE => '0'         -- Write Enable Input)
 signale sein sollen musst du sie erst mal zwischen architecture und 
begin definieren

marcel

Autor: Smoerrebroed (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcel,

danke für Deine Antwort.
Die Signale werden bereits in der Unisim Library definiert, da es sich 
bei dem RAM un ein von XILINX vordefiniertes Primitive handelt.
Ich hab trotzdem mal die Signale zusätzlich definiert, man kann ja nie 
wissen, aber der selbe Fehler kommt immer noch.

Oliver

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als was ist denn dip definiert? Wenn es ein std_logic ist muss Deine 
Zeile so lauten (andere Anführungsstriche):
DIP => '0',

Ansonsten tu Dir den Gefallen und verwende eine allgemeinere, lesbare 
Schreibweise für den RAM (wie steht in xst.pdf). Die verstehst Du auch 
in
fünf Jahren noch und sie ist nicht primär von Xilinx abhängig.

Rick

Autor: Smoerrebroed (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rick,

danke für den Tipp,
Ich hab jetzt den RAM allgemeiner und ohne Xilinx primitives definiert 
und er hat auf Anhieb funktioniert.
Den Fehler hab ich übrigens mittlerweile als Bug im XST Synthesetool 
lokalisieren können.

Gruß,
Oliver

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.