Forum: FPGA, VHDL & Co. Fehler bei WINCUPL-Quelltext


von Heiko Prinz (Gast)


Lesenswert?

Ich bekomme immer den folgenden Fehler:

45:reset = mode:2..3;
           ^
[0009ca] missing Symbol: ;

Wäre schön, wenn mir jemand helfen kann.
Habe den Grund dafür bisher nicht gefunden. M.E. sind alle ; vorhanden
1
Name     GAL_Counter ;
2
PartNo   00 ;
3
Date     28.05.2010 ;
4
Revision 01 ;
5
Designer Heiko Prinz ;
6
Company  privat ;
7
Assembly None ;
8
Location  ;
9
Device   g22v10 ;
10
11
/* *************** INPUT PINS *********************/
12
PIN 1     =      clk                   ; /* B                               */ 
13
PIN 2     =      up_do                 ; /* A                               */
14
PIN 3     =      res                   ; /* D-E                             */
15
16
/* *************** OUTPUT PINS *********************/
17
PIN 20    =      out3                  ; /*                                 */ 
18
PIN 21    =      out2                  ; /*                                 */ 
19
PIN 22    =      out1                  ; /*                                 */ 
20
PIN 23    =      out0                  ; /*                                 */ 
21
22
/* Definition */
23
24
field count   = [out3..0];       /* Index = Bitposition! */
25
$define S0  'b'0000
26
$define S1  'b'0001
27
$define S2  'b'0010
28
$define S3  'b'0011
29
$define S4  'b'0100
30
$define S5  'b'0101
31
$define S6  'b'0110
32
$define S7  'b'0111
33
$define S8  'b'1000
34
$define S9  'b'1001
35
$define S10  'b'1010
36
$define S11  'b'1011
37
$define S12  'b'1100
38
$define S13  'b'1101
39
$define S14  'b'1110
40
$define S15  'b'1111
41
42
field mode = [res,up_do];
43
up = mode:0;
44
down = mode:1;
45
reset = mode:2..3];
46
47
/* Logic Equations */
48
sequence count {
49
  present S0  if up    next S1;
50
      if down  next S15;
51
      if reset  next S0;
52
  present S1  if up    next S2;
53
      if down  next S0;
54
      if reset  next S0;
55
  present S2  if up    next S3;
56
      if down  next S1;
57
      if reset  next S0;
58
  present S3  if up    next S4;
59
      if down  next S2;
60
      if reset  next S0;
61
  present S4  if up    next S5;
62
      if down  next S3;
63
      if reset  next S0;
64
  present S5  if up    next S6;
65
      if down  next S4;
66
      if reset  next S0;
67
  present S6  if up    next S7;
68
      if down  next S5;
69
      if reset  next S0;
70
  present S7  if up    next S8;
71
      if down  next S6;
72
      if reset  next S0;
73
  present S8  if up    next S9;
74
      if down  next S7;
75
      if reset  next S0;
76
  present S9  if up    next S10;
77
      if down  next S8;
78
      if reset  next S0;
79
  present S10  if up    next S11;
80
      if down  next S9;
81
      if reset  next S0;
82
  present S11  if up    next S12;
83
      if down  next S10;
84
      if reset  next S0;
85
  present S12  if up    next S13;
86
      if down  next S11;
87
      if reset  next S0;
88
  present S13  if up    next S14;
89
      if down  next S12;
90
      if reset  next S0;
91
  present S14  if up    next S15;
92
      if down  next S13;
93
      if reset  next S0;
94
  present S15  if up    next S0;
95
      if down  next S14;
96
      if reset  next S0;
97
}

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


Lesenswert?

Irgendwie verloren, diese alleinstehende ']' da:
> reset = mode:2..3];

von Heiko Prinz (Gast)


Lesenswert?

Ups, ja aber ohne das bleibt der Fehler trotzdem

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


Lesenswert?

Ich kann zwar kein CUPL, aber ich würde mal probieren:

reset = [mode2..3];
analog zu
field count = [out3..0];

oder (viel eher):

reset = mode:2;
analog zu
down = mode:1;

von Heiko Prinz (Gast)


Lesenswert?

Na mode kann 4 Zustände einnehmen, 00 (0), 01 (1), 10 (2), 11 (3)
also sobald die erste Stelle 1 ist (also Reset gedrückt) soll er reset 
setzen
Der Code ist abgewandelt aus der WINCUPL-Reference. Hab ihn nur auf 
einen 4bit Zähler angepasst, aber die Stelle steht auch so da drin.
Trotzdem Danke, mit den eckigen Klammern, da gibts nur noch mehr fehler. 
ich habe auch reset separat einmal mit 2 und danach mit 3 geschrieben. 
aber der fehler bleibt

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.