Autor Thema: GAL Programmierung der einstieg  (Gelesen 45088 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: GAL Programmierung der einstieg
« Antwort #20 am: Fr 18.06.2010, 18:07:55 »
Also, wie wäre es mit:

DTACK wird gesetzt wenn
Wenn AS aktiv (low), RW Aktiv (high) ist, und die Adresse im Bereich 0x0Exxxxx liegt,

oder

wenn die Adresse im Bereich 0x0Fxxxxx liegt wird DTACK ungeachtet von AS und RW gesetzt. ( Oder ist es so das alle nicht angebenen pins inaktiv sein müssen damit die Bedingung erfüllt ist? D.h. nicht angabe von Pins besagt das diese Inaktiv sein müssen?  ...aber dann könnte man sich ja auch das / vor dem Pin sparen, weil man den Pin in der Gleichung auch einfach weg lassen könnte )

... oder handelt es sich bei dem + um eine Boolsche Verknüpfung? So das die Ergebnisse der einzelnen Angaben mit Boolschem Oder Verknüpft werden, und je nach dem was bei dieser Boolschen Operation heraus kommt, wird DTACK gesetzt? Wenn das NICHT der fall sein sollte, dann könnte man Die Gleichung auch so in GAL asm definieren:

DTACK =  /AS*A23*A22*A21*/A20*/A19*/A18*RW;
DTACK =   A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14;

Ups, ich merke, ich bin noch weit weg von der Lösung ;) Ich habe die Negierten Pins in meiner Lösung garnicht beachtet. Aber ich muss jetzt Drachen steigen lassen - meine Fragen sind trotzdem noch offen :)
« Letzte Änderung: Fr 18.06.2010, 18:20:53 von m0n0 »

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL Programmierung der einstieg
« Antwort #21 am: Fr 18.06.2010, 19:23:31 »
Deine erste aussage ist richtig!! Habs jetzt nicht nachgerechnet aber sollte stimmen.

Das DTACK Signal ist das Signal was der CPU mitteilt das sie mit der Arbeit beginnen kann also alles richtig gesetzt ist.

In dem vorher gennanten PDF ist auf Seite V4-4 bzw. PDF Seite 4 der Lesezyklus der CPU abgebildet (68k).
Die CPU erwartet nach setzen von /AS das /DTACK Signal von der entsprechend Adressierten Baugruppe.
Auf deutsch die Baugruppe sagt !! Ich bin soweit kannst loslegen.
Das Listing aus dem Ich das Entnommen habe ist das IDE TOS2.06 Listing

Der eine teil ist für das lesen vom IDE zuständig und der andere für die Eproms.

Das + ist eine Logische ODER Verknüpfung !
Tschau Ingo

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: GAL Programmierung der einstieg
« Antwort #22 am: Fr 18.06.2010, 21:46:46 »
Zitat
Das + ist eine Logische ODER Verknüpfung !

Das wirft natürlich ein ganz anderes Licht auf die Sache!

...wobei das ergebnis einer Logischen Verknüpfung und meinem Gehirn wirrwarr wohl das selbe ist ;) ... ich hatte aus irgend einem Grund eher sowas wie ein Grammatisches oder / und im kopf... aber da ist ein und ja fast das gleich wie ein auch...

DTACK ist Eingeschalltet wenn x = soundsoist und auch wenn y = soundso ist. Das wäre dann aber eigentlich ein Logisches Oder ;)

Ich lese nochmal von vorne...

Darf man Pins denn nur mit einer einzigen Zuweisung "versehen" - oder darf man auch mehrmals zuweisen??

also z.b. so:

DTACK = X * Y
DTACK = X * A
DTACK = X * Z

« Letzte Änderung: Fr 18.06.2010, 22:03:25 von m0n0 »

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL Programmierung der einstieg
« Antwort #23 am: So 20.06.2010, 10:28:37 »
Hi,

ich denke das kommt wohl auf den Assembler an, aber eigentlich gibt es nur eine zuweisung pro ausgang.
Tschau Ingo

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #24 am: Di 17.08.2021, 11:40:22 »
Hi,
auch wenn dieser thread schon uralt ist, finde ich ihn gut und wüsste gerne wie man in einem GAL 16V8 eine oc Schaltung implementiert.

