www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Multi-Sources - Wieso!


Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich bastle gerade einen Matrix-Decoder.
Beim Synthetisieren mit Xilinx-ISE gibt es aber ein Problem.
Es erscheinen 4 Fehlermeldungen.
Error:xst:528 - Multi-source in Unit <matrixdecoder> on signal 
<keyf<1><2>>
<keyf<1><3>>
<keyf<1><4>>
<keyf<3><3>>


In einem Process habe ich folgende Konstruktion.
 type keyfeld is array (col'left to col'right,row'left to row'right) of std_ulogic;
 signal keyf: keyfeld;

begin
..
..

       -- Rowabfrage und Keyzuweisung.
        for count in col'left to col'right loop
          if countper=collow(count)-1 then
             for count2 in row'left to row'right loop
               if row(count2)='1' then
                 keyf(count,count2)<='1';
               else
                 keyf(count,count2)<='0';
               end if;
             end loop;
          end if;
        end loop; 

..
..

Ich verstehe nicht, wie es zu dieser Meldung kommt, wenn doch die 
Schleifen und die Verzweigung garantieren, dass nur eine Zuweisung auf 
den Treiber passiert?

Danke für eure Hilfe.
Tschüss
Mario

Autor: Kim Nagel (kim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du änderst in 2 Verschiedenen Prozessen den Wert von keyf das mag er 
nicht nehme ich jetzt mal stark an...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, du kannst das ganze entweder in einen Prozess schreiben damits 
geht, oder du änderst das wie folgt:
keyf(count,count2) <='1' when row(count2)='1' else '0';

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schau mir das Ganze nochmal an.

Danke Leute.

Tschüss
Martin

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.