koukou
Newbie level 1
Vhdl ams syntaxe error: Hamster
Hello,
The following code results in the error under determined model and the simulation breaks off.
How should I remove the error. I have coded in Hamster Vhdl.
I would appreciate any help.
Hello,
The following code results in the error under determined model and the simulation breaks off.
How should I remove the error. I have coded in Hamster Vhdl.
I would appreciate any help.
Code VHDL - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 entity MEM is generic (-- Initial state (between 0 and 1) X0 : REAL := 0.1; R_OFF : REAL := 16.0E3; R_ON : REAL := 100.0; D : REAL := 10.0E-9; UV : REAL := 1.0E-14); port (terminal POS, NEG : ELECTRICAL); constant EPS_I : REAL := 1.0E-9; begin assert (X0 > 0.0) and (X0 < 1.0) report "ERROR: X0 in (0,1) required ." severity ERROR; end entity MEM; architecture LINEAR of MEM is type MODE_TYPE is (FREE , ZERO , ONE); signal MODE : MODE_TYPE := FREE; quantity V across I through POS to NEG; quantity X : REAL; begin if DOMAIN = QUIESCENT_DOMAIN use X == X0; elsif MODE = ZERO use X == 0.0; elsif MODE = ONE use X == 1.0; else X'DOT == (UV/(D**2))*R_ON*I; end use; break on MODE; V == (R_ON*X + (1.0-X)*R_OFF)*I; P1: process is begin wait on DOMAIN; while TRUE loop wait on X'above(0.0), X'above(1.0), I'above(EPS_I), I'above(-EPS_I); ---ERROR--syntax error: Unexpected entry: ' if MODE = FREE then if X <= 0.0 then MODE <= ZERO; elsif X >= 1.0 then MODE <= ONE; end if; elsif MODE = ZERO then if I > EPS_I then MODE <= FREE; end if; elsif MODE = ONE then if I < -EPS_I then MODE <= FREE; end if; end if; end loop; end process P1; end architecture LINEAR;