Beste Grüße
Frank
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL Programmierung der einstieg
« Antwort #25 am: Di 17.08.2021, 12:18:27 »
Es kommt ein wenig auf den Gal ASM an, das wird von ASM zu ASM unterschiedlich behandelt.

Welchen setzt du ein ? JEDI und GABI ?
Tschau Ingo

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #26 am: Do 19.08.2021, 08:53:32 »
Hallo Ingo,
bislang noch keinen. Ich habe mir mal schnell WinCUPL, GDSwin und einen PALasm in C heruntergeladen. Letzteren müsstd ich noch compilieren. Bin aber noch nicht dazu gekommen, die mal auszuprobieren. GABI und Jedi laufen unter TOS? Welchen empfiehlst du? Mit dem steige ich dann ein. Den Brenner (TL866II Plus) betreibe ich am PC, aber wo der Binärcode entsteht, dürfte ja egal sein.
Richtig?
Grüße
Frank

EDIT: Falls der GAL-Typ relevant sein sollte: ich habe hier einige Lattice 16V8D rumliegen.
« Letzte Änderung: Do 19.08.2021, 09:24:11 von FrankR »
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL Programmierung der einstieg
« Antwort #27 am: Do 19.08.2021, 09:34:51 »
Wie schon geschrieben wird der Tristate mode in den ASM unterschiedlich behandelt!

Meist hat man eine Bedingung wann der Ausgang aktiv also als Ausgang geschalten werden soll.

bsp.

DTACK.E = /AS * A23 * A22;

Das bedeutet das wenn diese Bedingung erfüllt ist, wird der Ausgang eingeschaltet, ansonsten verbleibt er im Tristate mode! Dies ist die Bedingung wann der Ausgang eingeschaltet werden soll, die genaue Bedingung was der Ausgang machen soll, muß natürlich extra definiert werden.

Bsp.
DTACK.E = /AS * A23 * A22;
DTACK = /AS * A23 * A22 */A21
             + /AS * A23 * A22 * A21 * /A20;


(reines Beispiel)
Bei der Pindefinition muß der Ausgang natürlich noch auf tristate gesetzt werden.

DTACK.T hier das .T anhängen.


So würde ich es z.b. in Jedi machen. Und ja, Jedi läuft unter TOS, da viele Atari Projekte für Jedi geschrieben sind. Ob die Jed Datei dann so gebrannt werden kann, da muß ich passen. Hab nicht mal einen GAL Prommer für den PC. Daher nur am Atari. Aber ich denke das sollte gehen!

« Letzte Änderung: Do 19.08.2021, 09:36:27 von tuxie »
Tschau Ingo

Offline Guus.Assmann

  • Benutzer
  • Beiträge: 172
GAL Programmierung der einstieg
« Antwort #28 am: Do 19.08.2021, 12:08:04 »
Andere Programmer, da weiss Ich was dazu.
Ein Jedec Datei kann mit andere Programiergeräten benützt werden.
Ich hab ein Programmer am Atari und auch am PC.
Wenn Ich ein Jedec Datei nehme, bekomme Ich den gleichen Gal-function.
Also unabhängig vor Programmer und/oder Compiler-Programm.

