www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Probleme mit GAL16V8


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich arbeite gerade an meiner Studienarbeit mit einem GAL16V8A von 
Lattice. Ich möchte diesen Baustein mit einer einfachen Logik 
programmieren. So sieht mein Programm aus:
Name     Test4 ;
PartNo   00 ;
Date     24.08.2010 ;
Revision 01 ;
Designer ******** ;
Company  ********** ;
Assembly None ;
Location  ;
Device   G16V8 ;

/* *************** INPUT PINS *********************/
PIN 2   = A                        ; /*                                 */ 
PIN 3  = B        ;  

/* *************** OUTPUT PINS *********************/
PIN 19    = X               ; /*                                 */ 
PIN 18     = Y      ;
/* *************** LOGIC EQUATION *********************/

X = A;
Y = B;

Als IDE benutze ich WinCUPL von Atmel. Beim compilieren erhalte ich 
keine Fehlermeldung. Jedoch ist WinCUPL ein Produkt von ATMEL und somit 
der Compiler nur auf deren GALs abgestimmt. Ich habe gelesen, dass aber 
auch der ATF16V8B (Wird als Device bei WinCUPL angezeigt) dem GAL16V8 
von Lattice ähnelt und man diesen compiler ebenso verwenden kann...

Jedenfalls der Simulator WinSIM zeigt mir die richtigen Ergebnisse, also 
richtiges Ausgangverhalten.

Als Programmiergerät nutze ich TOP2004 (irgendein ein Import aus Asien). 
Auf den GAL habe ich dann dieses JEDEC File geladen. Bis hier hin 
scheint alles soweit so gut.

An den Ausgängen des GAL hab ich 2 LEDs dran gehängt (natürlich jeweils 
mit einem Vorwiderstand). Als ich den GAL mit Spannung versorgt habe, 
also VCC mit 5V, leuchten sofort die LEDs auf... Das sollte eigentlich 
nicht sein.

An meine Eingängen habe ich nichts anliegen, also garnicht beschaltet. 
normalerweise sollte die LEDs auflechten, sobald an den Eingänge ein 
High-Pegel anliegt...

Wo liegt hier mein Fehler?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind TTL-Eingänge. Offen wird als High erkannt. Pull-Down-Widerstand 
sollte Ruhepegel Null gewährleisten, falls erwünscht.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab nun beide Eingänge jeweils mit einem 110k Ohm Widerstand auf Masse 
gelegt... die beiden Ausgänge bleiben trotzdem auf High... daran liegt 
es wohl leider nicht

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für TTL sind 110k gegen Masse etwa gleichviel wie unendlich gegen Masse.

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"110k"

In der Digitaltechnik ist sowas ein schlechter Isolator.

Pullups kann man fast immer als 2.2K oder 4.7K machen, dasselbe gilt bei 
CMOS fuer Pulldowns (bei TTL besser Pegelbereiche und 
Ein/Ausgangsstroeme aus dem Datenblatt nehmen und rechnen!).

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Und wieviel Ohm wäre demnach angemessen?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na das probier ich doch gleich mal aus

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche mentale Sperre hindert Dich, 0 V an einen Eingang anzulegen? 
Wozu der Widerstand?  Du möchtest 0 V haben und doch nicht wirklich?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich aber an den Eingang < 0,8V anlege, dann müsste der doch auch 
als Low-Pegel erkannt werden?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das funktioniert leider immer noch nicht. Wenn ich ne Spannung kleiner 
0.8V an den Eingängen setze, tut sich nichts und ebenso so auch nicht 
mit den Pull-Down Widerständen...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Offensichtlich ist der dann wohl doch nicht korrekt programmiert worden, 
sorry für die falsche Spur. Das korrekte Beschreiben von GALs ist nicht 
immer leicht. Mit einem "Superpro Z" habe ich letztens auch keine 16V8 
von Lattice beschrieben bekommen, obwohl er das eigentlich können soll. 
Mit einem steinalten anderen Gerät (>20 Jahre) ging es dann.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, noch ein Test... Was ist denn, wenn im Programm steht "Y=0". Ist 
die LED dann aus, oder erlaubt der Compiler keine Konstanten?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Y=0 geht nicht... das mag der Compiler nicht. Aber wenn ich Pin 18 
= !Y setze, also negative Logik... dann ist der Ausgang auch wirklich 
auf Low... Sehr interessant... Also die Ausgänge scheinen zu 
funktionieren. Nur die Eingänge machen was sie wollen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also am Compiler kann es auch nicht liegen... der unterstützt auch die 
GAL16V8A von Lattice. Zumindest laut einigen Erfahrungsberichten.

Einen anderen GAL hab ich auch schon getestet. Der hat aber das gleiche 
Verhalten.

Also kann das ja nur an der Beschaltung sein...

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Device   G16V8 ; ...

Guck mal, ob du den richtigen Baustein "g16V8a" hast.

Autor: jjk123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann nur empfehlen von GALs die Finger zu lassen. Speziell von
Lattice. Das Problem ist das folgende: Man hat etwas was funktioniert
also eine Software einen Programmer und Gals z.B GAL16V8A. Dann kommt 
die Firma Lattice macht einen "Dieshrink", der GAL heisst jetzt 16V8B. 
Die Jedec Datei geht dann einfach nicht mehr, eine Converter gibt es 
nicht. Der Programmer kann das Teil nicht mehr programmieren. Jetzt 
investiert man neu. ALso Software und Programmer. Die Firma Lattice 
macht wieder einen "Dieshrink". Man hat wieder ein Problem. Um dem 
ganzen noch die Krone aufzusetzten sind dann die Projektfiles der 
Software irgendwann nicht mehr kompatibel. Ich glaube mittlerweile ist 
man bei 16V8D oder vielleicht auch "Z" .Ich habe das über viele Jahre 
mit GALs und den  ISPLSI-Bausteinen von diesem Saftladen mitgemacht. Man 
wird einfach Wahnsinnig.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit 10 Jahren tut sich bei GALs nichts mehr.

Diese Probleme sind also aus der Welt.

Dafür kaufen die Leute heute Microcontroller,
die es schon nach 2 Jahren nicht mehr gibt....

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist was dran... ein GAL Baustein ist fast so teuer wie ein µC und 
außerdem ist das Technik von Vorgestern. Bin gerade am überlegen ob ich 
net doch meinen ATmega16 einsetzen soll.

Trotzdem find ich es schade...hätte gerne gewusst, woran es lag.

Vermutlich liegt es am Programmiergerät. Ich werd die Tage mal einen 
anderes Programmiergerät testen.

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.