mikrocontroller.net

Forum: FPGA, VHDL & Co. Problem ISPLever ABEL programmierung


Autor: Jochen R. (josch90)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

zur Zeit programmiere ich Lattice-PLD's in Abel,
im Anhang habe ich dass Programm, welches ich mir geschrieben habe. 
Allerdings bekomme ich beim checken der Syntax immer folgenden Fehler:

"Syntax Error 1028: In "ampel_fussgänger.abl":22:EQUATIONS, 
STATE_DIAGRAM, TRUTH_TABLE or END expected."

Ich verstehe jedoch nicht, warum das Programm in der Zuordnungszeile der 
Truth_Table etwas wie Equations, State_Diagramm, etc. erwartet.

kann mir jemand weiterhelfen?

Gruß

Autor: Jochen R. (josch90)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier nochmal der Code als TXT

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohje, hab schon seit einigen Jahren kein Abel mehr gemacht, aber ich 
glaub, dass das Semikolon nach deiner Truth_Table Kopfzeile weg muss.



([fussgaenger, takt2, takt1, takt0] :> [fussgaenger, takt2, takt1, 
takt0]) -> [Arot,Agelb,Agruen,Frot,Fgruen]);
                                   | Semikolon muss weg

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das etwa das Praktikum vom Prof. Fischer an der HTW Dresden? 
Irgendwie kommt mir das bekannt vor.

Autor: Jochen R. (josch90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also den Fehler habe ich behoben, ich hatte in der Zeile eine Klammer zu 
viel, semikolon bleibt...
allerdings habe ich jetzt natürlich den nächsten fehler...

Logical Error 1095: In "ampel_fussgänger.abl":23:Block or macro nested 
too far. (Possible mis-use of macro arguments.)


>Ist das etwa das Praktikum vom Prof. Fischer an der HTW Dresden?

Nein, nicht ganz, ist an einer Berufsschule in Baden-Württemberg

Gruß

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://mezdata.de/isp/abel_kompakt/interne_d-ff.php
http://mezdata.de/isp/
Schau mal da rein, um ABEL Code zu lernen.

Gruss Holger.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jochen,

Hauptproblem: istype 'Buffer,Reg'
hier gehört kein Punkt hin. Di Nodes müssen ebenfalls mit Register sein, 
sonst macht ja :> keinen Sinn. Also takt0 NODE istype 'buffer, reg'; 
Dann hat auch der Fußgänger keinen Takt bekommen, obwohl in der Tabelle 
:> drin ist. Edit: sehe gerade, dass es Quatsch ist, den Fussgaenger 
überhaupt auf die rechte Seite der Tabelle zu nehmen. Du kannst ja kein 
Eingangssignal auf 0 setzen, wenn von außen eine '1' anliegt.
Weiterer Hinweis: einige ältere Versionen von Synario bzw. Lever machen 
ärger, wenn sich Variablen nur ein einem Buchstaben unterscheiden. Takt, 
takt, takt1 etc. kann kritisch sein (je nach Version).

Nicht ganz logisch ist die Zuordnung von ISTYPE für die beiden Eingänge 
takt und fussgaenger. Als reiner Eingang genügt: takt PIN 11;
Dann hat der Dateiname einen _ wo ein Umlaut wäre. Vermeide bei Lever 
Umlaute und Leerzeichen im Dateinamen und Pfad! Daher ist "Eigene 
Dateien" meist ein schlechter Speicherort. Ebenso der Desktop (liegt ja 
in c:\dokumente und einstellungen\username\desktop), gaz schlimm beim 
User Müller... Bei uns habe ich das Verzeichnis "Eigenen Dateien" daher 
auf c:\daten\schueler verschoben.

Tschuessle
Bernhard
Ende vom Lied - das hier Compiliert dann wenigstens. Der Ablauf der 
State-Machine ist aber trotzdem etwas Zweifelhaft, weil diverse 
Kombinationen fehlen (Fussgänger = 0, wenn Takt = 010 => Welcher 
Folgezustand ist hier gewünscht??). Etwas Arbeit soll Dir ja auch 
bleiben :-))

MODULE Ampel

DECLARATIONS                " Zuweisungen

takt2, takt1, takt0 Node ISTYPE 'Buffer,reg';        " Declarieren 
interner Hilfsausgänge
Arot, Agelb, Agruen, Frot, Fgruen PIN 4,10,7,13,17 ISTYPE 'Buffer,com'; 
" ARot, Agelb, Agruen den Flip-Flop Ausgangen 4,10,7 zuweisen 
Fussgängerampel
takt PIN 11 ;    " Den Takt dem Pin 11 zuweisen
fussgaenger pin 20;  " für den Fussgänger wurde einfach PIN 20 
angenommen


Takt= [takt2,takt1, takt0];  " Rot, Gelb, Gruen dem Set Takt 
zusammenfassen

EQUATIONS      " Beginn Hauptprogramm
Takt.clk = takt;  " Dem Set Ampel den Takt zuweisen

TRUTH_TABLE

([fussgaenger, takt2, takt1, takt0] :> [takt2, takt1, takt0] -> 
[Arot,Agelb,Agruen,Frot,Fgruen]);  " Zählstand vor dem Takt :> Zählstand 
nach dem Takt -> Ausgang
 [0,0,0,0] :> [0,0,1] -> [0,0,1,1,0]  ;
 [0,0,0,1] :> [0,1,0] -> [0,0,1,1,0]  ;
 [1,0,1,0] :> [0,1,1] -> [0,1,0,1,0]  ;
 [0,0,1,1] :> [1,0,0] -> [1,0,0,1,0]  ;
 [0,1,0,0] :> [1,0,1] -> [1,0,0,0,1]  ;
 [0,1,0,1] :> [1,1,0] -> [1,0,0,0,1]  ;
 [0,1,1,0] :> [1,1,1] -> [1,0,0,1,0]  ;
 [0,1,1,1] :> [0,0,0] -> [1,1,0,1,0]  ;

end    " Ende des Programms

Autor: spartanne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> >Ist das etwa das Praktikum vom Prof. Fischer an der HTW Dresden?
>Nein, nicht ganz, ist an einer Berufsschule in Baden-Württemberg

-- spam_on
hihi, so ist das halt im Ländle..
An Berufsschulen macht man das mit ABEL und an der Hochschule werden die 
Fußgängerampeln in VHDL programmiert.. aber ich konnte mich bisher als 
Fußgänger auf die Ampel verlassen, war alles synchron :-)
-- spam_off

Autor: adil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir bitte jamand helfen ?  ich muss  ein programm mit Abel 
reaisiren , der  zwei 2 Bit-Zahlen addieren , und einer für das 
Substrahiern und einer für das Multipliziern .
bitte helfen sie mir

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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.