Noch etwas wichtiges.
Ein Gal hat ein "Protection-Bit" (Oder mehrere)
Dies benütze Ich principiel nicht.
Wenn es aktief ist, kann man den Gal nicht mehr Lesen. (Nür verify, wenn original Jedec da ist)
Mag gut sein für comerciëlle hHersteller, ist aber ..... (Pain in the ....)
Manche Programmern setzen dieses per Default.  >:(

Auch noch, Ja, Gal-type ist wichtig.
Ein Gal 16V8 oder 18V10 haben gleichen Pin-zahlen. Aber 16 oder 18 Inputs, 8 oder 10 Outputs.
Gleich wie 20V8 und 22V10 mit 24 pins....
Je mehr Ausgänge, um so meht "Output-controll-blocks"

mfg/
Guus

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #29 am: Do 19.08.2021, 20:16:16 »
Bsp.
DTACK.E = /AS * A23 * A22;
DTACK = /AS * A23 * A22 */A21
             + /AS * A23 * A22 * A21 * /A20;
Bei der Pindefinition muß der Ausgang natürlich noch auf tristate gesetzt werden.

DTACK.T hier das .T anhängen.


Mal sehen,ob ich das geschnallt habe. Gehen wir mal davon aus, ich wollte das /DTACK Signal für einen Adressdecoder für TOS 2.06 im alten Atari ST erzeugen. Dafür schreibe ich:
%IDENTIFICATION

   Adressdecoder blablabla

%TYP
   GAL16V8
 

%PINS   
A23 A22 A21 A20 A19 A18 RW AS ROM2 GND
NC CE DTACK.T NC NC NC NC NC NC VCC

%LOGIC
/CE = /(RW * A23 * A22 * A21 */A20 * /A19 * /A18 * /AS) * /ROM2
DTACK.E = /ROM2
/DTACK = RW * A23 * A22 * A21 * /A20 * /A19 * /A18 * /AS

%END
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #30 am: Do 19.08.2021, 20:20:33 »
Andere Programmer, da weiss Ich was dazu.
Ein Jedec Datei kann mit andere Programiergeräten benützt werden.
Ich hab ein Programmer am Atari und auch am PC.
Wenn Ich ein Jedec Datei nehme, bekomme Ich den gleichen Gal-function.
Also unabhängig vor Programmer und/oder Compiler-Programm.

Das klingt ja schonmal sehr ermutigend :-)

