mikrocontroller.net

Forum: FPGA, VHDL & Co. WinCupl: GAL22V10 Fehlermeldung


Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Assemblieren mit WinCupl erhalte ich die Fehlermeldung "expression 
contains undefined symbol: InPort". Die Meldung erscheint unabhängig 
davon, ob ich sie global oder im Macro aufführe. Wo liegt mein Fehler?

Das Programm soll InPort zum Outport addieren (siehe 
Beitrag "Baustein mit 8-Bit Register gesucht").


Device   g22V10 ;

/* *************** INPUT PINS *********************/
PIN 1          = Clock ;
PIN [2..9]     = [D7..0] ;

PIN 10         = preset ;
PIN 11         = enable ;

/* *************** OUTPUT PINS *********************/
PIN [14..21]   = [Q7..0] ;

field InPort   = [D7..0] ;
field OutPort  = [Q7..0] ;

$MACRO Addit

field InPort   = [D7..0] ;
field OutPort  = [Q7..0] ;

OutPort.d  = {InPort + QutPort};

$MEND

Addit () ;

OutPort.ar = 'h'00 ;

OutPort.oe = enable ;

OutPort.sp = preset ;

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Quelltext steht QutPort statt OutPort. Sorry. Die Fehlermeldung 
ändert sich nicht.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich komme einfach nicht weiter mit WinCupl. Kann jemand mir einen 
anderen Galassembler nennen?

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

Bewertung
0 lesenswert
nicht lesenswert
OutPort.d  = {InPort + QutPort};
Kann es sein, dass WinCupl sowas nicht kann?
Im Manual steht auf Seite 2-2 unten
Six standard arithmetic operators are available for use in $repeat and $macro com-
mands. The following table lists these operators and their order of precedence, from
highest to lowest.
Und dann kommen: ** * / % + -
Und zumindest bei den ersten 4 glaube ich sicher behaupten zu können, 
dass ein CPLD vom Schlage eines 22V10 das nicht kann.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mittlerweile habe ich eine Menge versucht und bin (fast) deiner Meinung, 
daß das Ganze sich nicht in 22V10 gießen läßt.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hatte ich dir zum 16V8 in dem anderen Thread schon geschrieben.
Da reichen die Produktterme nicht fuer aus. Der 22V10 ist da nicht viel 
besser.

Am besten du nimmst ein CPLD. Damit gehts.

Gruss Helmi

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deinen Beitrag zum 16V8 habe ich gelesen. Da ich aber noch 22V10 
"rumliegen" habe (und der auch größer ist als der 16V8), war mein 
Gedanke, daß doch einmal schnell mit WinCupl auszuprobieren wo die 
Grenzen sind. Ergebnis: keins.

Am Wochenende habe ich - Dank des Feiertages - etwas Zeit und werde mich 
mit Halb- und Volladdierern ans Werk machen.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lothar

Nachtrag: Die arithmetischen Operatoren sind reine textuelle 
Ersetzungen. Auf der Ebene der GAL-Gleichungen sind sie nicht anwendbar. 
Also - zurück zu den logischen Operatoren.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Ergebnis: Das Maximum, das ich in ein GAL22V10 bekomme, ist ein 
7-Bit Akkumulator. Wie es aussieht benötigt man für einen 8-Bit 
Akkumulator min. 11 Makrozellen.

Nebenbei, die aktuelle WinCupl-Version hat einfach zuviele Bugs.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So aehnlich war das bei mir vor 15 Jahren auch. Mein Rat nimm ein CPLD 
und gut ist. Da hast du genuegend Reserven.

Gruss Helmi

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.