Process "Check Syntax" failed

Gast #1486284
Lesenswert?

Hi,
ich benutzte xilinx und habe folgendes problem:

ich lass die Syntax von meiner TB checken und dann kommt folgendes:


Started : "Check Syntax".
Running vhpcomp
Compiling vhdl file "C:/Dokumente und 
Einstellungen/roGl/Desktop/3/3a.vhd" in Library isim_temp.
Entity <tr> compiled.
Entity <tr> (Architecture <compl3>) compiled.
Compiling vhdl file "C:/Dokumente und 
Einstellungen/roGl/Desktop/3/TB4.vhd" in Library isim_temp.
Entity <tb4_vhd> compiled.
Entity <tb4_vhd> (Architecture <behavior>) compiled.
Parsing "TB4_vhd_stx.prj": 0.25

Process "Check Syntax" failed


und ich habe keinen blassen schimmer was ich da machen soll!
Ich hab schon die aktuellen Updates runtergeladen und es ändert sich 
nichts!

Es wär super wenn euch dafür ne Lösung oder zumindest ein Grund 
einfällt!

Danke
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #1486416
Lesenswert?

Hast du schon mal so richtig einfache Projekte gemacht?
Oder legst du gleich mit dem Monsterprojekt los?

Das sieht recht bedenklich aus:
1
use IEEE.STD_LOGIC_ARITH.ALL;      ---- entweder die beiden hier
2
use IEEE.STD_LOGIC_UNSIGNED.ALL;   
3

4
use ieee.numeric_std.all;          ---- oder die hier
5
:
6
architecture compl3 of TR is
7
:
8
begin
9
:
10
verrechnung: process (clk,zahl2, operator) -- sieh dir mal die Sensitivliste an...
11
begin
12
zahl1i <= zahl1;                           -- da fehlt mindestens zahl1
13
zahl2i <= zahl2;
14

15
if (operator = "0000") then       -- man darf, um die Lesbarkeit zu erhöhen, 
16
z1 (22 downto 0)<=zahl1i+zahl2i;  -- in VHDL am Zeilenanfang Leerzeichen einfügen
17
end if;
18
if (operator ="0001") then
19
z1 (22 downto 0)<=zahl1i-zahl2i;
20
end if;
21
if (operator = "0010") then
22
z1<=zahl1i*zahl2i;
23
--if (operator = "0011") then z1:=zahl1i/zahl2i;   --- das hast du selbst gemerkt, dass das nicht geht....
24
elsif (clk'event and clk = '1') then  --- der Takt hier? Ist das schon so gewollt????
25
z1<="0000000000000000000000000000000000000000000000";
26
end if;
27
:
28
loop05: for i in 9 downto 0 loop   --- lies dir mal das Thema loops in VHDL durch
29
if (z1>= "0000000000000000000000000000011000011010100000") --100000
30
then BCD05<=i;
31
z1<=z1 - "0000000000000000000000000000011000011010100000";
32
end if;
33
end loop loop05;
34
:
35
end if;
36

37
bcd0o <= bcd0;
38
bcd1o <= bcd1;
39
bcd2o <= bcd2;
40
bcd3o <= bcd3;
41
bcd4o <= bcd4;
42
bcd5o <= bcd5;
43
bcd6o <= bcd6;
44

45
end process verrechnung;  -- aber holla, alles in 1 Prozess. Und der ist teilweise getaktet. Das ist gewagt...
46
end compl3;
Gast #1486537
Lesenswert?

Ja ich hab mal die Taktung weggelassen und die SL aktuellisiert.
Die Libary hab ich aus rausgelöscht obwohl der die selbstständig 
einfügt.
-> es geht immer noch nicht!...

was meinst du mit der Zeile:
loop05: for i in 9 downto 0 loop   --- lies dir mal das Thema loops in 
VHDL durch
ist 1:1 aus unserem skript raus!...
was soll da nicht passen?
Danke!
Moderator (Firma: Titel) Persönliche Seite #1486549
Lesenswert?

> ist 1:1 aus unserem skript raus!...
1
    for i in 9 downto 0 loop
Klar, das ist eine Schleife nach VHDL-Syntax.
> was soll da nicht passen?
Die Art und Weise, wie diese loop verwendet wird, passt nicht. Eine 
Schleife in VHDL erzeugt paralelle Hardware (Kombinatorik).

Aber das:
1
loop05: for i in 9 downto 0 loop   
2
   if (z1 >= "0000000000000000000000000000011000011010100000") then  --100000
3
      BCD05 <= i;
4
      z1 <= z1 - "0000000000000000000000000000011000011010100000";
5
   end if;
6
end loop loop05;
Das kannst du zwar simulieren, aber das wirst du nicht so ohne weiteres 
in Hardware abbilden können. Das ist eine gut versteckte kombinatorische 
Schleife:
http://www.lothar-miller.de/s9y/categories/36-Kombinatorische-Schleife


Die Umwandlung einer Zahl in eine BCD-Zahl geht besser so:
http://www.lothar-miller.de/s9y/categories/44-BCD-Umwandlung
Moderator (Firma: Titel) Persönliche Seite #1488444
Lesenswert?

Duke Scarring schrieb:
> Seit wann kann Xilinx denn richtig mit Leerzeichen (und Punkten) im Pfad
> umgehen?
Ich denke, seit der Pfad und der Dateiname in Anführungszeichen gesetzt 
werden. Aber ein kleines Fragezeichen verbleibt, weil z.B. aus
1
Synthesizing Unit <test>.
2
    Related source file is "F:/Projekte/FPGA/Pfad mit Leerzeichen/test/test.vhd".
Zwischendurch mal das wird:
1
F:/Projekte/FPGA/Pfad has been created.
Ich würde den Pfad so wählen, dass diese "Sonderzeichen" nicht 
vorkommen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren