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ß
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
Ist das etwa das Praktikum vom Prof. Fischer an der HTW Dresden? Irgendwie kommt mir das bekannt vor.
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ß
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.
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
> >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
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
Sieh hier nach, hat mir viel geholfen: http://www.latticesemi.com/lit/docs/manuals/abel.pdf http://www.latticesemi.com/lit/docs/manuals/abel_ref.pdf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.