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


von JK (Gast)


Angehängte Dateien:

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:
1
entity CK_MUX is
2
  port(
3
    CK_SEL : in bit_vector (1 downto 0);
4
    CK_IN  : in bit_vector (3 downto 0);
5
    CK_OUT : out bit
6
  );
7
end entity CK_MUX;
8
9
architecture MUX of CK_MUX is
10
begin
11
  CMUX: process (CK_SEL, CK_IN)
12
  begin
13
    case CK_SEL is
14
      when "00"   => CK_OUT <= CK_IN(0);
15
      when "01"   => CK_OUT <= CK_IN(1);
16
      when "10"   => CK_OUT <= CK_IN(2);
17
      when others => CK_OUT <= CK_IN(3);
18
    end case;
19
  end process CMUX;
20
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

von mac4ever (Gast)


Lesenswert?

Hier ist mal mein Toplevel-Design mit deiner Komponente. Ich habe damit 
keinerlei Darstellungsprobleme auf unterschiedlichen Zoomstufen:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
6
---- Uncomment the following library declaration if instantiating
7
---- any Xilinx primitives in this code.
8
--library UNISIM;
9
--use UNISIM.VComponents.all;
10
11
entity TLD is
12
port(
13
  CK_SEL : in bit_vector(1 downto 0);
14
  CK_IN : in bit_vector(3 downto 0);
15
  CK_OUT : out bit
16
);
17
end TLD;
18
19
architecture Behavioral of TLD is
20
component CK_MUX is
21
  port(
22
    CK_SEL : in bit_vector (1 downto 0);
23
    CK_IN  : in bit_vector (3 downto 0);
24
    CK_OUT : out bit
25
  );
26
end component;
27
28
begin
29
  UUT: CK_MUX
30
  port map(
31
    CK_SEL => CK_SEL,
32
    CK_IN => CK_IN,
33
    CK_OUT => CK_OUT
34
  );
35
36
  
37
end Behavioral;

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.  ;-)

von JK (Gast)


Lesenswert?

Vielen Dank für die Antworten!

lg. JK

von JK (Gast)


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

von Bernhard R. (barnyhh)


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

von Christian R. (supachris)


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.

von Andreas (Gast)


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

von JK (Gast)


Lesenswert?

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

lg. JK

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
Noch kein Account? Hier anmelden.