Zitat
Noch etwas wichtiges.
Ein Gal hat ein "Protection-Bit" (Oder mehrere)
Dies benütze Ich principiel nicht.
Wenn es aktief ist, kann man den Gal nicht mehr Lesen. (Nür verify, wenn original Jedec da ist)
Mag gut sein für comerciëlle hHersteller, ist aber ..... (Pain in the ....)
Manche Programmern setzen dieses per Default.  >:(
Macht meiner leider auch. Genau die Einstellung habe ich im Programmer für meinen Brenner zum Glück schon aufgrund eines anderen Forums gefunden, in dem sich die Leute wunderten, dass sie das GAL zwar programmieren, aber nicht mehr auslesen konnte. Danke trotzdem!
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline Megatari

  • Benutzer
  • Beiträge: 231
Re: GAL Programmierung der einstieg
« Antwort #31 am: Do 19.08.2021, 20:29:27 »
Kurze Zwischenfrage:
 
Kann man aus einem Jedec File die Funktionsgleichung erstellen oder gibt es ein Programm dazu?

Hintergrund:
Ich habe ein Jedec File eines PEEL und würde gerne wissen, wie die Funktionsgleichung dazu aussieht, damit ich nachvollziehen kann, wie das Gerät, wo der PEEL drin ist, arbeitet.

Offline czietz

  • Benutzer
  • Beiträge: 3.692
Re: GAL Programmierung der einstieg
« Antwort #32 am: Do 19.08.2021, 20:54:57 »
Kann man aus einem Jedec File die Funktionsgleichung erstellen oder gibt es ein Programm dazu?
Hintergrund:
Ich habe ein Jedec File eines PEEL und würde gerne wissen, wie die Funktionsgleichung dazu aussieht, damit ich nachvollziehen kann, wie das Gerät, wo der PEEL drin ist, arbeitet.

Bei PALs und GALs geht das, weil die Zuordnung von Fuses zu Funktionen bekannt ist - im Datenblatt dokumentiert. (Eine JEDEC-Datei ist ja im Wesentlichen nur ein Fuse-Map, d.h. welche Fuses sind gesetzt und welche nicht.) Entsprechend gibt es für PALs/GALs "Disassembler", z.B. im - hier im Thread bereits erwähnten - Programm JEDI.

Das hilft aber nicht bei einem PEEL. Ich weiß nicht einmal, ob dort die Fuse-Zuordnung überhaupt veröffentlicht wäre.

Offline tuxie

  • Benutzer
  • Beiträge: 6.836
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: GAL Programmierung der einstieg
« Antwort #33 am: Do 19.08.2021, 21:19:06 »
Bsp.
DTACK.E = /AS * A23 * A22;
DTACK = /AS * A23 * A22 */A21
             + /AS * A23 * A22 * A21 * /A20;
Bei der Pindefinition muß der Ausgang natürlich noch auf tristate gesetzt werden.

DTACK.T hier das .T anhängen.


Mal sehen,ob ich das geschnallt habe. Gehen wir mal davon aus, ich wollte das /DTACK Signal für einen Adressdecoder für TOS 2.06 im alten Atari ST erzeugen. Dafür schreibe ich:
%IDENTIFICATION

   Adressdecoder blablabla

%TYP
   GAL16V8
 

%PINS   
A23 A22 A21 A20 A19 A18 RW AS ROM2 GND
NC CE DTACK.T NC NC NC NC NC NC VCC

%LOGIC
/CE = /(RW * A23 * A22 * A21 */A20 * /A19 * /A18 * /AS) * /ROM2
DTACK.E = /ROM2
/DTACK = RW * A23 * A22 * A21 * /A20 * /A19 * /A18 * /AS

%END

Nicht ganz!
DTACK.E muß immer dann aktiv sein wenn der Ausgang eingeschaltet werden soll. Also müsste die Gleichung identisch sein wie DTACK selbst.
Tschau Ingo

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #34 am: Do 19.08.2021, 21:27:34 »
Besten Dank Ingo!

Dann werde ich mir mal den JEDI holen und eins der GALs brennen.

Viele Grüße
Frank
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #35 am: Fr 20.08.2021, 09:58:39 »
Nicht ganz!
DTACK.E muß immer dann aktiv sein wenn der Ausgang eingeschaltet werden soll. Also müsste die Gleichung identisch sein wie DTACK selbst.
Dazu habe ich doch noch eine Frage. Da DTACK ja low aktiv ist, hatte ich oben formuliert „/DTACK = …“. Muss es dann auch „/DTACK.E = …“ heißen?
Gruß und Dank
Frank
« Letzte Änderung: Fr 20.08.2021, 12:35:21 von FrankR »
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #36 am: Fr 20.08.2021, 13:23:36 »
Nachdem ich nun den JEDI in Benutzung hatte, ist mir einiges aufgefallen, was weitere Fragen auslöst.
1. Anscheinend verträgt der JEDI keine Klammersetzung. In allen beigefügten Beispielen habe ich auch keine gefunden. Also werde ich wohl alles auflösen müssen. Oder muss ich anstelle der runden Klammern ein anderes Zeichen verwenden?
2. Das "!" scheint mir NOT zu bedeuten anstelle von "/". Richtig?
3. In diversen Beispielen werden Leitungen, die üblicherweise low aktiv sind, schon im Abschnitt %PINS mit einem "!" bezeichnet, z.B. "!AS" oder "!CE". Ist das "!" im %PINS Abschnitt nur einfach ein Character, der Teil des Pin Namens ist oder hat es dort bereits die Bedeutung von Logisch NOT? Welche Auswirkung hat das auf den Code? Gesetzt den Fall ich wollte den mit "!CE" Ausgangspin auf low setzen, wenn die Eingänge "A23" und "A22" high sind und "!AS" auf low geht. Schreibe ich dann im Code: "!CE = A23 * A22 * !AS"?

Gruß und Dank
Frank
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"

Offline FrankR

  • Benutzer
  • Beiträge: 24
  • Es gibt nichts Gutes, außer man tut es - Kästner
Re: GAL Programmierung der einstieg
« Antwort #38 am: Fr 20.08.2021, 16:14:53 »
Danke für den Hinweis. Ich hatte das Kapitel zur Syntax übersehen. Das beantwortet allerdings nicht meine Frage 3.
KANDINSKY MUSIC PAINTER
Atari 1040STFM, SM 124, Ultrasatan

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.431
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: GAL Programmierung der einstieg
« Antwort #39 am: Fr 20.08.2021, 17:46:55 »
! oder / ist das gleiche. Steht also beides für Lowaktiv, negiert ...
« Letzte Änderung: Fr 20.08.2021, 17:47:42 von Lukas Frank »