FATAL_ERROR:HDLParsers:vhptype.c:174:$Id: vhptype.c,v 1.9 2005/08/22

(Firma: privat) #815287
Lesenswert?

weiss jemand was das sein soll ?

bei die Synthese bekomme ich diese Fehlermeldung
Tool ist xilinx ise 9.2i mit dem Compiler xst .

FATAL_ERROR:HDLParsers:vhptype.c:174:$Id: vhptype.c,v 1.9 2005/08/22 
17:03:34 mikev Exp $:200 - INTERNAL ERROR... while parsing 
"I:/Xilinx92i/Uniform_verteilung/uniform_D.vhd" line 33. Contact your 
hot line.   Process will terminate....
Process "Synthesize" failed

hier ist der code :


ENTITY unif_Div IS
    PORT (
           genRnd_unif :in bit;
           unif_z : out sfixed(7 downto -7));
END unif_Div;

architecture genunifz OF unif_Div IS

BEGIN

  PROCESS (genRnd_unif)
    VARIABLE seed1:integer:=1;
    VARIABLE seed2:integer:=56;
    VARIABLE rand: real;
    VARIABLE int_rand: sfixed (7 downto -7);
BEGIN
  UNIFORM(seed1, seed2, rand);
  int_rand := to_sfixed(INTEGER(TRUNC(rand*96.0)),7,-7);
    IF(genRnd_unif = '1') THEN unif_z <=int_rand;
    ELSE unif_z<=to_sfixed(integer(0),7,-7);
    END IF;

  END PROCESS;
END genunifz;
Gast #815316
Lesenswert?

Bin kein Experte, aber INTERNAL ERROR ist meiner Meinung nach
starker Hinweis, dass es ein Bug im Parser/Compiler ist.
Contact your hotline .. das ist deswegen, damit Du schön
mithilfst diesen Bug zu reporten und damit irgendwann man zu beseitigen 
;)
Gast #815411
Lesenswert?

Jo das ist ein Fehler im Synthesizer-Programm. Da kannst du wenig machen 
außer mal andere Versionen vom ISE / XST ausprobieren.

Allerdings sieht mir dein Code auch nicht wirklich synthetisierbar aus. 
Vielleicht kannst du den Fehler umgehen, wenn du etwas hinschreibst, was 
eher nach "echter" Hardware aussiehst.
(Firma: privat) #815513
Lesenswert?

Danke Leute

ich habe nur einen einzigen link über dieses Problem beim googeln 
gefunden
such begriff : FATAL_ERROR:HDLParsers:vhptype.c:174:$Id: vhptype.c,v 1.9

Fehler Ursache:  Gleichzeitiger Zugriff auf eine Ressource.

bei xilinx support steht etwas mit alias und subtyps aber hier habe ich 
kein alias benutzt

Morin wrote:

> außer mal andere Versionen vom ISE / XST ausprobieren.

ich habe die aktuelle version.

> Allerdings sieht mir dein Code auch nicht wirklich synthetisierbar aus.

woran siehst du das ??
Gast #815610
Lesenswert?

1
UNIFORM(seed1, seed2, rand);
2
int_rand := to_sfixed(INTEGER(TRUNC(rand*96.0)),7,-7)

uniform ist eine Funktion, die imho nicht synthetisierbar ist. Sie kann 
für Testbenches benutzt werden, um Pseudozufallsdaten zu erzeugen. Wenn 
man in HW Zufall braucht, greift man zB. zu einem SR mit Rückkopplung 
als PRNG.
Gast #816213
Lesenswert?

> ich habe die aktuelle version.

Eben, die ist Müll. Bei "Internal Errors" versuch mal ISE 6.2 oder 6.3.

Hier denke ich aber dass es was anderes ist:

> woran siehst du das ??

Wie schon gesagt wurde: Verwendung der unbeschränkten REAL- und 
INTEGER-Datentypen und der entsprechenden Funktionen.

Setz das mal in Bit- oder Std_logic-Vektoren um, und gib das dem XST zu 
fressen. Damit kommt es klar.

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