Forum: Mikrocontroller und Digitale Elektronik GAL Emulator


von Ralph S. (jjflash)


Lesenswert?

Für Ausbildungszwecke programmiere ich gerade einen ATMega168, der in 
etwa einem GAL nahekommt (allerdings nur 6 Eingänge, 8 Ausgänge).

Wie dieses Teil immer weiter fortschreitet (ich bin ja wirklich doof und 
ich meine das auch so), fällt mir ein:

Die absoluten Freaks emulieren doch alles mit allem !!!

Jetzt hab ich mal im Internet gesucht, ob es so etwas wie einen 
GAL-Emulator auf einem AVR gibt aber habe nichts gefunden.

Mein Term-Interpreter ist schon relativ weit fortgeschritten, aber um 
der Ehrlichkeit willen hab ich jetzt schon fast keine Lust mehr daran 
weiter zu werkeln, weil es immer mehr wird.

Können kann das Teil:

- Jede Kommunikation läuft über RS-232, es wird auf PC-Seite ausser 
einem Terminalprogramm nichts weiter benötigt (smile somit sollte das 
Teil sogar noch mit einem C-64 bedienbar sein)
- Eingabe der Terme, speichern und laden der Terme im EEPROM
- Aktuelle Anzeige der Terme
- Anzeigen der Wahrheitstabelle
- Term in Normalform interpretieren und je nach Pegel der Logik 
entsprechend einen Ausgangspegel anfahren

Jetzt kommen nur noch die Ausgangsflipflops und das gesteuerte 
invertieren der Ein- und Ausgänge (aaaaaaber wie gesagt, die Lust 
schwindet).

-----------------------------------

Lange Rede kurzer Sinn: Kennt jemand so etwas oder hat jemand so etwas 
schon mal gesehen ?

Gruß, Ralph

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein GAL kann mit einem AVR (oder einem beliebigen anderen µC) nicht 
realistisch nachgeahmt werden, da es erheblich schneller ist. So ein GAL 
hat eine Durchlaufverzögerung von (je nach Ausführung) allerhöchstens 25 
nsec, d.h. auf geänderte Eingänge reagiert es in dieser Zeit.

Das ist mit einem µC schlichtweg unmöglich. Und 25 nsec ist ein Wert von 
Steinzeit-GALs, schnellere Exemplare sind mit herunter bis auf 3.5 nsec 
nochmal erheblich schneller.

Ob Dein Software-Emulator sich eignet, ein GAL in einer realen Schaltung 
zu ersetzen, hängt also ganz stark davon ab, welche Aufgabe es in dieser 
Schaltung hat. Nur wenn es sehr langsame Logik ersetzt, besteht eine 
Chance, daß eine Emulation verwendbare Resultate liefert. In den meisten 
Fällen aber dürfte die Emulation gleich mehrere Größenordnungen zu 
langsam sein -- und das wird der Grund sein, warum sich damit auch kaum 
jemand beschäftigt.

von Ralph S. (jjflash)


Lesenswert?

... das weiß ich doch alles !!!!

Es dreht sich darum als "Unterrichtsmaterial" einen GAL zu simulieren 
(der im Moment etwa eine Verarbeitungsgeschwindigkeit von 30 kHz hat) 
um:

- KV Tafeln und Minimierung zu lernen
- Boolsche Schaltalgebra im allgemeinen
- OHNE spezielle Software (wie bspw. das veraltete ABEL) einen Term auf 
einen Chip zu bekommen
- sehen, wie ein D-FlipFlop realisiert ist

... um dann mit handangelegten Einsen und Nullen die Reaktion des Terms 
auch direkt anzuzeigen (beispielsweise an einem mit Logik realisierten 
Binär zu 7-Segment Dekoder).

Hierfür nimmt man logischerweise GAL's (smile oder heutzutage 
mittlerweile auch schon FPGA oder CPLD - und hat das zusätzlich zur 
restlichen Schaltung mit implementiert)

Das hier ... soll ein reines Lernprojekt sein !

Hrmpf !

Ralph

PS: ... es ist halt immer schön, wenn so etwas nicht nur in grauer 
Theorie, auf dem Papier oder auf dem Bildschirm funktioniert, sondern 
wenn die LED dann auch wirklich leuchtet wie sie soll !

von Ralph S. (jjflash)


Lesenswert?

PS PS: ich dachte mir halt: All die schönen PC-Simulationen, die eben 
auch einen GAL oder einen FPGA simulieren müssen doch in etwas 
programmiert gewesen sein, aller Wahrscheinlichkeit nach in C oder 
(damit es schneller geht) in Maschinensprache. Dadurch hätte ich mir 
eben ein bisschen an Arbeit ersparen können !

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ralph S. schrieb:
> Es dreht sich darum als "Unterrichtsmaterial" einen GAL zu simulieren
> (der im Moment etwa eine Verarbeitungsgeschwindigkeit von 30 kHz hat)

Gut, das ist was anderes. Schöne Idee.

von Georg G. (df2au)


Lesenswert?

Ralph S. schrieb:
> Lange Rede kurzer Sinn: Kennt jemand so etwas oder hat jemand so etwas
> schon mal gesehen ?

Einen alten Gal Assembler nehmen und verstehen? Quälcode dafür gibt es. 
Der hilft dir zumindest bei QMC.

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
Noch kein Account? Hier anmelden.