Frage bezueglich Fehlermeldungen vom HDL Compiler(nicht nur an Lothar)

OP Persönliche Seite #2649632
Lesenswert?
• ▲
▼
Hallo,

ich habe heute versucht die Flankenerkennung von Lothar nachzubauen. 
Leider bekomme ich da fuer das TB folgende Fehlermeldungen:

ERROR:HDLCompiler:806 - 
"C:/AllMyFiles/FPGA/Projects/EdgeDetect/edge_detect/tb_edge_detect.vhd" 
Line 45: Syntax error near "100.0".

ERROR:HDLCompiler:806 - 
"C:/AllMyFiles/FPGA/Projects/EdgeDetect/edge_detect/tb_edge_detect.vhd" 
Line 47: Syntax error near "1".

ERROR:HDLCompiler:1728 - 
"C:/AllMyFiles/FPGA/Projects/EdgeDetect/edge_detect/tb_edge_detect.vhd" 
Line 47: Type error near ns ; current type time; expected type  void

WARNING:HDLCompiler:1369 - 
"C:/AllMyFiles/FPGA/Projects/EdgeDetect/edge_detect/tb_edge_detect.vhd" 
Line 37: Possible infinite loop; process does not have a wait statement

ERROR:HDLCompiler:854 - 
"C:/AllMyFiles/FPGA/Projects/EdgeDetect/edge_detect/tb_edge_detect.vhd" 
Line 9: Unit <behavior> ignored due to previous errors.

Vielleicht liegt es daran, dass ich die neue Version 13.4 verwende. Mit 
welcher Version laueft denn der Code?

Vielen Dank...
Moderator (Firma: Titel) Persönliche Seite #2649691
Lesenswert?
• ▲
▼
Mark W. schrieb:
> Leider bekomme ich da fuer das TB folgende Fehlermeldungen:
Du hättest da mal einen Link auf den Code setzen sollen....
http://www.lothar-miller.de/s9y/categories/18-Flankenerkennung

> Vielleicht liegt es daran, dass ich die neue Version 13.4 verwende.
Nein, daran leigt es nicht.

> Mit welcher Version laueft denn der Code?
Mit keiner, denn da sind Fehler drin...
Sieh dir mal die Zeilen und den zugehörigen Code an:
1
45:     irand := integer((rand  100.0  - 0.5) + 50.0 );
2
46:     -- und dann diese Zeit abwarten
3
47:     wait for irand  1 ns;
Bei diesem Code fehlen (vermutlich durch die Formatierung) ein paar 
Zeichen. Mit einer weltweiten Suche nach "VHDL rand" hättest du z.B. den 
Beitrag "Re: Zufallszahlen mit VHDL erzeugen" gefunden, und dann 
den ersten fehlenden Stern nachgetragen:
1
     irand := integer((rand * 100.0  - 0.5) + 50.0 );

Und das dann auch in der Zeile 47 gemacht:
1
     -- und dann diese Zeit abwarten
2
     wait for irand * 1 ns;

Na bitte, das hat doch gar nicht weh getan...  ;-)

BTW: Ich habe die Typos auf meiner HP korrigert.

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