mikrocontroller.net

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


Autor: Heiko Prinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
Name     GAL_Counter ;
PartNo   00 ;
Date     28.05.2010 ;
Revision 01 ;
Designer Heiko Prinz ;
Company  privat ;
Assembly None ;
Location  ;
Device   g22v10 ;

/* *************** INPUT PINS *********************/
PIN 1     =      clk                   ; /* B                               */ 
PIN 2     =      up_do                 ; /* A                               */
PIN 3     =      res                   ; /* D-E                             */

/* *************** OUTPUT PINS *********************/
PIN 20    =      out3                  ; /*                                 */ 
PIN 21    =      out2                  ; /*                                 */ 
PIN 22    =      out1                  ; /*                                 */ 
PIN 23    =      out0                  ; /*                                 */ 

/* Definition */

field count   = [out3..0];       /* Index = Bitposition! */
$define S0  'b'0000
$define S1  'b'0001
$define S2  'b'0010
$define S3  'b'0011
$define S4  'b'0100
$define S5  'b'0101
$define S6  'b'0110
$define S7  'b'0111
$define S8  'b'1000
$define S9  'b'1001
$define S10  'b'1010
$define S11  'b'1011
$define S12  'b'1100
$define S13  'b'1101
$define S14  'b'1110
$define S15  'b'1111

field mode = [res,up_do];
up = mode:0;
down = mode:1;
reset = mode:2..3];

/* Logic Equations */
sequence count {
  present S0  if up    next S1;
      if down  next S15;
      if reset  next S0;
  present S1  if up    next S2;
      if down  next S0;
      if reset  next S0;
  present S2  if up    next S3;
      if down  next S1;
      if reset  next S0;
  present S3  if up    next S4;
      if down  next S2;
      if reset  next S0;
  present S4  if up    next S5;
      if down  next S3;
      if reset  next S0;
  present S5  if up    next S6;
      if down  next S4;
      if reset  next S0;
  present S6  if up    next S7;
      if down  next S5;
      if reset  next S0;
  present S7  if up    next S8;
      if down  next S6;
      if reset  next S0;
  present S8  if up    next S9;
      if down  next S7;
      if reset  next S0;
  present S9  if up    next S10;
      if down  next S8;
      if reset  next S0;
  present S10  if up    next S11;
      if down  next S9;
      if reset  next S0;
  present S11  if up    next S12;
      if down  next S10;
      if reset  next S0;
  present S12  if up    next S13;
      if down  next S11;
      if reset  next S0;
  present S13  if up    next S14;
      if down  next S12;
      if reset  next S0;
  present S14  if up    next S15;
      if down  next S13;
      if reset  next S0;
  present S15  if up    next S0;
      if down  next S14;
      if reset  next S0;
}

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: Heiko Prinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, ja aber ohne das bleibt der Fehler trotzdem

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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;

Autor: Heiko Prinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.