mikrocontroller.net

Forum: FPGA, VHDL & Co. Anzeigefehler in ISE 10.1 oder habe ich etwas übersehen?


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei eine kleine Schaltung mit hilfe eines CPLD noch 
weiter zu verkleinern. Im Prinzip funktioniert inzwischen alles wie 
gewünscht.
Was mich jedoch noch beunruhigt, ist die Tatsache, dass mir ISE 10.1 
einen Eingang zum Multiplexer scheinbar nicht "verdrahtet".
Im normalfall würde ich davon ausgehen, dass ich Mist gebaut habe, aber 
ich habe mir den Code inzwischen zig mal angesehen und nichts 
verdächtiges gefunden.
Das Problem ist im RTL Schematic sichtbar während im technology 
schematic alles zu stimmen scheint.
Die Synthese verläuft Fehler- und Warning- frei.
Die Simulation im ModelSim XE III 6.3c verläuft ebenfalls OK.

Ich habe den Multiplexer aus dem Projekr herausgelöst. Er sieht so aus:
entity CK_MUX is
  port(
    CK_SEL : in bit_vector (1 downto 0);
    CK_IN  : in bit_vector (3 downto 0);
    CK_OUT : out bit
  );
end entity CK_MUX;

architecture MUX of CK_MUX is
begin
  CMUX: process (CK_SEL, CK_IN)
  begin
    case CK_SEL is
      when "00"   => CK_OUT <= CK_IN(0);
      when "01"   => CK_OUT <= CK_IN(1);
      when "10"   => CK_OUT <= CK_IN(2);
      when others => CK_OUT <= CK_IN(3);
    end case;
  end process CMUX;
end architecture MUX;
Da ich nicht sicher bin, ob meine Beschreibung verständlich war, hänge 
ich hier noch ein PNG-Screenshot des Fehlers an.

In meinem VHDL Beispiel verwende ich die typen bit und bit_vector. Mit 
std_logic und std_logic_vector bekomme ich exakt das gleiche Ergebnis.
Auch wenn ich das ganze statt im process als nebenläufige Anweisung 
(select) definiere, bekomme ich auch dieses Ergebnis.

Hat jemand eine Idee woran das liegt?

lg. JK

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist mal mein Toplevel-Design mit deiner Komponente. Ich habe damit 
keinerlei Darstellungsprobleme auf unterschiedlichen Zoomstufen:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity TLD is
port(
  CK_SEL : in bit_vector(1 downto 0);
  CK_IN : in bit_vector(3 downto 0);
  CK_OUT : out bit
);
end TLD;

architecture Behavioral of TLD is
component CK_MUX is
  port(
    CK_SEL : in bit_vector (1 downto 0);
    CK_IN  : in bit_vector (3 downto 0);
    CK_OUT : out bit
  );
end component;

begin
  UUT: CK_MUX
  port map(
    CK_SEL => CK_SEL,
    CK_IN => CK_IN,
    CK_OUT => CK_OUT
  );

  
end Behavioral;

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat jemand eine Idee woran das liegt?
Der RTL-Viewer war schon immer ein wenig buggy  :-/
Bei irgendeiner Version zeigte er keine Invetrierungs-Kringel an, erst 
ein Update aufs höchste Service-Pack brachte das in Ordnung.

> ISE 10.1
Die 9er läuft recht stabil. Und xx.1 war immer ein Update wert.  ;-)

Autor: JK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten!

lg. JK

Autor: JK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt den SP3 für v10.1 installiert. An der Darstellung hat das 
nichts geändert. Vielleicht werde ich noch ein Downgrade auf v9.x 
versuchen, wenn ich mehr Zeit habe.
Lassen sich mehrere ISE WebPack Versionen ohne Probleme parallel 
betreiben?

lg. JK

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fahre auch ISE Webpack 10.1 SP3 und erhalte ebenfalls des öfteren 
derartige fehlerhafte Schematics. Ich halte das insbesondere deshalb für 
"ekelhaft", weil ich das Schaltbild zur Kontrolle meines Codes benutze: 
Ein- und dieselbe Sache in unterschiedlichen Darstellungsformen (VHDL 
und Schaltbild oder auch C-Code und generierter Assembler-Code) hilft 
mir sehr beim Schreibtischtest.

Bernhard

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JK wrote:

> Lassen sich mehrere ISE WebPack Versionen ohne Probleme parallel
> betreiben?

Prinzipiell ja, aber du musst die PATH Umgebungsvariable anpassen, also 
geht immer nur eine Version gleichzeitig. Wenn du die jeweils andere 
nehmen willst, musst du die Variable wieder ändern. Aber das lässt sich 
ja z.B. mit einer Batchdatei machen.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,
es gibt das alternative SET -> XSET, damit kannst Du dir für die 
aktuelle Instanz ( Textprompt ) die Systemvariable PATH und XILINX und 
ggfls. XILINX_EDK setzen.

Du kannst dann die ISE allerdings nur aus dieser Textkonsole starten.

Gruss

Andreas Bergmann

Autor: JK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke sehr auch für diese Tipps.
Ich werde es auf jeden Fall ausprobieren.

lg. JK

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.