GAL simmulieren und programmieren

T

Thomas Frey

Guest
Hi,

ich werde wohl in Zukunft nicht drumrum kommen, GAL's einzusetzen. Hab
mir jetzt mal Atmel WinCUPL runtergeladen und installiert. Jetzt wollte
ich meine erste Entwürfe mal simulieren, allerdings klappt das hinten
und vorne nicht. Hat jemand von euch eine funktionierende Beispieldatei,
anhand derer ich die Funktion erforschen kann. Oder sonst ein paar tolle
Links oder Infos (vorzugsweise in Deutsch)?

Danke
Thomas Frey
--
bitte in der emailadresse "trash" durch "tfrey" ersetzen.
 
"Thomas Frey"

ich werde wohl in Zukunft nicht drumrum kommen, GAL's einzusetzen.
Welcher denn?

Bei den einfachsten schiebt man doch nur eine Zustandsfolgetabelle oder
logische Gleichungen rein.
Bei virtuellen Flip Flops muss man dann schauen... aber das ergibt sich ja automatisch durch die Folge.
 
"Thomas Frey"

ich werde wohl in Zukunft nicht drumrum kommen, GAL's einzusetzen.
Welcher denn?

Bei den einfachsten schiebt man doch nur eine Zustandsfolgetabelle oder
logische Gleichungen rein.
Bei virtuellen Flip Flops muss man dann schauen...
aber das ergibt sich ja automatisch durch die Folge.

Warum willst du denn simulieren? Geht es dir um Laufzeitverhalten
oder um die reine Funktion? wenns um reine Funktion geht dann lieber PSpice
oder sowas nehmen.
 
Makus Grnotte schrieb:

Warum willst du denn simulieren? Geht es dir um Laufzeitverhalten
oder um die reine Funktion? wenns um reine Funktion geht dann lieber PSpice
oder sowas nehmen.
Es geht mir einfach darum zusehen, ob mein "Programm" auch wirklich das
macht, was es soll. Und ob der GAL auch wirklich in der Lage ist, das zu
"berechnen". Ich weiss zwar, wie ein Blockschaltbild eines GAL's
aussieht allerdings reicht meine fantasie nicht aus, mir vorzustellen,
wie weit das reicht.

Hier mal eines meiner ersten versuche:

Name Name ;
PartNo 00 ;
Date 19.03.2005 ;
Revision 01 ;
Designer Engineer ;
Company ;
Assembly None ;
Location ;
Device G16V8 ;

/* *************** INPUT PINS *********************/
PIN 2 = A0; /* */
PIN 3 = A1; /* */
PIN 4 = Ax; /* */
PIN 5 = RD; /* */
PIN 6 = WR; /* */

/* *************** OUTPUT PINS *********************/
PIN 12 = LCD_EN; /* */
PIN 13 = LCD_RS; /* */
PIN 14 = LCD_RD; /* */
PIN 15 = WR1; /* */
PIN 16 = RD1; /* */
PIN 17 = RD2; /* */

LCD_EN = !Ax & !A1 & (!RD # !WR);
LCD_RS = LCD_EN & A0;
LCD_RD = LCD_EN & !RD;

WR1 = !(!Ax & A1 & !A0 & !WR);

RD1 = !(!Ax & !A1 & !A0 & !RD);
RD2 = !(!Ax & !A1 & A0 & !RD);

--
bitte in der emailadresse "trash" durch "tfrey" ersetzen.
 
LCD_EN = !Ax & !A1 & (!RD # !WR);
LCD_RS = LCD_EN & A0;
LCD_RD = LCD_EN & !RD;
Du willst wirklich zur Ansteuerung eines LCD einen GAL-Stromfresser
einsetzen? Offensichtlich soll das Ding ja an irgendein
Prozessorsystem, fällt Dir da keine elegantere Lösung ein? Als ich
las, dass Du in der Zukunft GALs einsetzen willst, wollte ich Dich
schon an Doc Brown verweisen, vielleicht darfst Du seine Zeitmaschine
ja mal benutzen ;) Falls Du dennoch triftige Gründe hast: das da oben
sieht so schlecht nicht aus, ob Dein Compiler/Assembler es versteht,
kann ich Dir nicht sagen, als ich zuletzt GALs programmier habe,
wollte der Assembler noch * als log.-UND, + für ODER usw. Aber im
Grossen und Ganzen kommt es hin.
 
Stefan Huebner schrieb:
hallo

Du willst wirklich zur Ansteuerung eines LCD einen GAL-Stromfresser
einsetzen?
Es gibt von Atmel auch GALs die weniger strom brauchen. Ausserdem ist
das einfach mal ein Test zum ausprobieren :)

Offensichtlich soll das Ding ja an irgendein
Prozessorsystem, fällt Dir da keine elegantere Lösung ein?
Was zum Beispiel? Natürlich bin ich für Alternativen offen. Eine
handvoll Std. Logic IC's ist mMn auch nicht eleganter oder ökonomischer...

Als ich
las, dass Du in der Zukunft GALs einsetzen willst, wollte ich Dich
schon an Doc Brown verweisen, vielleicht darfst Du seine Zeitmaschine
ja mal benutzen ;)
Der eingesetzte Prozessortyp passt auch dazu: ein nachkomme des
legendären 8051 ;)


--
bitte in der emailadresse "trash" durch "tfrey" ersetzen.
 
On Fri, 03 Mar 2006 22:10:30 +0100, Thomas Frey wrote:
ich werde wohl in Zukunft nicht drumrum kommen, GAL's einzusetzen. Hab
mir jetzt mal Atmel WinCUPL runtergeladen und installiert.
WinCupl hatte ich vor einiger Zeit auch mal ausprobiert, es dann aber
bald wieder sein gelassen: Der Editor war sehr absturzfreudig und,
das schlimmste, das Programm hat falschen Code generiert. IIRC trat
der Bug bei Active-Low Outputs auf. Seither habe ich WinCupl nie
wieder getestet.

Jetzt nehme ich für mein GALs den guten alten PALASM. Einfach als
CHIP zB PALCE16V8 einstellen. Simulationen/Checks gehen auch recht
einfach. zB:

SETF /A0 /A1
CHECK RD1 /RD2
SETF A0
CHECK /RD1 RD2

Beim Compilieren werden diese Checks automatisch überprüft, außerdem
werden sie auch als Test-Vektoren ins JEDEC File geschrieben.

so long,

Hias
 

Welcome to EDABoard.com

Sponsor

Back
Top