Home
GAL Development System Benutzerhandbuch
Contents
1. Electronic Signature 6368 6431 Abb 5 6b GAL26CV12 Fusemap Teil 2 39 Feedback Abb 5 7 Output Logic Macrocell OLMC GAL 22V 10 5 3 Die GAL20RA10 Familie Der neueste GAL ist der GAL20RA10 der einerseits als eine Fortentwicklung der GAL 22V 10 Familie angesehen werden kann andererseits jedoch so neue Strukturen in sich tr gt da er hier als neue Familie aufgef hrt wird Die Weiterentwicklung geht in diesem Fall nicht in Richtung erh hter Fuse Anzahl oder erh hter Komplexit t sondern in Richtung einer neuerlich ver nderten Struktur mit der der Nutzer Schaltungen integrieren kann die bislang in den GAL Familien nicht m glich waren Gleichzeitig wird allerdings dadurch der Weg des General Purpose PLDs mit den bisherigen Familien zumindestens zum Teil verlassen der GAL20RA10 geh rt eher zu den Special Purpose PLDs Abb 5 8 zeigt die Fusemap des GALs 20RA10 Abb 5 9 die zugeh rige OLMC Der 20RA 10 besteht aus 10 dedizierten Inputpins 10 I O Pins sowie 2 speziellen Eing ngen OE Output Enable und PL PreLoad beide aktiv low Die Inputpins sowie die O Pins sind untereinander identisch Zu jedem I O Pin der sowohl synchron oder asynchron genutzt werden kann geh ren 8 Produktterme von denen 4 zur jeweiligen logischen Verkn pfung genutzt werden k nnen 40 1 PL Product 0 term CLK ARESET APRESET CLK ARESET APRESET row address 16 20 24 Fuse_number
2. OE 59 S0 3468 S13469 H i 13 i 7 O68 OE 68 S0 3470 Gio S1 3471 8 6 OE 77 S0 3472 1 S1 3473 i kC OE 86 SO 3474 51 3475 Y 9 m S SP Synchronous PRESET 95 to all registers 10 GND 20 VCC Electronic Signature 3476 3539 Abb 5 4b GAL18V 10 Fusemap Teil 2 35 Fuse_number 44 productterm row address row address Product 0 4 8 12 16 20 24 28 32 36 40 Asynchronous RESET to all registers AR 00 oE o 01 90 5808 51 5809 m gt 10 OE S0 5810 51 5811 22 gt 2 OE 90 5812 51 5813 o A ma Pere 34 UR 90 5814 51 5815 gt 2 r i kC 49 DE 90 5816 51581 19 Abb 5 5a GAL22V 10 Fusemap Teil 1 36 Fuse_number 44 productterm row address row address Product 0 4 8 12 16 20 24 28 32 36 40 term 66 OE 30 5818 51 5819 x 18 6 83 OE 30 5820 51 5821 gt 17 ta 7 6 6 98 OE 30 5822 S15823 gt 16 ma 8 11 GE 30 5824 51 5825 e l5 i 9 11 PE 30 5826 14 S1 5827 gt m I ana 2 SP Synchronous PRESET 132 to
3. CS16 A4 A3 IOUR BA 16 bis BA 23 i ne A T l Assemblierung von D GAL_SOURNERROR1 GAL AGO Kombinatorischer Output vorgeschrieben in Zeile 0025 A002 Unbekannter Inputpin in Zeile 0028 A001 Syntaxfehler in Zeile 0034 A003 Kein Input m glich in Zeile 0037 Fi Hilfe ALT F N Abb 3 2 Fehlereditormodus Um auf den n chsten Fehler im Sourcecode zu wechseln gibt es mehrere M glichkeiten Ist das Meldungsfenster aktiv so k nnen Sie mit den lt Cursor Up gt und lt Cursor Down gt Tasten die unterlegte Fehlermeldungszeile ver ndern eine einfache Bet tigung der lt SPACE gt Taste wechselt im Sourcecodefenster auf die zugeh rige Zeile bei Bet tigen der lt RETURN gt Taste wechseln Sie direkt in den Editor Der Wechsel kann auch durch Anwahl der Meldungszeile mit dem Mauscursor und zweimaliges Anklicken mit der linken Maustaste erfolgen Ferner erreichen Sie den n chsten bzw vorhergehenden Fehler durch die Tasten lt ALT F7 gt und lt ALT F8 gt deren K rzel auch in der Statuszeile zur Mausbedienung Anfahren mit dem Mauscursor und Anklicken mit der linken Taste vorhanden sind Die weiteren Men punkte dienen der Steuerung der Assemblierung PRECOMPILIEREN ffnet ein neues Fenster in das der Assemblercode nach einem ersten Durchgang geschrieben wird Dieser Code ist von allen Kommentaren befreit Trennzeichen zwischen W rtern sind als einfaches Leerzeichen ausgef hrt vor allem wird a
4. 00 COUNT_EN 03 COUNT EN 04 D4 03 D2 D1 DO COUNT_EN 04 D3 COUNT_EN D4 D2 COUNT_EN 04 D1 COUNT_EN D4 DO COUNT_EN D4 COUNT EN D5 05 D4 D3 D2 D1 DO COUNT_ EN 05 D4 COUNT_EN D5 D3 COUNT_EN 05 D2 COUNT_EN D5 D1 COUNT_EN 05 DO COUNT_EN 05 COUNT EN D6 06 D5 D4 D3 D2 D1 DO COUNT_EN 06 D5 COUNT_EN D6 D4 COUNT_EN 06 D3 COUNT_EN D6 D2 COUNT_EN D6 D1 COUNT_EN D6 DO COUNT_EN D6 COUNT_EN D7 D7 D6 D5 D4 D3 D2 D1 DO COUNT_EN 07 D6 COUNT_EN D7 D5 COUNT_EN D7 D4 COUNT_EN D7 D3 COUNT_EN 07 D2 COUNT_EN D7 D1 COUNT_EN D7 DO COUNT_EN D7 COUNT EN D8 D8 D7 D6 D5 D4 D3 D2 D1 DO COUNT_EN 08 D7 COUNT_EN D8 D6 COUNT_EN 08 D5 COUNT_EN D8 D4 COUNT_EN 08 D3 COUNT_EN D8 D2 COUNT_EN 08 D1 COUNT_EN D8 DO COUNT_EN 08 COUNT_EN 09 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO COUNT_EN 09 08 COUNT_EN D9 D7 COUNT_EN 09 D6 COUNT_EN D9 D5 COUNT_EN 09 04 COUNT_EN D9 D3 COUNT_EN D9 D2 COUNT_EN D9 D1 COUNT_EN D9 00 COUNT_EN D9 COUNT_EN 58 B7b ZAEHL_2 GAL Diese Schaltungsbeschreibung zeigt die Programmierung eines Binaerzaehle
5. A015 Groundpin nicht oder falsch definiert Zeile Die Deklaration des Groundpins mu immer an der vorgesehenen Stelle erfolgen 48 A016 VCC Pin nicht oder falsch definiert Zeile Ebenso mu die Deklaration des VCC Pins an der richtigen Stelle in der Pinliste erfolgen A017 ispGALs SCLK SDI SDO oder MODE nicht oder falsch definiert Zeile Die speziellen Pins SCLK SDI SDO und MODE m ssen deklariert werden falls einer der ispGALs benutzt werden soll Diese Deklaration wird durch den Assembler berpr ft und es wurde mindestens einer dieser Pins mit einem Fehler gefunden Bitte korrigieren Sie die Deklaration anhand der Detailinformationen zu den GALs A018 Outputnegation nicht erlaubt Zeile Die internen Pins der GAL22V 10 Familie 18V 10 22V 10 und 26CV 12 k nnen nicht invertiert werden dies wurde jedoch versucht Bitte korrigieren Sie unter Beachtung der Verkn pfungslogik die Definition dieser Pins A019 Kein Asynchronous Reset Extension m glich in Zeile Bei dem GAL20RA10 k nnen neben der Tristate Definition auch Asynchronous Reset Preset und Clock f r Outputs definiert werden Dies war an dieser Stelle nicht m glich A020 Kein Asynchronous Preset Extension m glich in Zeile Wie A019 A021 Kein Clockangabe m glich in Zeile Wie A019 A022 Keine Pullupangabe m glich in Zeile Zuk nftige Erweiterung A023 Keine Feedbackangabe m glich in Zeile Zuk nftige Erweiterung A024 Keine Power
6. Konf Output Abb 5 12 I O Zelle der GDS Bausteine Innerhalb der GDS Bausteine k nnen A Pins die als Eingang konfiguriert sind durch Sie an beliebige B Pins die als Ausgang genutzt werden normal oder invertiert verschaltet werden gleiches ist umgekehrt m glich wobei jedem Ausgang auch ein fester TTL Pegel High oder Low siehe Abb 5 12 zugewiesen werden kann Kopplungen Ax Ax oder Bx Bx sind jedoch nicht m glich Die GDS Bausteine werden ebenfalls in isp Technologie hergestellt und sind ber das gleiche isp Kabel programmierbar 45 Anhang A Fehler und Warnungsmeldungen A1 Warnungsmeldungen GDS 3 5 gibt einige Warnungsmeldungen aus die falls der Errorlevel auf 1 gesetzt ist keine Unterbrechung des gesamten Assembliervorgangs bewirken allerdings in der Fehlerliste vorhanden sind Diese Warnungen sollten in jedem Fall beachtet werden da hierdurch verborgene Fehler entstehen k nnten die im Rahmen einer Syntaxanalyse durch GDS 3 5 nicht feststellbar sind W001 Warnung CLK und OE sind nicht in demselben Sinn definiert Zeile Die GALs PALCEs 16V8 20V8 und 16Z8 ben tigen eine Definition des Modus in dem sie arbeiten sollen synchron oder asynchron Der synchrone Modus wird durch die beiden Pins CLK Pin 1 und OE Pin 11 13 automatisch erreicht ansonsten wird der asynchrone Modus gew hlt Wird jetzt einer der beiden entsprechend definiert der andere jedoch nicht generiert GDS diese Warnungsmeld
7. 40 productterm row address OE CLK ARESET APRESET 24 OE CLK ARESET APRESET 32 OE CLK ARESET APRESET Abb 5 8a GAL20RA10 Fusemap Teil 1 A1 PL L 23 50 3200 ah gt m OE PL 22 50 320 m OE PL 21 50 3202 gt OE PL 4 20 50 3203 OE PL 19 50 3204 i if u OE Product 0 term OE CLK ARESET APRESET 40 Fuse_number 40 productterm row address row address 8 12 16 20 24 28 32 36 48 OE CLK ARESET APRESET 56 OE CLK ARESET APRESET 64 OE CLK ARESET APRESET 10 722 0E CLK ARESET APRESET 11 12 GND 24 VCC Electronic Signa ure 3210 3273 PL 18 0 3205 a OE PL S0 3206 x 17 OE PL 16 S0 3207 OE PL 03208 H gt 15 OE PL L 14 S0 3209 Y ra OE 13 OE Abb 5 8b GAL20RA10 Fusemap Teil 2 42 OE amp Pr CLK amp
8. Soft und Hardware 4 SH Elektronik GAL DEVELOPMENT SYSTEM S Version 3 5 K Benutzer Handbuch SH Elektronik 1996 2001 Lizenzvereinbarung S mtliche Produkte von SH Elektronik werden mit einer Lizenz zur Anwendung wie untenstehend ausgef hrt an den Erstk ufer verkauft Alle weiteren Rechte verbleiben bei SH Elektronik Bei einer eventuellen Weitergabe gilt diese Lizenznahme automatisch mit dem neuen Lizenznehmer als vereinbart Erlaubte Benutzung Die Software kann auf jedem kompatiblen Rechner zum Einsatz kommen den Sie besitzen oder benutzen Die Runtimelizenz beinhaltet sowohl privaten als auch gesch ftlichen Einsatz der Software Voraussetzung ist in jedem Fall da die Software zu jedem Zeitpunkt nur auf einem Rechner installiert und in Gebrauch ist Nicht erlaubte Benutzung Sie d rfen nicht 1 Die Benutzung dieser Software in einem Computer Service Business Netzwerk Timesharingbetrieb Multi CPU oder Multiuser Umgebung anbieten falls nicht jeder Benutzer mit einer individuellen Runtimelizenz seitens SH Elektronik ausgestattet ist 2 Kopien der Dokumentation von SH Elektronik und der Programmdisketten anfertigen au er zur Erstellung von Backup Kopien 3 nderungen in der Software vornehmen 4 _ Unterlizenzen Leasing oder andere Rechte an dieser Software an Dritte anbieten 5 verbale oder mediale bersetzungen der Dokumentation anfertigen 6 Anpassungen der Software zur Benutz
9. 1 2 9 11 12 13 14 15 16 17 18 19 Simple Mode Input Input Input In oder Output In oder Output Output In oder Output In oder Output Complex Mode Input Input Input Output In und Output In und Output In und Output Output Bitte beachten Sie die fettgedruckten Ausg nge Registered Mode Clock Input OE In und Output In und Output In und Output In und Output In und Output Anders als bei der GAL 22V10 Familie lassen sich bestimmte Ausg nge nicht beliebig als Ein oder Ausg nge benutzen und sind somit auch nicht r ckkoppelbar Dies ist eine h ufige Fehlerquelle bitte beachten Sie dieses bei Ihrem Design 31 GAL 20V8 Pin Nr Simple Mode Complex Mode Registered Mode 1 Input Input Clock 2 11 Input Input Input 13 Input Input OE 14 Input Input Input 15 In oder Output Output In und Output 16 17 In oder Output In und Output In und Output 18 19 Output In und Output In und Output 20 21 In oder Output In und Output In und Output 22 In oder Output Output In und Output 23 Input Input Input Table 5 3 Pinverwendbarkeit der GAL16V8 Familie Bitte beachten Sie auch hier die fettgedruckten Ausg nge Der PALCE16VS entspricht im logischen Aufbau und den JEDEC Adressen nahezu 100prozentig dem GAL16V8 die komplett unterschiedliche Programmierung wird durch GDS3 5 im Programmen abgefangen und spielt f r den Einsatz der PALCEs keine Rolle Der einzige Unterschied wird im Sim
10. 1 da dann das Resultat immer wahr f r die Tristate Bedingung vorliegt Diese immer erf llte Bedingung k nnen Sie auch durch lt pin gt TRST VCC beschreiben w hrend lt pin gt TRST GND eine niemals erf llte Bedingung darstellt Im Simple Mode erh ht sich die Zahl der OR Terme auf 8 w hrend kein Tristate Signal zur Verf gung steht Ferner sei darauf verwiesen da in diesem Mode die inneren OLMCs nicht r ckkoppelbar sind Pin 15 16 bzw Pin 18 19 Tabelle 5 2 gibt Ihnen einen berblick der Fusenummer der GAL16V8 Familie Bitte beachten Sie da die 64 Bits der User Electronic Signature UES frei f r Ihre Nutzung sind Im Sourcecode k nnen Sie diese UES durch USER_ID beschreiben Tabelle 5 3 stellt summarisch die Verwendungsm glichkeiten der GAL Pins dar wie sie sich aus der Architektur ergeben 30 GAL PALCE 16V8 GAL20V8 Fuse Adresse Funktion 0000 2047 AND array 2048 2055 XOR Bits f r Output 19 12 2056 2119 UES zur freien Nutzung 2120 2127 AC1 Bits f r die Outputs 19 12 2128 2191 Produktterme zur Einbindung der OR Zeilen 2192 SYN Bit 2193 AC0 Bit Fuse Adresse Funktion 0000 2559 AND array 2560 2567 XOR Bits f r Output 22 15 2568 2631 UES zur freien Nutzung 2632 2639 AC1 Bits f r die Outputs 22 15 2640 2703 Produktterme zur Einbindung der OR Zeilen 2704 SYN Bit 2705 AC0 Bit Table 5 2 JEDEC Adressen der GAL PALCE16V8 Familie GAL PALCE 16V8 Pin Nr
11. Anhang C Uberblick der Hotkeys und Editorkommandos Anhang D Ubersicht der programmierbaren GALs Einf hrung Mit dem Beginn der Entwicklung von digitalen Layouts und Platinen begann auch die Benutzung spezieller integrierten Schaltungen in Besonderheit von SSI und MSI Logikbausteinen Die bekannteste IC Serie d rfte dabei die 74xxx Familie sein die eine Vielzahl von Funktionalit ten innerhalb der gesamten Serie anbietet wobei jedoch die einzelnen Bausteine fest verdrahtet sind Eine Folge der fr hen Entwicklungsphase war die Einf hrung von Mikroprozessoren an Stelle von kundenspezifischen ICs oder Layouts mit dem Vorteil der Software kontrollierten Funktionalit t Flexibilit t auf der einen Seite geringe Geschwindigkeit im Vergleich mit TTL Schaltungen auf der anderen waren das Ergebnis so da es nur logisch war da ca 1 Jahrzehnt sp ter erneut der Trend zu anwenderspezifischen ICs ASIC ging ASICs waren und sind nach wie vor eine L sung f r spezialisierte Schaltkreise mit gro er Auflage Die Nachteile f r den eigentlichen Benutzer lagen jedoch nicht nur in der Unflexibilit t nach Produktion sondern auch in der Offenlegung seines Know Hows Dritten gegen ber So war der n chste Schritt die Einf hrung halbfertigen Bausteine mit Programmierm glichkeit beim Anwender Feld Programmierbarkeit der folgerichtige Schritt Innerhalb des Gef ges der feldprogrammierbaren ICs spielen PALs Programmable Array Logics un
12. 4 BB 24 461 2634 XOR 2562 5 32 ACI 2635 XOR 2563 19 a BAR La 40 ACI 2636 XOR 2564 18 gt 7 lt 48 ACI 2637 XOR 2565 i 8 LA 56 ACIL 2638 XOR 2566 c ee16 9 0 e 9 oo ma 64 ACI 2639 XOR 2567 o eel5 GE a 10 q Ta OE lt 11 IMUX o ce syn 2708 ac0 2709 electronic signature 2568 2631 E C Abb 5 2 GAL 20V8 Fusemap 27 Anmerkung CLK und OE sind globale Signale die von 2 Inputpins stammen OE SYN und ACO sind globale Bitflags AC1 n und XOR n stellen zellenweite Bitflags dar ACI n Anmerkung n steht als Index f r diese Zelle m f r die Vorg ngerzelle In den u eren Zellen wird ACO durch SYN AC1 m durch SYN ersetzt SYN 0 ACO 1 ACI n 0 Abb 5 3b Registered Output aktiv high low 28 von Vorganger Zelle m SYN 0 ACO 1 ACI n 1 PIN SYN 1 ACO 1 ACI n 1 Die u eren Zellen haben keine R ckkopplung Abb 5 3d unten Kombinatorischer Output Die Konfiguration der I O Pins zeigen die Abb 5 3b und 5 3c Sie k nnen jeden Output als synchron definieren SYN 0 AC 1 n 0 wobei dann 8 OR Terme aber keine dedizierte Tristate Bedingung zur Verfiigung stehen Tristate wird durch OE kontrolliert oder als asynchronen Output SYN 0 AC1 n 1 mit 7 OR Termen und spezieller Tristate Bedingung keine Kontrolle durch OE 5 1 2 Der Asynch
13. Ausgangstreiber auszuschalten gew nschtes Datenwort an den I O Pins anlegen Wartezeit mind 10 us Low Impuls an PL Dauer mind 35 ns Die Preload Werte sind dann in den Registern gespeichert 43 Tabelle 5 4 gibt Ihnen zum Abschlu den berblick ber die Fuse Adressen Fuse Adresse Funktion GAL20RA10 0000 3199 AND array 3200 3209 S0 Bits f r die Outputs 23 14 3210 3273 UES f r freie Benutzung Tabelle 5 4 JEDEC Adressen f r den GAL20RA10 5 4 Der ispGAL22V10 Auch der ispGAL22V 10 entspricht in seiner internen Logik dem GAL22V 10 die User ID eingeschlossen Von seiten der Logik sind demnach keine Umsetzungen vorzunehmen Die isp Bausteine isp steht hier f r In System Programmable ben tigen jedoch zus tzliche Pins zur Programmierung so da die Pinzahl des ispGAL22V 10 gr er als die 24 Pins des GAL22V 10 DIL Geh use sein mu Der Hersteller Lattice w hlte f r den ispGAL22V10 ein 28poliges PLCC Pinout das gegen ber dem GAL22V 10 im 28poligen PLCC im Betrieb pinkompatibel ist Die 4 Pins die dort mit NC bezeichnet sind werden f r die isp F higkeit mit speziellen Funktionen belegt Abb 5 10 zeigt die Pinbelegungen f r den ispGAL22V 10 PLCC und den GAL22V 10 DIL CLK VCC sw IN OUT IN IN IN OUT IN IN SDIIN IN OUT GND IN OUT GAL22V10 Abb 5 10 Pinbelegungen ispGAL22V10 GAL22V10 Die Konsequenz f r den Programmierer liegt in der Benennung der zus tzli
14. B D AS usw sowie GAL20V8 und 20V8A B D AS usw keine Unterschiede in der internen Struktur bestehen sofern dies f r die Erstellung des Sourcecodes wichtig w re Die Unterschiede liegen im Bereich der Programmierung dies wird jedoch durch den integrierten Programmierteil im IC ausgelesen und automatisch eingestellt Optional kann nach der Deklaration des GAL Typs der asynchrone Mode f r Mitglieder der GAL16V8 Familie einschlie lich des PALC16V8 durch die Schl sselw rter SIMPLE MODE oder COMPLEX_ MODE angegeben werden Diese Angabe hat f r die brigen GALs keine Relevanz 3 Nach der Deklaration des GAL Typs erwartet der Assembler die Liste der Pinnamen getrennt durch lt SPACE gt lt TAB gt oder lt KOMMA gt f r diesen GAL Die L nge dieser Liste mu nat rlich in bereinstimmung mit der Anzahl der Pins stehen GND und VCC werden auf die korrekte Stellung gepr ft Die Wahl der Pinnamen liegt bei dem Nutzer wobei die ersten 19 Zeichen charakteristisch f r den Pin sind Selbstverst ndlich m ssen alle Namen unterschiedlich sein mit der Ausnahme NC der lediglich ein Platzhalter f r Not Connected darstellt Die Keywords sind ebenfalls von der Benutzung als normale Pinnamen ausgeschlossen VCC kann allerdings als Synonym f r die Bedingungen immer wahr GND f r immer falsch als Pseudo Inputpins eingesetzt werden Weiterhin werden die internen Namen AR und SP f r die Mitglieder der GAL22V 10 Familie 18V10 22V 10
15. Code an 53 84 TT20RA10GAL Diese Beispieldatei dient als Beispiel zur Ausnutzung der vielfaeltigen Moeglichkeiten des GALs 20RA10 Es werden Ausgaenge definiert die sowohl synchron als auch asynchron mit verschiedenen Sonderbedingungen ausgestattet sind Letzte Aenderung 30 09 1997 CHIP Example 20R A10 GAL20RA10 PL CLOCKI CE Al A2 A3 CLOCK2 A4 A5 A RESETA PRESET GND JOE CS CSO CSI CS2 CS3 NC NC NC NC NC VCC Bei der Deklaration muessen Pin 1 als PL PreLoad und Pin 13 als OE Output Enable deklariert werden Jetzt beginnen die Gleichungen fuer diesen GAL die nur Beispielcharakter haben CSO AS A4 A3 A2 CS0 CLCK CLOCK Diese Bedingung ist notwendig CSO TRST CE Tristate und Asynchr Reset sind optional CS0 ARST A RESET CS1 AS A4 A3 A2 CS1 CLCK CLOCK1 CLOCK2 AND Kombination fuer Clock ist beim GAL20RA10 moeglich CS1 APRST A_PRESET Optional Tristate hier implizit immer wahr CS2 AS A4 A3 A2 Al CS2 CLCK CLOCK2 CS2 TRST CE CS2 ARST A_RESET CLOCK1 Auch hier AND Kombination moeglich CS2 APRST A_PRESET CS3 AS A4 AS A4 A3 A2 A5 A4 A3 A2 A5 A4 A3 A2 Al Beim GAL20RA10 sind allerdings nur 4 Produktterme pro Outputpin m glich CS3 CLCK CLOCK CS3 TRST CE CS CS0 CS1 CS2 633 CS ist low wenn einer der Ausgaenge low ist Bitte ueberpruefen Sie dies denn hier wird rueck
16. Familie mit den Mitgliedern 16V8 20V8 und 16Z8 betreffen und ohne SIMPLE MODE bzw COMPLEX MODE in der GAL Definitionszeile formuliert sind in dem eingestellten Modus assembliert werden Die Einstellung im OPTIONEN Men wird wiederum im Initialisierungsfile gespeichert w hrend Einstellungen im COMPILER Men nur bis zur Beendigung von GDS ihre G ltigkeit behalten und dann verworfen werden Speichern Optionen schlie lich speichert unmittelbar die eingestellten Optionen in dem momentanen Verzeichnis Auf diese Weise k nnen Sie durchaus verschiedene Konfigurationen in unterschiedlichen Verzeichnissen speichern 19 Einf hrung in die GAL Assembler Syntax W hrend Kapitel 3 einer Einf hrung in die Bedienung von GDS speziell der Teile COMPILER SIMULATION PROGRAMMIERUNG und OPTIONEN gewidmet war folgt nunmehr eine Einf hrung in die GAL Assembler Syntax GALASM die Hardware Beschrei bungssprache der Schaltung f r GDS GALASM lehnt sich an PALASM2 an so werden z B folgende Keywords benutzt CHIP Beginn des Sourcecodes SIMPLE MODE Simple Mode f r GAL16V8 Famlie COMPLEX MODE Complex Mode f r GAL16V8 Famlie GND Groundpin des GALs VCC 5V Pin des GALs OE Output enable Pin CLK Spezieller Clockinput NC Pin ist nicht belegt TRST Endung f r Tristate Definition CLCK Endung f r Clock Definition ARST Endung f r Asynch Reset Definition APRST Endung f r Asynch Preset Definition MODE Spezialpins f ir GAL16ZS
17. L stellen die entsprechenden High und Low Pegel dar w hrend ein X an einem Ausgangspin den Tristatezustand also den undefinierten Pegel durch Abschalten der Ausgangstreiber darstellt Haben Sie die Einzelpinsimulation ausgew hlt dann wird der Zustand des Ausgangspins einschlie lich aller m glichen Steuersignale TRST f r den Tristatetreiber CLCK f r die Taktsteuerung ARST f r den asynchronen Reset APRST f r den asynchronen Preset letztere drei Steuersignale nur f r den GAL20RA10 ausgegeben Au erdem wird in dem entsprechend verkleinerten Editorfenster unterhalb des Simulationsfensters der zust ndige Sourcecode dargestellt in dieses Fenster k nnen Sie jederzeit springen und Ver nderungen vornehmen beim R cksprung in die Simulation wird nach Sourcecodever nderung allerdings die Simulation neu gestartet Alle Ver nderungen von Fenstergr en etc werden bei Schlie en der Simulation r ckg ngig gemacht Au erdem sollte erw hnt werden da maximal 4 Simulationsfenster ge ffnet sein k nnen und da pro Sourcecodefenster nur eine Simulation gestartet werden kann Als Tastatureingaben sind nunmehr 0 oder L f r einen Low Pegel l oder H f r einen High Pegel O fiir einen normalen Takt zun chst low dann high K f r einen invertierten Takt und 13 x f r einen offenen Eingang zul ssig lt RETURN gt berechnet die n chste Simulationsspalte wobei ggf alle Simulationsspalten um eine nach li
18. Multiuserbetrieb beachten Sie bitte die Lizenzvereinbarung F r Mehrfachlizenzen wenden Sie sich bitte an SH Elektronik Kiel Ferner sind Multitasking Systeme und zus tze problematisch falls programmiert werden soll da die Programmierung der GALs zeitkritisch ist und in gewissen Bereichen nicht unterbrochen werden darf Die Auslieferung von GDS erfolgt auf einer 3 5 Zoll Diskette mit 1 44 MByte Kapazit t Sie enth lt die vollst ndige Software als ausf hrbaren Code mit deutschen oder englischen Men texten den Hilfetexten in Deutsch sowie Zusatzprogramme und Beispieldateien Die Installation von GDS ist unter MS DOS sehr einfach Sie sollten sich ein Verzeichnis einrichten oder aussuchen in das Sie den Inhalt der Diskette kopieren z B cAGDS In jedem Fall m ssen die Files GDS35D EXE GDS_GD35D DEF und GDS_35 HLP in das gew nschte Verzeichnis kopiert werden alle anderen Dateien k nnen Sie fortlassen Alternativ zu GDS35D EXE m ssen Sie GDS35DN EXE benutzen falls Sie ein Programmierger t GDSProg2 erhalten haben Diese Version arbeitet korrekt mit dem neuen Programmierer zusammen Alternativ k nnen Sie auch die englischsprachige Version GDS35E EXE installieren Damit ist die DOS Installation beendet Sie k nnen Ihr GDS mittels des Kommandos GDS35D lt RETURN gt starten Nach dem Start erkennt GDS automatisch den Bildschirmadapter und w hlt die schnellste Methode aus die Bildschirminformationen darzustellen GDS sucht f
19. Output Polarit t 5 1 1 Der Synchron Mode SYN schaltet generell zwischen asynchronem SYN 1 und synchronem Mode SYN 0 und ACO 1 um Im synchronen Mode erhalten zwei Inputpins spezielle Aufgaben Pin 1 wird zum CLK Input Pin 11 13 zum OE Input f r alle Register Outputs Die brigen 8 bzw 12 Inputpins bleiben zur freien Verf gung 25 Product term 00 08 16 24 32 40 48 56 Fuse_number 32 productterm row address row address 0 4 8 12 16 20 24 28 PTD 60 m 10 GND 20 VCC syn 2192 ac0 2193 electronic signature 2056 2119 o AC1 2120 XOR 2048 19 raa AC1 2121 XOR 2049 AC1 2122 XOR 2050 AC1 2123 XOR 2051 16 e AC1 2124 XOR 2052 15 or AC1 2125 XOR 2053 14 l gt lt AC1 2126 XOR 2054 13 D a ag AC1 2127 XOR 2055 12 ee rag 11 OE o e Abb 5 1 GAL 16V8 Fusemap 26 Fuse_number 40 productterm 8 row address row address PTD 0 4 8 12 16 20 24 28 32 36 60 2 6 8 lt IMUX Product term 08 ACI 2632 XOR 2560 3 16 ACI 2633 XOR 2561
20. User Id Schauen Sie sich auch den JEDEC Code an 52 B3 UNIVERS GAL fehlerfreie Version von ERROR1 GAL Diese Beispieldatei enthaelt den Sourcecode eines GALs zur Adressdekodierung einer PC Interfaceplatine Auf diesem Board sind AD und DA Wandler sowie ein PIO Adapter integriert Das Board benoetigt einen Adressbereich von insgesamt 32 Adressen im I O Bereich Innerhalb dieses Bereichs selektieren die Chip Select Leitungen wie folgt Basisadresse BA bis BA 1 CS0 aktiv low BA 4bisBA 7 CS1 aktiv BA 16 bis BA 23 CSA aktiv BA 24 bis BA 31 CSB aktiv Alle anderen Adressen bewirken keinen Selektierung CS als Summensignal ist aktiv low falls ein CSx aktiv ist CHIP Universal IO mod GALI6V8 COMPLEX MODE AU Al A2 A3 A4 IJIORD IOWR CSI6 NC GND NC CS BIOWRBIORD CSB CSA CSI CSO NC VCC CSO ICS16 amp A4 amp A3 A2 amp Al amp IORD CS16 A4 A3 A2 Al IOWR BA bis BA 1 gemischte Anwendung der zugelassenen logischen Verkn pfungen CS1 CS16 A4 A3 A2 IORD CS16 A4 A3 A2 IOWR BA 4 bis BA 7 ICSA CS16 A4 A3 ORD CS16 A4 A3 IOWR BA 16 bis BA 23 CSB CS16 A4 A3 ORD CS16 A4 A3 IOWR BA 24 bis BA 31 CS CSO CS1 CSA CSB Summensignal B_IORD IORD 3 IOWR IOWR gepufferte Ausgaenge USER ID TEST1 hier ein Beisspiel f r den Eintrag der User Id Schauen Sie sich auch den JEDEC
21. all registers 11 LJK 13 12 GND Electronic Signature 5828 5891 24 VCC Abb 5 5b GAL22V10 Fusemap Teil 2 37 Fuse_number 52 productterm row address 9 MEHRERE row address Produet 0 4 8 12 16 20 24 28 32 36 40 44 48 28 Asynchronous RESET 1 OE to all registers S0 6344 27 S1 6345 20 6 gt l 2 10 OE 30 6346 S1 6347 25 a 3 gt 19 OE S0 6348 25 S1 6349 oe m 4 5 MAC 28 OE S0 6350 24 S1 6351 e m 5 5 37 OE 30 6352 S1 6353 gt 3 6 O A 48 OE S0 6354 S1 6355 ma 7__ VCC e on Abb 5 6a GAL26CV12 Fusemap Teil 1 38 Product row address tern 12 20 24 28 2 36 40 44 48 8 GND 21 61 OE 30 6356 20 S1 6357 oe 9 74 OE 30 6358 19 S1 6359 oe lt 10 ole 85 OE 30 6360 18 S1 6361 20 8 11 elts 94 OE 30 6362 17 lt S1 6363 oe u ag 2 9 103 OE 30 6364 16 S1 6365 gt 0 a 13 S Pere 112 OE 30 6366 15 Sl 6367 gt lt 14 Synchronous PRESET 121 SP to all registers
22. jeden Output gesondert oder implizit als immer wahr zu formulieren Die Anzahl der OR Terme pro OLMC variiert von 8 bis 10 12 oder 16 je nach GAL Typ Dies gibt Ihnen einerseits mehr Flexibilit t an die Hand die Sie f r Ihre Chip internen Schaltungen verwenden k nnen andererseits kann auch ein einfacher Pinwechsel f r Sie Vorteile bringen falls die Anzahl der OR Terme an einem Pin nicht ausreicht und GDS dies als Fehlermeldung ausgibt Die Abb 5 7a und b zeigen Ihnen Details zu den OLMCs der 32 GAL PALCE 22V 10 Familie Das Architekturbit SO entspricht im brigen XOR S1 den AC1 Bits der GAL PALCE 16V8 Familie Als neues Feature gegen ber der ersten Generation kennen die GALs der 22V 10 Familie zwei interne Pins Asynchronous Reset AR und Synchronous Preset SP GDS deklariert diese Pins automatisch so da Sie sie in den Logikgleichungen definieren k nnen AR setzt die internen Flipflops jederzeit bei Vorliegen der Verkn pfung wahr zur ck so da an den Pins der Wert high anliegt durch den nachgeschalteten Inverter SP setzt synchronisiert mit CLK Pin 1 den Ausgang Q auf 1 den physikalischen Pin also auf low Der PALCE22V 10 ist die Logik betreffend 100 kompatibel zum GAL22V10 Ein einziger Unterschied ist in dem Speicherplatz f r eine User ID zu detektieren w hrend beim GAL22V10 8 Bytes 64 Bits als Kennung speicherbar sind ist dies beim PALCE22V 10 nicht m glich Die Tabelle 5 3 beschlie t die inter
23. kann insbesondere bei speziellen Zero Power GALs PALCEs der Fall sein Wenden Sie sich bitte an uns falls ein GAL Typ nicht erkannt oder programmiert werden kann Die Typen der Familien GAL 16V8 und 20V8 A B D AS usw werden automatisch vom GDS erkannt 61 Hinweise Erg nzungen Sonstiges Sollten Sie vor un berwindlichen Schwierigkeiten stehen Fehler entdeckt haben oder wollen Sie Verbesserungsvorschl ge loswerden wenden Sie sich an SH Elektronik J tlandring 41 D 24109 Kiel Tel 0431 66 5116 Fax 0431 67 41 09 email info sh elektronik de web www sh elektronik de Wir helfen Ihnen gerne weiter 62
24. r eine Sourcecodesimulation bei der die Ausgangspins nat rlich mit dem von Ihnen gew hlten Namen versehen sind Datei Bearbeiten Compiler Simulation Programm Optionen Fenster LS D NGAL_SOURNDTACKEB GALZZV1O UCC DTACK_EXT Nunmehr sind die Fi Hilfe F2 Speichern F3 ffnen F9 Syntaxcheck ALT F9 Assembl F10 Men Abb 3 3 Pinauswahlbildschirm 12 Die nun startende Simulation l uft komplett in einem speziellen Fenster ab in das Sie Vorgaben zu den Belegungen per Tastatur oder Maus eingeben k nnen und in dem die Simulationsergebnisse entsprechend pr sentiert werden In Abb 3 4 wurde ein Einzelpin zu diesem Zweck ausgew hlt Datei Bearbeiten Compiler Simulation Programm Optionen Fenster 8 T Pin Name Pin Nr Logiklevel Maus Modus Normal Eingabe CLK_IN 1 X XX R_U 10 X XX DS 11 X XX WAITO 1 H XH UAITI 18 H XH XH Ausgabe WAITZ 20 H XH TRST H XH D GAL_SOURNDTACK68 GAL WAITO R_W 11 2 wait states YAITZ 3 wait states Fi Hilfe Setze gt 1 lt Setze gt 0 lt Setze gt X lt Setze gt C lt Ohne Wert Alt X Beenden Abb 3 4 Simulationsfenster bei Einzelpinwahl Die Vorbelegung aller Eingangspins ist zun chst ein X was einen offenen Eingang symbolisiert dessen Interpretation im GAL entspricht allerdings einem Low Eingang Der oder die Ausg nge werden ab der zweiten Spalte als berechnete Ergebnisse auf dem Bildschirm pr sentiert H und
25. und 26CV 12 automatisch durch GDS deklariert so da eine manuelle Deklaration nicht erfolgen darf In den Logikgleichungen d rfen Sie diese Pinnamen ohne Probleme benutzen 21 4 Nach den Deklarationen f r GAL Typ und Pinnamen folgen die Logikgleichungen die immer den Aufbauregeln lt OUTPUTPIN gt funk lt INPUTPINs gt T lt KOMMENTAR gt oder lt OUTPUTPIN gt funk lt INPUTPINs gt lt KOMMENTAR gt folgen Semikolon und lt KOMMENTAR gt sind hierbei optional COUTPUTPIN gt mu ein Pin aus der Pinliste sein wobei nat rlich an der entsprechenden Stelle der gew hlte GAL Typ ebenfalls einen Ausgang zul t w hrend nahezu alle Pins als Inputs zugelassen sind Ausnahmen nat rlich GND VCC NC OE PL und CLK f r GAL PALCE 16V8 16V8A 20V8 20V8A 16Z8 und 20RA10 sowie die GAL 16Z ispGAL22V 10 Spezialpins MODE SDIN SDOUT und SCLK Nicht als Eingang erlaubte Pins werden vom Assembler entdeckt und beanstandet funk lt INPUTPINs gt stellt eine Kombination der Inputpins mit dem Invert Zeichen oder dem AND Zeichen oder amp und dem OR Zeichen oder dar Die Reihenfolge der Priorit ten ist vor und bzw der jeweiligen anderen Syntaxform die Anzahl der m glichen OR Verkn pfungen ist durch die jeweilige GAL Architektur beschr nkt so da ein berschreiten ebenfalls eine Fehlermeldung generiert Weiterhin ist eine Klammerung erlaubt mit der Sie die Priorit tenreihenfolge de
26. 111111111111111111111111111 L3696 11111111111111111111111111011111111111111111 11111111111111111111111111111111111111111111 F1 Hilfe F2 Speichern f nen Syntaxcheck 9 Assembl Menu Abb 3 5 Men PROGRAMM Der C TYP wird im Regelfall nicht ben tigt da GDS 3 5 auch im JEDEC Code die ben tigten Informationen erh lt um den richtigen Ziel GAL innerhalb seines Programmiersystems auszuw hlen Diese Wahl kann im Einzelfall wenn es sich um fr her bereits assemblierten Code mit weniger internen Informationen handelt fehlschlagen so da 15 dann und nur dann der korrekte IC Typ durch Sie ausgeww hlt werden mu Sie sollten solange Sie mit GDS 3 5 arbeiten und keinen anderweitig erzeugten JEDEC Code programmieren wollen diesen Men punkt au er Acht lassen SETZE SECURITY FUSE dient dem Setzen einer speziellen Sicherung die das korrekte Funktionieren des GALs nicht beeintr chtigt ein Auslesen aber unm glich macht Diese Funktion der GALs ist f r Sie besonders wichtig wenn Sie Ihre Schaltung gegen Kopieren sch tzen wollen Dieser Men punkt bietet Ihnen die M glichkeit die Schutzfunktion die brigens auch von Ihnen nur durch L schen des GALs wieder ausgeschaltet werden kann jederzeit einzuschalten W nschen Sie dies in jedem Fall unmittelbar nach einem Programmiervorgang etwa weil Sie eine Serie von GALs brennen wollen so erreichen Sie dies durch nderung im JEDEC Code indem Sie eine der obere
27. ARESET amp APRESET amp L 1 0 0 amp 6 pL V O n amp s gt PD amp R PN amp so PL Preload PD Preload Data feedback PL OE Abb 5 9 Output Logic Macrocell OLMC GAL20RA10 Die iibrigen vier Produktterme haben spezielle Aufgaben und hier liegt das Besondere im GAL 20RA10 Je ein Produktterm wird zur Tristate Bedingung diejenige f r den Pin wird immer mit dem Eingang OE AND verkn pft zur CLK Bestimmung zur Bestimmung von Asynchronous Reset und Asynchronous Preset bestimmt Somit ist f r jeden Register Output eine Definition des Taktes notwendig was aber gerade die Besonderheit dieses GALs ausmacht denn jeder Takt kann einzeln bestimmt werden CLK Asynchroner Reset und Preset sind nat rlich f r asynchrone Ouputs undefiniert allerdings wird durch Asynchr Reset und Preset beide immer wahr der Bypass am Register aktiv geschaltet der asynchrone Output also gerade eingeschaltet diese Aufgabe bernimmt GDS f r Sie F r die Register Outputs die auf Flanken an diesen Termen reagieren wird dieser Zustand intern unterdr ckt OE sollte im Betrieb immer auf low gelegt sein um die Outputpins berhaupt aktiv schalten zu k nnen PL hingegen sollte inaktiv also high im normalen Betrieb sein da die Register nicht vorgeladen werden sollen Die Ausnahme ist dann gegeben wenn das Preloading aktiviert wird dies geschieht im normalen Betrieb durch die Sequenz OE high um die
28. LT C ALT S ALT P ALT O ALT F Men leiste Datei Offnen Sichern Beenden Bearbeiten Ausschneiden Kopieren Einfugen L schen Weitersuchen Compiler Nur Syntaxcheck Assemblieren N chster Fehler Vorheriger Fehler Simulation Programmieren Optionen Fenster Gr e Bewegen Zoom N chstes Fenster Voriges Fenster F1 Hilfe F3 F2 ALT X Shift Delete Ctrl Insert Shift Insert Ctrl Delete Ctrl L F9 ALT F9 ALT F8 ALT F7 CTRL F5 F5 F6 ALT F3 60 Anhang D bersicht der programmierbaren GALs GDS Version 3 5 erlaubt die Programmierung mittels GDSProg und GDSProg2 f r folgende GAL Typen und Hersteller 16V8 Hersteller Lattice Algorithmen 00 05 Hersteller NSC Algorithmen 00 05 20V8 Hersteller Lattice Algorithmen 00 05 Hersteller NSC Algorithmen 00 05 18V10 Hersteller Lattice Algorithmen 00 05 22V10 Hersteller Lattice Algorithmen 00 05 Hersteller NSC Algorithmen 00 01 26CV12 Hersteller Lattice Algorithmen 00 05 20RA10 Hersteller Lattice Algorithmen 00 05 Hersteller NSC Algorithmen 00 01 PALCE16V8 Hersteller AMD Algorithmus 00 01 PALCE22V 10 Hersteller AMD Algorithmus 00 02 Einschr nkung bei GDSProg ispGAL22V 10 Hersteller Lattice Algorithmus 00 GDS14 18 22 Hersteller Lattice Algorithmus 00 Alle brigen GALs PALCEs werden vor dem Programmier oder L schvorgang erkannt der Algorithmus wird dann mit einer Fehlermeldung abgebrochen Dies
29. Up Resetangabe m glich in Zeile Zuk nftige Erweiterung A025 GAL20RA10 PL und oder OE nicht oder falsch definiert Zeile 49 F r den GAL20RA10 m ssen die Pins 1 und 13 als PL PreLoad bzw OE Output Enable definiert werden Dies wurde fehlerhaft vorgenommen A026 Keine Clockdefinition f r Pin Zeile Ein Pin im GAL2ORA 10 der synchron definiert wird braucht grunds tzlich eine Definition seines Clock Inputs Dies wurde vergessen Bei dieser Fehlermeldung werden die Pinnummer und die Zeilennummer der Pin Definition angegeben A027 Dieser Eingabepin f r Clock ist nicht zul ssig Zeile Zuk nftige Erweiterung A028 GDSxx IC UND Logik nicht gestattet Zeile Bei allen GDS Bausteinen ist keine Kombinatorik m glich lediglich den Ausg ngen kann ein Eingangspin oder ein fester TTL Wert zugeordnet werden Sie haben versucht UND Verkn pfungen f r GDS Bausteine einzuf gen A029 Unerwartetes Dateiende in Zeile Die Sourcecodedatei wurde f r die Syntaxanalyse unerwartet beendet Dies kann z B auftreten wenn eine Blockkommentierung mittels begonnen jedoch nicht beendet wurde A030 Unerwartete Klammer in Zeile Sie benutzen eine schlie ende Klammer mehr als Sie ffnende Klammer in der zugeh rigen Sourcecodezeile gesetzt haben oder sie steht an zu fr her Stelle A031 Klammer erwartet in Zeile Sie benutzen in der zugeh rigen Sourcecodezeile mindestens eine ffnende Klammer mehr als schlie ende Klam
30. ber eine einheitliche Syntax durch Ersetzen aller Textmakros und aller Zweitfunktionszeichen f r die Verkn pfungen Einzelheiten siehe Kapitel 4 erreicht Der precompilierte Code ist sehr n tzlich da er zur Fehlersuche von versteckten Fehlern z B durch die Makroersetzung herangezogen werden kann Selbstverst ndlich kann dieser Code direkt assembliert werden da er eine Art Minimalcode darstellt Weiterhin k nnen Sie einen MINIMIERER ausrufen Durch diesen Aufruf werden zun chst ohne Aufruf weiterf hrender Minimierungsalgorithmen die Ersetzung aller Makros die Entklammerung und ein ersten Syntaxcheck durchgef hrt Als Ergebnis erhalten Sie ein neues Textfenster mit dem umgewandelten Code unter der Bezeichnung lt NAME gt MIN Dieser minimierte Code ist besonders dann wertvoll wenn Sie Fehler in der Makroaufl sung und in der Klammerung beseitigen wollen 11 ABBRUCH BEI l t Sie f r diese GDS Sitzung bestimmen bei welchem Level lediglich bei Fehlern oder auch bei Warnungen ein Assemblierungsvorgang mit Start des Fehlereditormodes abgebrochen werden soll Diese Einstellung wird nicht in einem Initialisierungsfile hinterlegt wie dies bei Wahl innerhalb der OPTIONEN der Fall w re Einzelheiten hierzu sind in Abschnitt 3 4 aufgef hrt 16V8 MODUS bestimmt ebenfalls f r diese Sitzung welcher Modus f r die kombinatorische Einstellung der GALs 16V 8 und 20V8 als grundlegend eingestellt werden soll SIMPLE MODE dient dab
31. bzw Tastatur selbsterkl rend ist GDS pr ft den gesamten Sourcecode auf syntaktische Richtigkeit falls Sie einen der Men punkte NUR SYNTAXCHECK oder ASSEMBLIEREN anw hlen Verlief diese Pr fung ohne Fehler oder Warnungen bei Fehlerlevel 1 bzw nur mit Warnungen bei Fehlerlevel 0 siehe Kap 3 4 Optionen so wird das Pinout des GALs als 1 Ergebnis der Assemblierung in einer lindgr nen Farbe bei entsprechend eingestellter Farbdarstellung pr sentiert Abb 3 1 zeigt diesen Fall Sie als Nutzer k nnen dies nun best tigen OK Schalter oder verwerfen Abbruch Datei Bearbeiten Compiler Simulation Programm Optionen Fenster u _ _Ae urn rer S DA GALZZV1O CLK Input CLE_IN UCC Input A23 DTACK_EXT Tri State I 0 Input nee AS Tri State I 0 Input AZ1 WAITS Tri State I 0 Input AZO WAITZ Tri State I 0 Input A19 DTACK Tri State I 0 Input 818 UAITI Tri State I 0 Input A1 WAITO Tri State I 0 Input n16 FCO_1_2 Tri State I 0 Input R_U FC2 Tri State I 0 Input DS FC1 Tri State I 0 GND FCO Input Abbruch Zeilen 0068 Warnungen 0000 Fehler 0000 EN Nunmehr sind die Pins deklariert die Logikgleichungen beginnen Abb 3 1 Pinout bei erfolgreicher Assemblierung Beide Aktionen weisen Kurzbefehle auf lt F9 gt f r NUR SYNTAXCHECK lt ALT F9 gt f r ASSEMBLIEREN Der Unterschied zwischen beiden Aktionen liegt in der weiteren Ausf hrung nach erfolgreicher Assemblierung NUR SYNTAXCHECK kehrt in de
32. chen Pins am ispGAL22V 10 damit GDS den Sourcecode korrekt assemblieren kann Die Pins hei en im einzelnen SCLK Pin 1 MODE Pin 8 SDI Pin 15 und SDO Pin 22 Diese Anschl e entsprechen am PLCC Geh use des normalen GAL22V 10 NC Anschl en sind also dort unbelegt W hrend des normalen Betriebs sollten sie definiert auf Low gezogen werden Die Pinbelegung zum Interface des ispGALs22V 10 und einem PC kann aus den Datenb cher von Lattice entnommen werden es ist in das spezielle Kabel zum Anschlu von isp Bausteinen integriert 44 5 5 Die GDSxx Familie Als neue IC Familie mit isp Programmierungseigenschaften wurde die GDS Familie eingef hrt GDS Generic Digital Switch Diese Bausteine beinhalten eine Verbindungsmatrix zwischen zwei Eingangsreihen A und B sowie konfigurierbaren Ausgangstreibern an jedem Ein Ausgang Die Grundidee der GDS Bausteine ist der Ersatz von DIP Switches wobei dies nur insofern gelingt da eine Richtung ersatzweise geschaltet wird w hrend die Verbindungschaltung bei DIP Switches bekannterma en richtungsunabh ngig ist Abb 5 11 zeigt die Pinbelegung der 3 verf gbaren GDS Bausteine Abb 5 12 den Aufbau der I O Zelle die f r die Konfiguration eines Pins als Ein oder Ausgang verantwortlich ist Abb 5 11 Pinout der GDS Bausteine Die hier gezeigten DIP Pinouts sind f r den GDS14 auch als 20 Pin PLCC f r den GDS22 als 28 Pin PLCC erh ltlich Konf Input Switch Matrix
33. d sp ter GALs Generic Array Logics eine wichtige Rolle Man kann sie zusammenfassend als monolithische PLDs Programmable Logic Devices oder Simple PLDs bezeichnen wobei sie eine Reihe von Anwendungsvorteilen bieten geringe Kosten leichte Handhabung gro e Flexibilit t Ersparung von TTL Gr bern sehr geringe Entwicklungszeiten im Minuten und Stundenbereich Letzterer Vorteil wird durch Ihr neues GAL Development System noch wesentlich verst rkt da in einer benutzerfreundlichen SAA kompatiblen Oberfl che alles von der Sourcecodeerstellung ber die Assemblierung und Simulation bis hin zur Programmierung integriert ist externe Programmaufrufe z B f r andere Programmierger te eingeschlossen Diese Bedienungsanleitung bietet Ihnen sowohl eine Einf hrung in die Benutzung von GDS Kapitel 2 und 3 sowie Informationen ber die Programmierung in der Assemblersyntax Kapitel 4 und ber die interne Struktur der GALs Kapitel 5 Programminstallation GDS wurde speziell f r den Einsatz auf Personal Computer konzipiert Um die aktuelle Version 3 5 starten zu k nnen ben tigen Sie einen IBM PC PC XT oder IBM PC AT oder einen entsprechend 100 kompatiblen Rechner mit einem minimalen Speicherausbau von 640 kByte Die Bedienung von GDS geschieht via Tastatur oder Maus Die physikalische Programmierung der GALs ist in GDS Version 3 5 f r die GAL Typen 16V8 208 18V 10 22V 10 26CV12 und 20RA10 jeweils A B D Typen die is
34. den sind folgen jetzt die weiteren Men punkte im Simulationsmen Der Unterschied zwischen SIMULATION und EINZELPINAUSWAHL wird in dem Verhalten bei bereits begonnener Simulation deutlich Betrachten Sie beispielsweise den JEDEC oder Sourcecode in dem entsprechenden Fenster und w hlen nun SIMULATION aus so springen Sie lediglich in das bereits ge ffnete Simulationsfenster es sei denn eine Sourcecode nderung trat seit Simulationsbeginn auf EINZELPINAUSWAHL hingegen startet in jedem Fall die Simulation neu Mit AUTO BASIERT Standard GAL BASIERT oder JEDEC BASIERT beeinflu en Sie die Wahl des der Simulation zugrundeliegenden Codes Im Normalfall sollte dies immer AUTO BASIERT sein da GDS dann selbst detektieren kann ob es sich um GAL Sourcecode oder JEDEC Code handelt und welcher vorgew hlte IC Typ simuliert werden soll In wenigen Ausnahmef llen kann GDS diese Autodetektion nicht vornehmen In diesem Fall m ssen Sie dann vorgeben ob es sich um Sourcecode oder JEDEC Code handelt AUTO BASIERT schaltet dann immer um eine Stufe weiter wenn Sie diesen Punkt anw hlen IC TYP l t Sie den zugrundeliegenden IC Typ f r die Simulation ausw hlen Diese Wahl ist lediglich wichtig wenn Sie JEDEC BASIERT vorgegeben haben ansonsten ist GDS immer in der Lage den GAL Typ selbst ndig zu erkennen DARSTELLUNG l t Sie zwischen der textuellen Darstellung standardm ige Einstellung und einer Semigrafik umschalten Semigrafische Da
35. den von GDS verloren w hrend die unter OPTIONEN eingetragenen Werte in dem Initialisierungsfile gespeichert werden Die Port Adresse und das Programmierger t wird in einem speziellen Fenster eingestellt in dem Sie siehe Abb 3 8 zwischen LPT1 bis LPT3 COM1 bis COM4 einer Spezialadresse oder keinem Anschlu w hlen Abb 3 8 zeigt die Einstellung des Programmierger ts und des zugeh rigen Anschlusses in GDS V3 5 Zus tzlich zur Unterst tzung des GDSProg GDSProg2 sowie des hed chip die beide ber LPTx oder COMx mit Hilfe eines speziellen Adapters anschlie bar sind ist auch ein Evaluationsboardanschlu an LPTx integriert Die EvalBoards m ssen zur Lattice Spezifikation kompatibel sein und sind dann mit Hilfe spezieller Kabel an GDS V3 5 f r die Bausteine ispGAL22V10 GDS14 GDS18 und GDS22 anschlie bar Kabel sowie EvalBoards sind von SH Elektronik lieferbar Die Einstellung des Anschlusses in GDS mu sowohl f r den Programmierer wie f r den Anschlu geschehen wobei bei ung ltigen Kombinationen automatisch Kern Anschlu gew hlt wird Im Pull Down Men selbst wird der Port angegeben der eingestellte Programmierer kann nur durch das in Abb 3 8 gezeigte Bild erfahren werden Aktueller GDS Port Abbruch Abb 3 8 Auswahl Portadresse LPT1 bis LPT3 sowie COM1 bis COM4 k nnen nur angew hlt werden wenn diese als Ports im BIOS eingetragen sind ansonsten wird keine Ver nderung vorgenommen Die Eins
36. die der SDIN In System Programming des GALs SDOUT dienen SCLK AR Asynchronous Reset intern f r 18V10 22V10 und 26CV12 SP Synchronous Preset wie AR Kombinatorische Outputdefinition Register Outputdefinition bzw or link bzw amp and link bzw Negation eines Pegels DEFINE Definition eines Textmakros USER ID Definition einer Kennung Tabelle 4 1 Keywords der GALASM Syntax Bitte beachten Sie da die Keywords in Gro buchstaben geschrieben werden m ssen Ausnahme DEFINE Die GALASM Syntax folgt generell folgenden Regeln 1 Zu Beginn des Sourcecodes k nnen Sie einen beliebigen Text eingeben solange Sie das Keyword CHIP in Gro buchstaben zu Beginn einer Zeile fortlassen Dieser Textbereich 20 sollte in jedem Fall zur Erkl rung des folgenden Sourcecodes und zur generellen Kommentierung genutzt werden 2 Das Keyword CHIP zum Zeilenbeginn deklariert den Beginn des eigentlichen Sourcecodes Zwingend mu danach ein Wort als freier Name f r den GAL folgen anschlie end ein zweites zur Deklaration des GAL Typs Die einzelnen W rter k nnen durch lt SPACE gt oder lt TAB gt getrennt werden Tabelle 4 2 zeigt die f r GDS Version 3 5 erlaubten GAL Typen GAL16V8 GAL20V8 GAL16Z8 GAL18V10 GAL22V10 GAL26CV12 GAL20RA10 PALCE16V8 PALCE22V10 ispGAL22V10 GDS14 GDS18 GDS22 Tabelle 4 2 Erlaubte PLD Typen Hinweis Bitte beachten Sie da zwischen GAL16V8 und 16V8A
37. ehr st rend sein kann A2 Fehlermeldungen 46 In GDS 3 5 k nnen mehrere Fehlermeldungen w hrend eines Assembliervorganges generiert werden Im Detail sind dies A001 Sourcecodezeile ist zu lang Zeile Eine Sourcecodezeile im precompilierten und minimierten Code also ohne Kommentierung jedoch mit Makroersetzung und Entklammerung darf 2000 Zeichen nicht berschreiten Bitte beachten Sie da eine Sourcecodezeile mehrere Textzeilen berstreichen kann und die komplette Definition des Zusammenhangs zwischen Outputpin und den Inputpins enth lt Die weitere Assemblierung dieser Zeile wird abgebrochen A002 Syntaxfehler in Zeile Ein Syntaxfehler trat in der entsprechenden Zeile auf Der Grund daf r kann z B in zwei aufeinanderfolgenden Pinnamen ohne Verkn pfung unbekannten oder unmittelbar aufeinanderfolgenden Verkn pfungszeichen liegen Die Klammerung unterliegt auch einigen Restriktionen die Sie beachten m ssen A003 Unbekannter Inputpin in Zeile Ein nicht deklarierter Inputpin trat in der angegebenen Zeile auf A004 Kein Input m glich in Zeile Es gibt einige Pins an denen kein Input in den PLD m glich ist dies aber versucht wurde Dies tritt normalerweise auf falls bei den GALs PALCEs 16V8 und 20V8 im COMPLEX MODE die Pins 12 19 bzw 15 22 im SIMPLE MODE die Pins 15 16 bzw 19 20 als Input oder auch nur in der R ckkopplung in die AND Matrix benutzt werden sollen was nicht m glich ist Hinweise finden Sie im Ka
38. ei der Emulation der ersten PAL Generation COMPLEX MODE der der 2 Generation Die Grundeinstellung l t sich jederzeit im Sourcecode berschreiben indem in der CHIP Zeile nach dem GAL Typ der Modus angegeben wird Zu diesem Thema sind Einzelheiten in den Kapitel 4 und 5 n her erl utert Das Meldungsfenster k nnen Sie mit dem letzten Men punkt FEHLEREDITOR aufrufen Dieses Meldungsfenster kann im brigen nicht gel scht sondern nur versteckt werden so da die letzten eingetragenen Fehlermeldungen mitsamt der Querverweise noch enthalten sein k nnen 3 2 Simulationen des Source und JEDEC Codes Ein syntaktisch korrekter Sourcecode bzw der JEDEC Code kann mit Hilfe des integrierten Simulators bereits vor dem Programmierungsvorgang simuliert werden Die Simulationen innerhalb von GDS V3 5 beziehen sich dabei auf die logische Ebene Laufzeitsimulationen die also insbesondere bei zeitkritischen Applikationen die korrekte Funktion eines GALs simulieren sind derzeit nicht in GDS integriert Im Men SIMULATION finden Sie zwei Untermen punkte zum Starten sowie einige zur Grundeinstellung des Simulationsvorgangs Starten Sie die Simulation erstmalig dann k nnen Sie dies sowohl mittels SIMULATION als auch mit EINZELPINAUSWAHL t tigen GDS pr sentiert Ihnen einen Auswahlbildschirm in dem Sie alle Ausgangspins oder einen Einzelpin mit seinen gesamten Abh ngigkeiten mittels Tastatur oder Maus w hlen k nnen Abb 3 3 zeigt diesen Fall f
39. eklaration ohne und Definition mit Slash entsteht f r den Outputlevel kein Unterschied aber als Input mit Slash wird der Level nunmehr invertiert da sich im Vergleich Deklaration und Nutzung unterscheiden Als Erg nzung zu den Definitionen der Outputpins mu f r die asynchronen Outputs der GAL PALCE16V8 Familie nur im COMPLEX MODE sowie f r alle der GAL PALCE 22V 10 Familie sowie den GAL20RA10 genau eine Tristatebedingung angegeben werden die festlegt unter welchen Bedingungen der physikalische Level an dem Pin auch angenommen wird In den meisten F llen wird dies implizit immer der Fall sein die Ausgangstreiber also nie abgeschaltet werden GDS generiert dann dies automatisch als immer wahr wenn keine explizite Tristategleichung angegeben wird Diese immer zutreffende Beschaltung kann auch durch die Bedingung lt pin gt TRST VCC erreicht werden w hrend lt pin gt TRST GND niemals zutreffen wird 5 Textmakros k nnen an jedem beliebigen Zeilenanfang nach der CHIP Zeile definiert werden Zu diesem Zweck wird diese Zeile durch define lt MakroName gt lt MakroDefinition gt T Kommentar beschrieben wobei der MakroName maximal 19 Zeichen enthalten darf die eigentlich MakroDefinition die durch das Editorzeilenende bzw den optionalen Zeilenkommentar beendet wird maximal 255 Zeichen Im brigen gelten die gleichen Regeln wie f r Pinnamen Schl sselw rter bzw Pinnamen sind als MakroNamen verboten d rfen aber natur
40. er Funktionscode 51 B2 ERROR1 GAL Diese Beispieldatei enthaelt den Sourcecode eines GALs zur Adressdekodierung einer PC Interfaceplatine Auf diesem Board sind AD und DA Wandler sowie ein PIO Adapter integriert Absichtlich wurden einige Fehler im Sourcecode integriert die beim Assemblieren durch GDS detektiert werden sollten Das Board benoetigt einen Adressbereich von insgesamt 32 Adressen im I O Bereich Innerhalb dieses Bereichs selektieren die Chip Select Leitungen wie folgt Basisadresse BA bis BA 1 CS0 aktiv low BA 4 bis BA 7 CS1 aktiv BA 16 bis BA 23 CSA aktiv BA 24 bis BA 31 CSB aktiv Alle anderen Adressen bewirken keinen Selektierung CS als Summensignal ist aktiv low falls ein CSx aktiv ist CHIP Universal IO mod GALI6V8 COMPLEX MODE AU Al A2 A3 A4 JORD IOWR CSI6 NC GND NC CS BIOWRBIORD CSB CSA CSI NC CS0 VCC CS0 ICS16 amp A4 amp A3 A2 amp A1 amp IIORD CS16 A4 A3 A2 A1 IOWR BA bis BA 1 gemischte Anwendung der zugelassenen logischen Verkn pfungen ICSI CS16 A5 A3 A2 IORD CS16 A4 A3 A2 IOWR BA 4 bis BA 7 ICSA CS16 A4 A3 IORD CS16 A4 A3 IOWR BA 16 bis BA 23 CSB CS16 A4 A3 IORD CS16 A4 A3 IOWR BA 24 bis BA 31 CS CSO CS1 CSA CSB Summensignal B_IORD IORD B_IOWR IOWR gepufferte Ausgaenge USER ID TESTI hier ein Beisspiel f r den Eintrag der
41. er elektronischen Signatur UES werden nun auch vom GDS unterst tzt 5 1 Die GAL16V8 Familie Als die GAL16V8 Familie als erste auf den Markt kam lag das Ziel in der Ersetzung bzw Emulation einer Vielzahl von PALs beginnend beim PAL10H8 L8 bis zum 16H2 L2 weiterhin den PAL16V8 und die entsprechenden Register PALs Sie k nnen dies leicht nachvollziehen da man den PAL Sourcecode bzw die JEDEC Files nehmen konnte und durch Hinzuf gen der GAL Architekturbits diesen PAL durch einen der beiden Typen GAL16V8 oder 20V8 emulieren konnte GDS allerdings verfolgt einen anderen Ansatz denn die interne Architektur der GALs soll vollst ndig ausgenutzt werden Dies f hrt dazu da Sie Ihren bisherigen PAL Sourcecode falls vorhanden weiterhin ausnutzen k nnen GDS kreiert dann den entsprechenden PAL Ersatztyp wobei sich nat rlich auch Kombination wie PAL13H35 die nicht existieren ergeben k nnen Die Zusammenstellung der Architekturbits gem Ihren W nschen liegt bei GDS Die Abb 5 1 und 5 2 zeigen die interne Struktur der GALs 16V8 und 20V8 Abb 5 3a stellt die komplette Output Logic Macrocell OLMC dar Die beiden GALs bestehen aus acht I O Pins sowie 10 bzw 14 Inputpins Um die verschiedenen PAL Architekturen emulieren zu k nnen sind folgende Architekturbits vorhanden ACO f r Umschaltung zwischen Simple Complex Mode SYN f r Umschaltung asynchroner synchroner Mode AC 1 n f r spezifische OLMC Modes XOR n f r die
42. erner den Initialisierungsfile GDSV35 INI in dem jeweils aktuellen Directory in dem einige Informationen der Grundeinstellung stehen Sollte diese Datei nicht vorhanden sein werden Defaultwerte vorgegeben Weitere Informationen erhalten Sie im Kapitel 3 4 OPTION Der minimale Speicherausbau f r GDS sollte 640 kByte betragen Pro Editorfenster stellt GDS maximal 64 kByte zur Editierung bereit Hinweis Da im GDS sehr viele speicherhungrige Applikationen vorhanden sind achten Sie bitte darauf m glichst wenig Fenster in der Oberfl che ge ffnet zu haben Der Programmer wird direkt in LPT1 bis LPT3 wie im BIOS eingetragen oder einer 100 kompatiblen Schnittstellen eingesteckt die Adressauswahl erfolgt unter dem Men punkt OPTION Der Programmer ben tigt dabei seine eigene Spannungsversorgung wie sie z B f r GDS Prog mittels eines Steckernetztteiles vorgeschlagen ist Bei anderen Programmern entnehmen Sie bitte Einzelheiten zur Installation des Programmierger ts und der Software den jeweiligen Anleitungen Das Einbinden der entsprechenden Software wird im Abschnitt 3 4 OPTION erl utert Die Benutzung von GDS GDS wurde als Hardwareentwicklungssystem konzipiert somit also zur Synthese von Schaltungen auf GALs entworfen Dies bedeutet da GDS Module zur Editierung zur Assemblierung einschlie lich des einfachen Syntaxcheck zur Simulation und als Interface zu Programmierger te beinhaltet W hrend die Inhalte dieser einzelne
43. f r die GALs Nach Beenden der GDS Sitzung wird die eventuell ver nderte Konfiguration in einem Initialisierungsfile in dem Verzeichnis gespeichert aus dem Sie GDS gestartert haben Die Uhr kann einfach ein bzw ausgeschaltet werden indem Sie den Men punkt anw hlen Toggle Funktion F r die Farbwahl erhalten Sie ein Auswahlmen mit den M glichkeiten Farbig LCD Schirm und Monochrom Sie sollten eine dieser Kombinationen den Gegebenheiten Ihres Bildschirms angepa t ausw hlen Unter C Typ w hlen Sie den grunds tzlichen IC Typ aus der insbesondere f r den Programmer als Startwert eingestellt sein soll Diese Wahl ist f r die Sequenz Editieren Simulieren Assemblieren Programmieren nicht von Bedeutung da auf die Eintragungen im Sourcecode zur ckgegriffen wird Anders verh lt es sich wenn Sie beispielsweise einen GAL den Sie im Programmer eingesetzt haben auslesen wollen Hier ist bei Benutzung des GDS Prog die Vorwahl des GALs unerl lich und eben dieser Grundtyp wird an dieser Stelle eingestellt Sie erhalten folgendes Auswahlmen nach Bet tigung dieses Punktes GAL16V8 GALZOVE GAL1628 GAL18V10 Ebr weh Abb 3 7 Auswahl GAL Typ W hlen Sie nun den gewiinschten GAL Typ der nach Starten von GDS V3 5 eingestellt sein soll wobei Unterscheidungen zwischen GAL16V8 und GAL16V8A B D o entfallen Ein 17 hnliches Men erhalten Sie auch unter PROGRAMM IC Typ nur sind Eintragungen dort nach Been
44. fer 0 DREI und Ziffer 3 b VIER b setzen im Anschlu an Ziffer 4 F NF und Ziffer 5 c gt EINS c setzen im Anschlu an Ziffer 1 d NULL d setzen im Anschlu an Ziffer 0 DREI und Ziffer 3 SECHS und Ziffer 6 e EINS e zur cksetzen im Anschlu an Ziffer 1 F NF und Ziffer 5 SIEBEN und Ziffer 7 NEUN und Ziffer 9 f NULL f setzen im Anschlu an Ziffer 0 EINS und Ziffer 1 ZWEI und Ziffer 2 SECHS und Ziffer 6 g NULL g setzen im Anschlu an Ziffer 0 SECHS und Ziffer 6 NEUN und Ziffer 9 SOE GND _ Synchron Output Enable Am Anfang alle Ausg nge auf 0 57 B7a ZAEHL_1 GAL Diese Schaltungsbeschreibung zeigt die Programmierung eines Binaerzaehlers mit einer Breite von 10 Bit Der Zaehlvorgang wird durch einem COUNT_EN Eingang gesteuert der nur bei LOW ein Weiterzaehlen gestattet Ein LOW Zustand an RESET asynchron setzt alle Zaehlerbits auf 0 Diese 1 Version wird ohne Klammerung beschrieben CHIP 41 1 64 2210 CLK NC RESET NC NC COUNT EN NC NC NC NC NC GND NC DO D2 D4 D6 D8 D9 D7 D5 D3 D1 VCC AR RESET Asynchroner Reset DO DO COUNT_EN DO COUNT EN D1 D1 DO COUNT_EN D1 DO COUNT_EN D1 COUNT_EN D2 D2 D1 DO COUNT_EN 02 D1 COUNT_EN 02 DO COUNT_EN 02 COUNT EN D3 D3 D2 D1 DO COUNT_EN 03 D2 COUNT_EN D3 D1 COUNT_EN D3
45. gaenge muessen immer gegensaetzliche Potentiale annehmen Durch diesen Trick und der Rueckkopplung des Potentials zwischen R und C kommt es zu Ladung und Entladung des Kondensators also einem zeitlich Aufeinanderfolgen der Zustaende HIGH und LOW an jedem der beiden Ausgaenge R OUT 1 R_ECK_IN beide Ausgaenge sind immer aktiv R_OUT 2 R OUT 1 ekkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkkxkxkxkxkxkkxkxkkxkxkxkxkxkxkxkkxkxkxkkxkxkxkxkkxkxkxkxkxkkxkxkxkxkkkxkxkkxkkxkxkkxkxkkkxxkx k r Die zweite Schaltung aehnelt der erstgenannten wobei nunmehr ein Nadelimpuls erzeugt werden soll Die externe Beschaltung hat folgende Gestalt l VCC NADEL IN NADEL 1 ait NADEL N E ENDE H ee GND Durch den hochohmigen Zustand von NADEL 2 in der Phase waehrend NADEL 1 den Wert LOW hat wird der Kondensator geladen bis der Wert an NADEL IN 55 die Schaltschwelle errreicht hat und der Kondensator schlagartig entladen wird Auch hier ist der Abstand der Nadelimpulse ueber die Zeitkonstante RC festgelegt Der Nadelimpuls kann an NADEL 1 abgegriffen werden NADEL 1 NADEL IN NADEL 2 NADEL IN NADEL IN 7 NADEL 2 TRST NADEL 1 Die Definition fuer NADEL 2 ergibt staendig ein LOW Wert fuer die lo gische Verknuepfung wobei dieser Wert nur fuer NADEL 1 HIGH auf dem Pin a
46. gekoppelt 54 85 IMPULSO1 GAL Dieses Beispiel dient der Demonstration der Flexibilitaet von PLDs allgemein und von GALs im speziellen Impulsschaltungen sind allgemein alle Schaltungen die in geeigneter Art und Weise zeitlich veraenderliche Signale produzieren Beispiele dafuer sind Rechteckgeneratoren mit bestimmten Zeitverhaeltnissen Nadelimpulsgeneratoren Schmitt Trigger sowie Verzoegerungsschaltungen Dieses Beispielprogramm wurde fuer den GAL22V10 geschrieben sicherlich wird ein solcher GAL sehr selten Eingang in Schaltungen finden wohl aber die Einzelkomponenten die auch in GALs eingebaut werden koennen falls noch gerade etwas Platz dort zu finden war Die hier aufgefuehrten Beispiele wurden einem Artikel der Zeitschrift Elektronik 20 1991 Seite 112ff entnoommen dem auch detaillierter Angaben zu den Zeitkonstanten zu entnehmen sind CHIP IMPULSO1 GAL22V10 NC R_ECK_IN NC NADEL IN NCTRIG FF RUECK FF NC SCHMITT IN NC NC GND NC NC NC SCHMITT OUT NC HELP FF MONO FF NADEL 2 NADEL 1 R OUT 2R OUT 1 VCC Als erste Schaltung wird der Rechteckgenerator vorgestellt Das folgende Bild zeigt die schematische externe Beschaltung RER R OUT 2 R und C bestimmen die Zeitkonstante und somit die Rechteckdauer Die beiden Aus
47. gem in der MakroDefinition stehen Maximal 20 Makrodefinitionen sind pro Sourcecode erlaubt ansonsten erfolgt eine Warnungsmeldung siehe Anhang A Eine MakroDefinition gilt von der Zeile ihrer Definition an bis zum Dateiende es sei denn sie wird redefiniert erneute Definition mit gleichem MakroNamen so da im Fortlauf des Sourcecodes ein anderer Inhalt ersetzt werden soll Innerhalb der Makrodefinition werden diejenigen Namen die bereits als MakroName vereinbart sind durch die MakroDefinition ersetzt rekursive Ersetzung Aus diesem Grund sollten Sie bei der MakroDefinition streng auf eine Trennung der Namen und Operatoren auch durch Leerzeichen achten damit die Ersetzung entsprechend verl uft Ebenfalls ist eine gewisse Aufmerksamkeit f r die Einsetzung notwendig insbesondere falls Sie bestimmte Rechenregeln im Sinn haben Beispielsweise geschieht folgende Ersetzung define ABC A B C 23 AUS 1 ABC D wird ersetzt zu AUS 1 A B C D wobei Sie eventuell eher an AUS 1 A D B D C D gedacht haben Durch eine geklammerte Definition define ABC A B C kann dies jedoch leicht erreicht werden Im Sourcecode selbst wird jedes Vorkommen des MakroNamens durch die MakroDefinition ersetzt Diese Ersetzung sowie die Ausblendung aller Kommentierungen kann im precompilierten Code betrachtet werden 6 Kommentare k nnen in GDS 3 5 durch ein Semikolon zeilengebunden eingeleitet werden Eine Blockkommentierung ist z
48. igen Bearbeitung kann keine Gew hrleistung f r Fehler in dieser Bedienungsanleitung und deren Auswirkungen bernommen werden Copyright 1996 99 by SH Elektronik IBM PC PC XT PC AT sind registrierte Schutzmarken der International Business Machines Corp MS DOS OS 2 sind registrierte Schutzmarken der Microsoft Corp DESQview DESQview386 sind registrierte Schutzmarken der Quarterdeck Office Systems PAL PALASM sind registrierte Schutzmarken der Monolithic Memories Inc ispGAL GAL sind registrierte Schutzmarken der Lattice Semiconductor Inc Inhaltsverzeichnis Kapitel 1 Einfiihrung Kapitel 2 Programminstallation Kapitel 3 Die Benutzung von GDS cccccsssscccessccccsesccccesssceceesceeees 3 1 Compilierung via GDS 3 2 Simulationen des Source und JEDEC Codes 3 3 Programmierung eines 3 3 4 Die Einstellung im Men Optionen Kapitel 4 Einf hrung in die GAL Assembler Syntax Kapitel 5 Details ber GALS ccscsccssssccsssssscccssscccssssccccsssscoecccsoss 5 1 Die GAL16V8 Famil e 5 2 Die GAL22V10 Familie 5 3 Die GAL20RA10 Familie 5 4 DerispGAL22V lO ui ad GW Yd a aac 5 5 Die GDSxx Familie Anhang A Fehler und Warnungsmeldungen Anhang B Sourcecode der Beispielfiles
49. ile Die Anzahl der Produktterme alle Pins die nur mit verkn pft sind geh ren zu einem Produktterm ist begrenzt durch die interne Architektur der jeweiligen GALs Diese Terme werden durch verbunden und es wurde versucht mehr Terme als vorhanden zu verbinden In der GAL22V 10 Familie variiert die Anzahl der Produktterme von Outputpin zu Outputpin so da durch Pinwechsel eventuell eine Abhilfe m glich ist GDS Bausteine haben generell keine Verkn pfungsm glichkeiten sondern dienen lediglich als Schalter A011 Keine AND Zeilen mehr verf gbar in Zeile AND Verkn pfungen sind in normalen GALs in dem Ma e vorhanden da diese Meldung nicht vorkommen kann Eine Ausnahme bilden PLAs zuk nftige Erweiterung und GDS Bausteine wo nur begrenzte AND Gatter integriert sind daf r aber die ODER Gatter programmierbar sind A012 Kein g ltiges CHIP Kommando Zeile Es wurde kein CHIP Kommando CHIP am Zeilenanfang in gro en Buchstaben im Sourcecode gefunden Bitte korrigieren Sie dies und assemblieren Sie erneut A013 Nicht gen gend Pins definiert Zeile Ein Gleichheitszeichen oder wurde gefunden bevor die Pinliste vollst ndig deklariert war so da die Pinanzahl nicht mit den Vorgaben bereinstimmt Bitte korrigieren Sie dies wobei Sie beachten sollten da interne Pins wie AR und SP in der GAL22V 10 Familie automatisch deklariert werden A014 Unbekannter GAL Typ Zeile Der deklarierte GAL Typ ist unbekannt
50. mern so da der Assembler eine weitere Klammer erwartet A032 GAL Definitionsfile nicht lesbar Der Definitionsfile f r die Assemblierung GDS_G35D DEF konnte unter diesem Namen nicht zum Lesen ge ffnet werden so da die Assemblierung abgebrochen werden mu te Bitte berpr fen Sie Ihre Installation von GDS A033 Unbekannter Fehler in Zeile Es wurde ein Syntaxfehler im Sourcecode entdeckt ohne da GDS diesen in eine der bisherigen Kategorien einordnen konnte Bitte wenden Sie sich mit diesem Fehler an SH Elektronik Marthastr 8 24114 Kiel 50 Anhang B Sourcecode der Beispielfiles B1 DTACK68 GAL Diese Datei enthaelt den Sourcecode fuer einen Waitstate Generator fuer ein 68000 System Der Generator basierend auf einem GAL22V10 kreiert ein DTACK Signal fuer die CPU mit 0 bis 3 Waitstates abhaengig von der Adresslage Die maximale Aufloesung im Adressraum ist 64 kByte so da also fuer jeweils 64 kByte ein einheitliches Signal generiert werden muss das aber von Block zu Block dann varlieren kann Wie ueblich beginnt der Sourcecode mit dem Kommando CHIP WAIT_STATE_68000 GAL22V10 CLK TIN A23 A22 A21 A20 A19 AI8 A17 A16 RW DS GND FCO FC1 FC2 FCO_1_2 WAITO WAIT1 DTACK WAIT2 WAIT3 AS DTACK EXT VCC Nunmehr sind die Pins deklariert die Logikgleichungen beginnen Bitte beachten Sie dass dies Kommentarzeilen sein muessen AR DS DS Data Select wird als externe NAND Kombina tion von UDS und LDS angeno
51. mmen AR ist ein inter nes Signal im GAL22V10 fuer Asynchronen Reset WAITO WAITO Fuer DS low wird WAITO immer zurueckgesetzt durch den asynchronen Reset AR bei DS high toggled WAITO mit CLK_IN 2 WAITO wird speziell fuer Lesezugriffe der 68000 CPU generiert da die Dauer von DS zwischen Lesen und Schreiben differiert WAITI WAIT1 JR W WAIT1 R_W WAITO RW WAIT2 WAIT1 2 wait states WAIT3 WAIT2 3 wait states WAITO bis WAIT3 sind zwar Outputsignale aber nicht direkt durch die CPU genutzt da diese ein DTACK Signal benoetigt asynchrones Busprotokoll der 68000 CPU Dieses Signal wird nunmehr aus den Waitstate Signalen und den Adressleitungen generiert DTACK A23 DS FCO_1_2 niedrigsten 4 MWord 0 zero waitstates A23 A22 A21 A20 DS FC0L1_2 WAIT3 oberstes MByte 3 waitstates A23 A22 A21 A20 A19 A18 A17 A16 DS FCO_1_2 DTACK_EXT externes DTACK in 80xxxx Dies hier generierte DTACK Signal soll nur als Beispiel dienen wie flexibel ein DTACK Generator mit Hilfe eines GALs programmiert werden kann Das FC0_1_2 Signal function code wird in die AND Matrix nicht invertiert rueckgekoppelt im Vergleich mit der Pindeklaration da das Signal low benoetigt wird wenn die Logikgleichung das Resultat high ergibt Fuer weitere Informationen zur Rueckkopplung von Signalen siehe Kapitel 4 FC0_1_2 FCO FC1 FC2 AS Hilfssignal fu
52. n Editor des soeben gepr ften Sourcecodes zur ck w hrend ASSEMBLIEREN als Ergebnis in einem neuen Fenster den JEDEC Sourcecode generiert es sei denn im Pinout Fenster wurde die Aktion abgebrochen Der erhaltene JEDEC Code entspricht dem Standard 3A und kann f r den internen Programmiereranschlu oder f r beliebige externe Programmierger te siehe Kap 3 3 genutzt werden Eine fehlerhafte Assemblierung bricht jedoch den gesamten Vorgang ab Sie als Nutzer k nnen dies sofort bemerken da die Farbe des Pinout Fensters auf Rot wechselt und nat rlich die Anzahl der Fehler sowie Warnungen anzeigt GDS wechselt nach Ihrer Best tigung in den speziellen Fehlereditormodus wobei durch Abbruch dies vorzeitig verhindert werden kann Abb 3 2 zeigt einen solchen Fehlerfall Im unteren Meldungsfenster sind der Fehlertyp und die Zeilennummer des Fehlers im Sourcecode in jeweils einer Zeile aufgef hrt im oberen Fenster der den Sourcecode enth lt wird die fehlerhafte Zeile invers unterlegt um Ihnen die Fehlerbehebung zu erleichtern 10 Datei Bearbeiten Compiler Simulation Programm Optionen Fenster D ENGAL_SOURNERROR1 GAL SH Universal_IO_mod GAL16V6GA COMPLEX_MODE Al AZ A3 A4 IORD IOWR C316 NC cs B_IOWR B_IORD CSB CSA 651 NC CSO AZ A2 Al IORD BZ Al IOWR BA bis BA 1 CS16 A4 n3 CS1 C516 AS A3 AZ IORD CS16 A4 A3 AZ IOUR BA 4 bis BA CSA CS16 ft A3 IORD
53. n Teile GDS spezifisch sind ist es die Bedienung nicht da GDS sich in der vorliegenden Version 3 5 sehr eng an die blichen SAA Spezifikationen h lt GDS l t sich dadurch in allen Teilen via Maus oder Tastatur bedienen Zu speziellen Fragen der Bedienung gibt es ein kontextsensitives Online Hilfesystem das Sie zu jedem Zeitpunkt mittels der Taste lt F1 gt aufrufen k nnen In diesem Hilfesystem sind Hinweise zu der jeweiligen Aktion bei der Sie es aufgerufen haben vorhanden Querverweise die unterlegt bzw hervorgehoben dargestellt sind erreichen Sie mittels der Maus durch zweimaliges Anklicken mit der linken Maustaste oder durch die Tabulatortasten und lt Return gt Erscheint eine Fehlermeldung beim Zugriff auf die Hilfedatei so berpr fen Sie bitte Ihre Installation Der Hilfetext GDS_35 HLP mu im gleichen Verzeichnis wie GDS35 EXE stehen bei Netzwerkinstallationen sollten die Dateien das Attribut SHARE besitzen Bitte beachten Sie auch in der unteren Statuszeile da diese ebenfalls kontextsensitiv gesetzt wird um Ihnen eine zus tzliche schnelle Bedienbarkeit per Maus zu gew hren In den folgenden Teilen werden nunmehr die Besonderheiten der Men s Compiler Simulation Programm und Optionen erkl rt da diese in engem Zusammenhang mit GDS als Hardwarebeschreibungswerkzeug stehen 3 1 Compilierung via GDS Wie bereits erw hnt bietet GDS eine bekannte Oberfl che so da der Aufruf des Compilermen s mittels Maus
54. n Zeilen mit dem Inhalt G0 auf G1 ndern Dies bedeutet f r jeden Programmer da die Auslesesperre unmittelbar nach Programmieren und Verifizieren gesetzt werden soll Abb 3 6 zeigt Ihnen als Beispiel das Auslesen eines GALs mit einem entsprechenden Meldungsfenster in dem die Kennung des GALs ausgewiesen wird M chten Sie die ausgelesenen Daten in einen JEDEC Sourcecode umwandeln dann m ssen Sie lediglich den OK Schalter bet tigen ansonsten wird der Vorgang abgebrochen Auslesen des GA GALZOUS einsetzen GAL wird gelesen Hersteller Al IC Typ 3A Algor Abb 3 6 Lesen eines GALs GDS pr ft bei jedem Vorgang seine Kenntnis ber den eingesetzten IC und unterbricht Programmier und L schvorg nge sofort falls unbekannte ICs eingesetzt werden Mit GDS Prog programmierbare ICs sind im Anhang D aufgef hrt EXTERNE PROGRAMME pr sentiert Ihnen ein weiteres variables Men in dem Sie Ihre unter OPTIONEN eingestellten Programmaufrufe wiederfinden Die Wahl eines dieser Men punkte bewirkt das Starten des darin benannten Programms nach Beendigung kehrt das Programm dann an diese Stelle zur ck 16 3 4 Die Einstellung im Men Optionen Ein gewisses Ma an individueller Konfiguration kann im Men OPTIONEN erreicht werden Zu dieser Konfiguration geh ren eine ausblendbare Uhr die Wahl der Bildschirmfarben die Wahl des Programmierger ts sowie ggf des Ports f r den GDS Prog und diverse Grundeinstellungen
55. nchronisation der Outputlevel nderung auf die n chste positive Flanke an dem zust ndigen CLOCK Pin Spezifikation siehe Kap 5 Diese Benutzung ist bei den GALs PALCEs 18V 10 22V 10 isp22V 10 26CV 12 und 20RA10 freigestellt bei 16V8 20V8 und 1626 mu f r der GAL als synchron durch die Deklarationen CLK an Pin 1 und OE an Pin 11 13 definiert sein Nur eine dieser Deklarationen generiert eine Warnungsmeldung der GAL bleibt im asynchronen Mode Im synchronen Mode sind und erlaubt 22 Die Benutzung der Invertierungszeichen bzw mu sorgf ltig geschehen da dies sowohl in der Pinliste als auch in den Logikgleichungen erlaubt ist Die Deklaration eines Pins mit dem Slash und die anschlie ende Benutzung als Input oder Outputpin ohne Slash hat dieselbe Bedeutung als umgekehrt Die Einkopplung in die Sicherungsmatrix bzw der Outputlevel ist im Vergleich zum Inputlevel invertiert Interessant wird nur die Frage wie ein solcher Output wieder in die Matrix r ckgekoppelt ist Hier ist Aufmerksamkeit geboten Ist die Deklaration des Outputpins mit Slash die Definition ohne dann ist der Outputlevel gegen ber dem Resultat aus den logischen Gleichungen invertiert Bei Benutzung dieses Pins als Input mit Slash durch R ckkopplung in die Matrix wird dieser Input nicht invertiert da Deklaration und Benutzung bereinstimmen und der Input hat denselben physikalischen Level als der Output Im umgekehrten Fall also bei D
56. nen Informationen f r die GAL22V10 Familie Fuse Adresse Funktion GAL18V10 0000 3455 AND array 3456 3475 S0 S1 Bits f r die Outputs 19 9 3476 3539 UES f r freie Benutzung GAL PALCE22V10 0000 5807 AND array 5808 5827 S0 S1 Bits f r die Outputs 23 14 5828 5891 UES f r freie Benutzung nicht PALCE22V 10 GAL26CV12 0000 6343 AND array 6344 6367 S0 S1 Bits f r die Outputs 27 15 6368 6431 UES f r freie Benutzung Tabelle 5 3 JEDEC Adressen f r die GAL PALCE22V 10 Familie 33 Fuse_number 36 productterm row address 19 0 4 8 12 NM aggres 28 32 Product Asynchronous RESET to all registers 00 AR 01 OE S0 3456 S1 3457 La 10 OE S0 3458 S1 3459 0018 ta 2 19 OE S0 3460 51 3461 oe ee 3 28 OE S0 3462 S1 3463 Soe l6 a 4 9 37 OE S0 3464 S1 3465 en 5 Abb 5 4a Gall8V 10 Fusemap Teil 1 34 Fuse_number 36 productterm row address Prod row address roduct 0 4 8 12 16 20 24 28 32 term E 48 2 S0 3466 S1 3467 ce 14 5 6
57. nks gescrollt sowie die erste verworfen werden Nicht vorbelegte Simulationszellen erhalten den Wert des Vorg ngers Jede Eingabe wird rechts von der Stelle im Fadenkreuz eingef gt bzw es wird die Stelle rechts davon berschrieben ndern Sie bereits simulierte Spalten so wird die Simulation mit den neuen Eingaben wiederholt Mauseingaben k nnen in analoger Weise die Simulation beeinflu en In der Statuszeile finden Sie zu diesem Zweck mehrere Vorbelegungen des Mauscursors dessen Zustand im Simulationsfenster rechts oben angezeigt wird in Abb 3 4 z B durch Maus Modus Setzt C Ein einfaches Anklicken mit dem Mauscursor einer Stelle im Simulationsfenster setzt dann an dieser Stelle den entsprechenden Zustand in diesem Fall sogar zwei low und high Die andere Methode per Maus ganze Eingabezeilen zu konfigurieren besteht in dem Anklicken einer Position mit Halten der linken Maustaste Fahren Sie nun nach rechts oder links so wird eine komplette Zeile mit Vorgaben belegt und zwar mit H falls sich die vertikale Position des Mauscursors oberhalb mit L falls unterhalb und mit X falls bereinstimmend mit der Startposition Nach Loslassen der linken Maustaste wird die Zeile bis zur neuen horizontalen Position mit der Vorgaben ausgef llt und die Simulationsspalten ggf bis dahin berechnet Die n chste Simulationsspalte erhalten Sie per Mausklick im freien Simulationsraum Nachdem nun die Grundz ge der Simulation erkl rt wor
58. nliegt ansonsten ist dieser im High Impedance Zustand kkkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkkxkxkxkkxkkxkxkkkxkxkxkxkkxkxkxkxkkkxkxkxkxkxkxkxkxkkxkkxkxkkkxkxkxkxkkxkxkxkxkkkxkxkkkkx xxk Die dritte Applikation besteht in einem monostabilen Flipflop vcc TI BAR Tan TRIG_FF MONO FF C RUECK FF HELP FF HELP FF TRIG FF RUECK FF MONO FF HELP FF Die Erklaerung der Schaltung Mit TRIG FF HIGH wird HELP FF auf LOW geschaltet Danach bleibt unabhaengig von TRIG FF HELP FF auf LOW Pegel bis der Kondensator soweit geladen ist dass an RUECK FF die Schwellspannung ueberschritten wird und der Pegel HIGH angenommen wird Ist nunmehr TRIG FF wiederum auf LOW so schaltet MONO FF in den LOW Pegel zurueck Di ingebaute Diod rmoeglicht dabei eine rasch Entladung des Kondensators HL ADD AD 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 Das letzte Beispiel dieses Sourcefiles stellt ein infache Variante des Schmitt Triggers dar SCHMITT_IN SCHMITT_OUT SCHMITT_OUT SCHMITT IN RI und R2 fungieren dabei als Spannungsteiler zwischen der Eingangsspannung an RI und der Ausgangsspannung an R2 96 B6 SIEBSEG GAL Dieses GAL Programm dient zum Betreiben einer inver
59. nter OPTIONEN vorgenommen Bei der Bedienung des GDS Prog werden Sie als Bediener interaktiv in den Programmierungsvorgang einbezogen Dies geschieht durch Meldungs und Quittierungsfenster mit denen Sie Aktionen wie Einsetzen des GALs als abgeschlossen mitteilen Abb 3 5 zeigt das Men PROGRAMM mit den Unterpunkten C TYP LESE GAL VERIFIZIERE GAL PROGRAMMIERE GAL L SCHE GAL SETZE SECURITY FUSE und EXTERNE PROGRAMME Die Bedeutung dieser Men punkte sollte im wesentlichen bereits aus ihrer Bezeichnung hervorgehen so da nur zwei Punkte n her erl utert werden m ssen Datei Bearbeiten Compiler Simulation Www Optionen Fenster D GAL_SOURNDTAC IC tup GALZZU1O D GAL_SOURNDTA Lese GAL Verifiziere GAL Programmiere GAL Losche GAL 11111111111111111111111111111111111 Setze Security Fuse L0924 11111111111111111111111111111111111 Externe Programme K L0968 11111111111111101111111111111111111 L1496 1111111111111111111111111111111111111 L1540 11111111111111111111111011111111111111111111 L2156 11111111111111111111111111111111111111111111 L2200 11111011111111111111111111111101111111110111 L2244 11110111011001110111111111111101111111110111 L2288 11010111101110110111101110111001101111110111 L2904 11111111111111111111111111111111111111111111 L2948 11111111111111111111110111111111111110111111 L2992 11111111111111111111111011111111111110111111 L3036 11111111111111111111111111101111111101111111 L3652 11111111111111111
60. pGAL Typen ispGAL22V 10 GDS14 GDS18 und GDS22 sowie die PALCEs 16V8 und 22V 10 implementiert Benutzen Sie als Programmierger t f r die GALs bitte den in mc 3 93 vorgestellten GDS Programmer mit den entsprechenden Adaptersockeln f r die GALs und PALCEs den neuen Programmer GDSProg2 sowie den hed chip f r die ispGALs das spezielle isp Kabel oder generell ein Programmierger t das JEDEC kompatible Dateien verarbeitet Die Verbindung zum Programmer wird via einem LPTx oder einem entsprechenden Parallel Port aufgenommen Die Basisadresse dieses Ports kann im Men OPTION eingestellt werden F r andere Programmierger te bietet GDS V3 5 Ihnen die M glichkeit bis zu 5 externe Programme aus der Bedienungsoberfl che heraus aufrufbar einzubinden Sollten Sie also GDS zusammen mit einem anderen Programmierger t benutzen wollen so m ssen Sie lediglich eine Software des jeweiligen Herstellers in der MS DOS Version zur Verf gung haben N here Informationen entnehmen Sie bitte dem Abschnitt 3 4 OPTION Das Standard Betriebssystem ist MS DOS Version 3 1 oder h her Netzwerkbetrieb ist grunds tzlich m glich Bitte beachten Sie da GDS als single user System konzipiert wurde und somit keine Schutzmechanismen bei gleichzeitigem Zugriff mehrerer Nutzer auf eine Sourcecodedatei bietet wie es bei Netzwerkbetrieb grunds tzlich vorkommen kann Der direkte Zugriff auf den Programmierport mu dem Programm gestattet werden Zum Netzwerk oder
61. pitel DETAILS ber GALs A005 Unbekannter Outputpin in Zeile Es wurde versucht einen nicht deklarierten Pin als Outputpin zu definieren A006 Kein Outputpin in Zeile Ein Pin der tats chlich in der Deklarationsliste vorhanden ist aber durch die GAL Architektur nicht als Outputpin benutzt werden kann sollte als solcher definiert werden A007 Zweifach definierter Outputpin in Zeile Es wurde versucht einen Outputpin zweimal zu definieren A008 Kombinatorischer Output vorgeschrieben in Zeile An dieser Stelle ist die Benutzung eines synchronen Register Outputs nicht m glich sondern es mu kombinatorisch definiert werden Die Ursachen k nnen in der Modus Wahl kombinatorisch GALs 16V 8 20V8 und 16Z8 oder darin liegen da z B interne Pins nur asynchron zu nutzen sind z B AR und SP in den GALs 18V 10 22V 10 und 26CV 12 Die GDS Bausteine lassen lediglich kombinatorische Ausgangszuweisungen zu 47 A009 Kein Tristate m glich in Zeile Ein sollte eine Tristate Bedingung f r einen Outputpin definiert werden wo dies nicht m glich ist Der Grund kann z B bei den GALs 16V8 20V8 und 16Z8 sein da f r synchrone Outputs die Tristate Kontrolle immer durch den Pin OE Pin 11 13 geschieht oder der SIMPLE MODE gew hlt wurde f r die Mitglieder der GAL22V 10 Familie gibt es weiterhin keine Tristate M glichkeiten f r interne Pins Gleiches gilt f r alle Ausg nge der GDS Bausteine A010 Keine OR Zeilen mehr verf gbar in Ze
62. ple Mode sichtbar Die Ausg nge des PALCE16V8 sind in diesem Mode immer in die Matrix r ckkoppelbar Diese Funktion ist bei GAL16V8 ICs nur in neueren Serien zu finden ltere k nnen dies nicht Aus diesem Grund werden diese R ckkopplungen beim Simple Mode den GAL16V8 betreffend auch mit einer Warnung versehen 5 2 Die GAL22V10 Familie Die zweite GAL Generation besteht aus den drei Mitgliedern der GAL PALCE22V 10 Familie den GALs 18V 10 22V 10 und 26CV 12 und dem PALCE22V 10 Alle vier GAL PALCE Typen sind in GDS V3 5 sowohl im Assembler als auch im Programmer GDSProg integriert Der Anspruch dieser Familie ist ein anderer als der der ersten Generation Zum GAL PALCE 22V 10 existiert ein exakter Vergleichstyp der PAL 22V 10 beide enthalten die gleiche Logikstruktur Diese zweite Generation bietet Ihnen eine erheblich erweiterte Programmierbarkeit zudem ist die interne Struktur sehr geradlinig Die Abb 5 4 5 5 und 5 6 bieten Ihnen die Fusemaps der GAL PALCEs 18V 10 22V 10 und 26CV12 im berblick F r jeden GAL stehen nunmehr 10 bzw 12 I O Pins sowie 8 12 bzw 14 dedizierte Inputpins zur Verf gung Jede OLMC kann als synchron oder asynchron definiert werden oder wie erw hnt als zus tzlicher Inputpin wobei Pin 1 zus tzlich und nicht alternativ die Doppelfunktion als Input und CLK Pin f r die synchronen Outputs beherbergt Ferner kennen diese GAL Typen keinen ausgezeichneten OE Input Tristate Bedingungen sind f r
63. r Operatoren berschreiben k nnen Die Klammerung von Ausdr cken innerhalb der Funktionszuweisung wird mit Hilfe von runden Klammern und vollzogen wobei die Anzahl der Klammern jeweils bereinstimmen mu Prinzipiell k nnen beliebig viele Klammern gesetzt werden die Limitation liegt im Speicherbedarf der Auswertungsroutine wobei die blichen Regeln der Algebra bei der Entklammerung zum Einsatz kommen Die Operatoren haben bei einer Entklammerung folgende Priorit tenreihenfolge e Die un re Invertierung eines Eingangs oder r ckgekoppelten Ausgangs steht an oberster Stelle e Die UND Verkn pfung hat die zweite Priorit t e Die ODER Verkniipfung nimmt die dritte Priorit t ein e Die abschlie ende Invertierung des Ausgangs steht an unterster Stelle Die Reihenfolge ergibt sich aus den Gegebenheiten der programmierbaren Logik da der Funktionsausdruck als Kanonisch Disjunktive Normalform oder Sum Of Products zusammengesetzt wird Erst Invertierung dann UND Verkn pfung zuletzt ODER Verkn pfung das Ergebnis wird dann ggf komplett invertiert und erscheint am zugewiesenen Ausgangspin Diese Form der Priorit tenreihenfolge ergibt dann letztlich die bekannte Regel Punkt vor Strichrechnung falls das UND mit dem das ODER mit dem dargestellt wird Die Benutzung von oder definiert den jeweiligen Outputpin als kombinatorisch oder asynchron bzw registered oder synchron synchron bedeutet hier die Sy
64. ron Mode SYN 1 definiert direkt den asynchronen Modus der GAL16V8 Familie nun stehen 10 bzw 14 dedizierte Inputpins ohne Einschr nkung zur Verf gung Im asynchronen Mode wird zwischen dem Simple Mode ACO 0 und dem Complex Mode ACO 1 unterschieden Die Ursachen hierf r liegen in dem Anspruch eine m glichst gro e Anzahl von GALs emulieren zu k nnen 29 GDS unterst tzt beide Modi indem ACO nicht automatisch von GDS gesetzt wird sondern der Anwender dieses Bit durch Wahl des Modes in den Men s OPTION grunds tzliche Voreinstellung COMPILE g ltig f r die Session oder im Sourcecode hinter der Festlegung des GAL Typs bestimmt Tabelle 5 1 gibt Ihnen einen berblick ber die verschiedenen Modi Mode Anzahl OR Terme Tristate Bed SYN ACO SIMPLE MODE 8 nein 1 COMPLEX MODE 7 ja 1 1 SYNCHR MODE 7 ja f r asynchr 0 1 8 OE f r synchron Tabelle 5 1 Modi der GAL PALCE16V8 Familie Abb 5 3d zeigt Ihnen die OLMC Konfiguration im Complex Mode Bitte beachten Sie da die u eren Zellen Pin 12 und 19 f r den GAL 16V8 16V8A Pin 15 und 22 f r 20V8 20V 8A keine Input Funktion bernehmen k nnen einschlie lich des Fehlens der R ckkopplung des Outputs Der Versuch wird bei GDS mit einer Fehlermeldung quittiert Die Tristate Bedingung kann durch eine explizite Formulierung in der Form lt pin gt TRST oder implizit als immer wahr gegeben werden Im zweiten Fall generiert GDS eine JEDEC Zeile mit lauter
65. rsmit einer Breite von 10 Bit Der Zaehlvorgang wird durch einem COUNT EN Eingang gesteuert der nur bei LOW ein Weiterzaehlen gestattet Ein LOW Zustand an RESET asynchron setzt alle Zaehlerbits auf 0 Diese 2 Version wird mit Klammerung ab GDS V3 5 beschrieben CHIP 41 2 64 2210 CLK NC RESET NC NC COUNT EN NC NC NC NC NC GND NC DO D2 D4 D6 D8 D9 D7 D5 D3 D1 VCC AR RESET Asynchroner Reset DO DO COUNT_EN DO COUNT_EN D1 D1 DO D1 DO COUNT_EN D1 COUNT EN D2 D2 D1 DO D2 D1 DO COUNT_EN 02 COUNT_EN D3 D3 D2 D1 DO D3 D2 D1 DO COUNT_EN D3 COUNT EN D4 D4 D3 D2 D1 DO D4 03 D2 D1 DO COUNT_EN 04 COUNT EN D5 D5 D4 D3 D2 D1 DO 05 04 D3 D2 D1 DO COUNT_EN 05 COUNT EN D6 D6 05 D4 D3 D2 D1 DO D6 05 D4 D3 D2 D1 DO COUNT_EN D6 COUNT_EN D7 D7 D6 D5 D4 D3 D2 D1 DO D7 06 D5 D4 D3 D2 D1 00 COUNT_EN D7 COUNT EN 08 D8 D7 D6 D5 D4 D3 D2 D1 DO D8 D7 D6 D5 D4 D3 D2 D1 00 COUNT_EN 08 COUNT EN 09 09 08 D7 D6 05 D4 D3 D2 D1 DO D9 D8 07 D6 D5 D4 03 D2 D1 00 COUNT_EN D9 COUNT EN 59 Anhang C berblick der Hotkeys und Editorkommandos 10 ALT D ALT B A
66. rstellungen sind insbesondere bei Buszyklusdarstellungen etc sehr n tzlich AUTO CLK schaltet eine automatische Generierung von Taktsignalen an Pin 1 ein standardm ig bzw aus Diese Funktion ist beim 20RA 10 nicht m glich da dieser GAL 14 keinen fest zugeordneten Takteingang besitzt F r alle anderen Bausteine ist es sehr bequem bei getakteten GALs die Taktgenerierung an Pin 1 automatisch vornehmen zu lassen was ansonsten per Hand einzeln nachgef hrt werden m te AUTO TEST VEKTOREN bestimmt ob die Simulationsergebnisse gleichzeitig als Testvektorenfile mitgeschrieben werden sollen oder nicht Standard Der Testvektorenfile kann mit geeigneten Programmierger ten zum direkten Test von GALs benutzt werden indem das Programmierger t an alle vorgesehenen Eingabepins die entsprechenden Pegel legt und die Ausgaben mit den vorberechneten in diesem Fall simulierten Werten vergleicht 3 3 Programmierung eines GALs Die Bedienung des Programmierger ts zum Brennen des GALs ist f r den GDSProg den GDSProg2 und des hed chip in GDS Version 3 5 fest integriert so da die Sequenz Editierung Assemblierung Simulation Programmierung ohne jeden Wechsel der Bedienungs umgebung durchlaufen werden kann Andere Programmierger te k nnen mit Hilfe einer Aufrufschnittstelle in GDS eingebunden werden Die Wahl eines Programmieranschlu ports f r den GDS Prog sowie die Vorgabe der Aufrufnamen einschlie lich notwendiger Parameter wird u
67. seien sie ausdr cklich oder stillschweigend miteingeschlossen gesetzlich vorgeschrieben oder im Rahmen gegenseitiger Mitteilungen gegeben Insbesondere ist eine stillschweigend miteingeschlossene Garantie durchschnittlicher Qualit t oder der Eignung f r einen bestimmten Zweck ausgeschlossen SH Elektronik gew hrleistet nicht da das Programm ohne Unterbrechungen oder Fehler abl uft Haftungsbeschr nkung Unter keinen Umst nden haftet SH Elektronik f r irgendwelche Sch den einschlie lich Datenverlust entgangenem Gewinn Deckungsbeitr gen oder anderen Neben Folge oder indirekten Sch den die sich aus der Benutzung des Programms oder der beiliegenden Dokumentation ergeben k nnen und zwar ungeachtet der Schadensursache oder der Grundlage des Haftungsanspruchs Diese Beschr nkung gilt sogar dann wenn SH Elektronik oder ein Vertragsh ndler auf die M glichkeit eines solchen Schadens hingewiesen worden sind Der K ufer best tigt da die Lizenzgeb hr dieses Risiko einschlie t Hinweise Alle Rechte vorbehalten Reproduktionen auch von Teilen dieses Manuals sind in jeglicher Form ohne die schriftliche Genehmigung von SH Elektronik untersagt Der Inhalt dieser Bedienungsanleitung kann ohne besondere Ank ndigung fortgeschrieben werden Das vorliegende Manual wurde sorgf ltig bearbeitet Sollten dennoch Fehler oder Inkonsistenzen auftreten bittet SH Elektronik um entsprechende Hinweise Trotz der sorgf lt
68. tellung an einen Spezialport dient der Nutzbarmachung von LPT Anschl ssen die nicht im BIOS bekannt sind aber eine vollst ndige Kompatibilit t zum LPT Standard besitzen Sie sollten diese Adresse mit Sorgfalt einstellen da seitens GDS nichts berpr ft werden kann somit also eine Einstellung auf eine nahezu beliebige Stelle mit un bersehbaren Gefahren vorliegen kann 18 Die Anwahl von Externe Programme gibt Ihnen Gelegenheit zur Eingabe von bis zu 5 Programmen die dann aus dem PROGRAMM Men heraus aufgerufen werden k nnen Sie k nnen Leertasten Parameter usw eintragen alle Eingaben werden im INI File zwischengespeichert Mit Abbruch bei bestimmen Sie den Fehlerlevel bei dem die Assemblierung zwar weitergef hrt schlie lich aber nicht zur Erzeugung des JEDEC Codes f hrt sondern in den Fehlereditormodus springt Eine 0 bedeutet hier da Fehler und Warnungsmeldungen zum Abbruch f hren eine 1 zeigt dies lediglich bei Fehlermeldungen an F r die GAL16V8 Familie mu zus tzlich der kombinatorische Modus bestimmt werden in dem der GAL betrieben werden soll Im Sourcecode kann dies durch die optionalen Schl sselw rter SIMPLE MODE und COMPLEX MODE geschehen wie in Kapitel 4 n her ausgef hrt und in Kapitel 5 in der inneren Struktur der GALs erkl rt wird Die grunds tzliche Einstellung eines Modus 16V8 kann an dieser Stelle im OPTIONEN Men vorgenommen werden Dies hat zur Folge da alle Sourcefiles die die GAL16V8
69. tiert angesteuerten 7 Segment Anzeige d h das jeweilige Segment leuchtet wenn der Relais kontakt ge ffnet ist Es erscheinen nacheinander die Ziffern 0 bis 9 gesteuert durch das Taktsignal vom Timer Der jeweils n chste Zustand wird aus dem vorherigen generiert Statemachine Segment Ziffer abcd efg a 0 0000001 1 1001111 f g b 2 0010010 3 0000110 e c 4 1001100 5 0100100 6 0100000 7 0001111 8 0000000 9 0000100 Die Zust nde der Ausg nge der einzelnen Ziffern werden zun chst als Makros definiert Dadurch wird der Programmtext bersichtlicher gleichzeitig wird Schreibarbeit eingespart Vor dem Assemblieren ist ein Precompiler Lauf erforderlich Dieser erzeugt eine Datei mit der Endung pre in der die Makros durch die wahren Gleichungen ersetzt wurden Diese Datei kann nun in das JEDEC Format bersetzt werden CHIP SIEBENSEG GALI16V8 COMPLEX MODE Makrodefinitionen define NULL a b c d e f g define EINS a b c d e f g define ZWEI a b c d e f g define DREI a b c d e f g define VIER a b c d e f g define F NF a b c d e f g define SECHS a b c d e f g define SIEBEN a b c d e f g define ACHT a b c d e f g define NEUN a b c d e f g CLK NC NC NC NC NC NC NC NC GND OE SOE g f e d c b a VCC a NULL a setzen im Anschlu an Zif
70. u Beginn vor dem CHIP Kommando m glich im eigentlichen Sourcecodeteil k nnen Kommentarbl cke auch durch entsprechend der C Syntax ber mehrere Zeilen eingeklammert werden 7 Eine pers nliche Kennung wird ber das Schl sselwort USER_ID lt 8 Zeichen max gt innerhalb des Definitionsblockes eingeben Diese Kennung wird in den GAL programmiert und hilft Ihnen bei einer sp teren Identifizierung 8 Bis auf eine strenge Einhaltung der Trennung innerhalb der Makrodefinitionen kann in GDS V3 5 auf eine Trennung zwischen Variablennamen und Operator durch lt SPACE gt oder lt TAB gt verzichtet werden Hinweis Zum besseren Verst ndnis schauen Sie sich bitte die Beispiele im ANHANG B an 24 Details ber GALs GDS Version 3 5 unterst tzt die Entwicklung von anwendungsspezifischen ICs auf vier GAL PALCE Familien Die GAL PALCE16V8 Familie die GAL PALCE22V 10 Familie die GAL20RA10 Familie und die GDS14 Familie Auf den folgenden Seiten soll versucht werden diese Familie und die einzelnen Typen 16V8 20V8 18V 10 22V 10 isp22V 10 26CV 12 20RA10 GDS14 GDS18 und GDS22 zu beschreiben Dies geschieht u a durch Darstellung der Fusemaps deren Kenntnis f r den engagierten Benutzer unumg nglich ist zwar gibt GDS bei Verletzung der Regeln Fehlermeldungen aus jedoch ist die genaue Kenntnis zur Vermeidung bzw Beseitigung eines Fehlers h ufig sehr n tzlich Zus tzliche Features der GALs wie z B die Speicherung ein
71. ung auf nicht kompatibler Hardware vornehmen 7 Datenfern bertragung dieser Software vornehmen Gew hrleistung SH Elektronik bietet eine Gew hrleistung f r eine Periode von neunzig Tagen beginnend mit dem Tag der Auslieferung dahingehend da die Disketten auf denen das Programm geliefert wird bei normalem Gebrauch in Bezug auf Material und Verarbei tung einwandfrei sind und da das Programm bei normalem Einsatz und ohne unauto risierte Modifikationen ohne ernsthafte Fehler die es unbrauchbar machen w rden abl uft Die Garantie unterliegt der Voraussetzung da das Programm unter Vorlage einer Quittungskopie an SH Elektronik oder an einen Vertragsh ndler zur ckgegeben wird Die Haftung von SH Elektronik sowie die dem K ufer zur Verf gung stehenden Rechtsmittel im Rahmen dieser Garantie beschr nken sich ausschlie lich darauf da SH Elektronik nach freiem Ermessen versuchen kann Fehler zu berichtigen bzw mit Ma nahmen die SH Elektronik zur Behebung des jeweiligen Problems geeignet erscheinen bei der Fehlerberichtigung behilflich zu sein oder das Programm oder einzelne Disketten durch funktionsm ig gleichartige Software oder Disketten zu ersetzen oder den Kaufpreis zu erstatten und diesen Vertrag zu beenden Alle ber die vorstehenden ausdr cklich aufgef hrten begrenzten Garantie bestimmungen und bedingungen hinausgehenden Gew hrleistungen seitens SH Elektronik oder Anspr che des K ufers sind ausgeschlossen
72. ung und geht in den asynchronen oder kombinatorischen Modus Zur Vermeidung deklarieren Sie bitte keinen oder beide Pins mit dem gew nschten Namen W002 Warnung Wort Marke zu lang f r korrekte Assemblierung Zeile Die nutzbare Wortl nge f r Pinnamen ohne eventuell f hrendes betr gt 14 f r Makro namen 19 Zeichen Diese Warnung macht auf die berschreitung aufmerksam wobei w hrend der Syntaxanalyse die maximal m gliche Anzahl der Zeichen als Identifizierer genutzt werden W003 Warnung Definitionen sind zu lang Zeile Der Inhalt einer Textmakrodefinition ist auf 127 Zeichen begrenzt die bezeichnete Makrodefinition berschreitet diese Grenze so da der weitere Teil fortgelassen werden mu te Diese Warnung sollte sehr ernstgenommen werden da hieraus ungewollte semantische Zusammenh nge geschaffen werden k nnen die keineswegs zu einem Syntaxfehler f hren m ssen W004 Warnung Zuviele Definitionen Zeile Die Anzahl der Makrodefinitionen ist in GDS 3 5 auf 20 beschr nkt Weitere Anweisungen mittels DEFINE m ssen ausgenommen die Redefinitionen die keinen neuen Makronamen sondern nur neuen Inhalt definieren ignoriert werden W005 Warnung Eventuell kein Feedback m glich Zeile In lteren GALs der 16V 8 Familie nicht bei PALCEs kann die R ckkopplung von Ausg ngen im Simple Mode ggf nicht m glich sein GDS V3 5 weist auf diesen Umstand hin der nicht weiter berpr ft werden kann aber im Betrieb s
Download Pdf Manuals
Related Search
Related Contents
Hampton Bay Y35046-163 Instructions / Assembly User`s Manual User Guide User Manual M7 pro Kingston Technology ValueRAM 4GB 1066MHz DDR3 ECC CL7 DIMM (Kit of 2) Copyright © All rights reserved.
Failed to retrieve file