i pakietu programowego PALASM 4
- 2 -! "# logicznych PAL i GAL; $!# #% programowego PALASM 4.!" & "!&' (! ))!*+ $!," # (!) )# )!*+ -!," # (!!*+.!,% %(!!*! #!, #+ $!&# 0+ -!,%##nazwa.pds# # % '# #'"# %#+ 4. Kompilacja; 1!, + 2!3# 0nazwa.jed; 4!&# #! Sprawozdanie,!, #+ $!5(!#' *+ -!5#(nazwa.pds wraz z segmentem symulacji);.!& (nazwa.trf); 5. Wnioski.
- 3 - $% ## PALASM Pakiet PALASM 4 jest przeznaczony do wspomagania programowania 6),768! #% % - mikrokomputer IBM PC XTAT lub kompatybilny; - co najmniej 512 KB RAM; - co najmniej 10 MB wolnej przestrzeni na dysku twardym; - system operacyjny DOS 3.0 lub nowszy. W sk ' # "% # 9# # %# %) ' # ) # #! 3 # ) " ' # # 66,7) "% # #")# # #! :! pakietem. Znaczenie poszczególnych plików przedstawionych na rysunku jest '! Przygotowanie pliku *#.pds Kompilacja.jed Symulacja palasm.log.xpt.jdc PROGRAMATOR palasm.log.xpt.trf &' $%# (() # 66,7 ' ) # % " #! 5 "# " ' '# ' ;! % "% ) ' <!= " " # DOCUMENTATION. Szczególnie przydatna w codziennej pracy z programem jest opcja DOCUMENTATIONLanguage reference)%'%!
- 4 - ' # ' < %)" %#! % # 66,7 " #!," # FILESet up...) % ' (Working environment), kompilacji (Compilation options), symulacji (Simulation options) i syntezy logicznej (Logic synthesis options*!>" "'% 'F1. Po skonfigurowaniu program jest gotowy do pracy. +' # *#?' # ) ' FILEChange directory ) " ) FILERetrieve existing design!) " (' F2' " *) pliku. W celu akceptacji podanych parametrów naciskamy klawisz F10! : " EDITText file) # FILESet up... edytora tekstów. (Menu edytora ED, dostarczanego z pakietem 66,7 'Esc!*&' 66,7!?" " # ) FILEBegin new design!) '! zaakceptowaniu podanych parametrów klawiszem F10 ' #!3% Title - nazwa przygotowywanego projektu. Pattern@ ' %##! Revision@ ' #! Author, Company@%#! Date @ "! 3' # ) "! Chipname @! # ' %## %'! Device@) #!! &' % % (A B:0*! & % : : % (% ' F2), % " '! naciskamy klawisz F10, co powoduje zapisanie przygotowanego zbioru w katalogu ')#!'! 3. Kompilacja i symulacja programu # 9# " #!," # RUN, której wybór powoduje # )%#Compilation, Simulation, Both oraz Other operations.
- 5 - Wybór opcji RUNCompilation '# opcji FILERetrieve existing design!?' FILESet up...working environmentprovide compile options on each run C (*) % '!' F10!?' nazwa.pds) # % nazwa.jed("%# * oraz nazwa.xpt ( % *! " % # ) # ' opcji FILESet up...compilation optionslog file name ( ' palasm.log*!?' % ") 'D "' klawisza F3!") "! Wybór opcji RUNSimulation )# ' FILERetrieve existing design!?'fileset up...working environmentprovide simulation options on each run C (*) % ' % ( )"# *!?'' ) ) % utworzone zbiory nazwa.jed oraz nazwa.xpt! # % nazwa.trf ( % # ' % EF6<*) nazwa.hst ( % # *) ) ) % ( ) *!'nazwa.jed, to jest tworzony zbiór nazwa.jdc, % nazwa.jed # %! # # " ' #!?' %") ")! Wybór opcji RUNBoth spowoduje jednoczesne wykonanie kompilacji i symulacji wybranego zbioru. Wybór opcji RUNOther operations ' # ) # # Disassemble from...jedec. Powoduje ona utworzenie zbioru nazwa.pl2)%#) "# ' ( # '0% *!,' #- % & # 66,7(' " % # ) #" % *! & " % VIEW! ) # %% Execution log file Wybranie tej opcji powoduje wyprowadzenie ' ) # ' FILESet up...compilation optionslog file name.
- 6 - Design file & ' 9#nazwa.pds. ReportsFuse map & ' nazwa.xpt. Jedec datafuse data only & ' nazwa.jed. Jedec datavector + fuse data Wybranie tej opcj ' nazwa.jdc. Simulation datahistory & ' nazwa.hst. Simulation datatrace & ' zbioru nazwa.trf. Waveform displayhistory & ' nazwa.hst w postaci graficznej (przebiegi czasowe). Waveform displaytrace & 'zbioru nazwa.trc w postaci graficznej (przebiegi czasowe). Current disassembled file & ' *.pl2, a po ##'! Pinout Wybranie tej opcj ' 9! %:!.' % # # nazwa.jed lub nazwa.jdc "# # 66,7!,"# DOWNLOADGo! # # % F,@$-$ ' FILESet up...working environmentrs-232 communication program! 0 ' program PC2.EXE, dostarczany wraz z pakietem PALASM. 6. Uzyskiwanie informacji pomocniczych & "% DOCUMENTATION ##! Opcja DOCUMENTATIONIndeks of topics ' % GG # ( # ) ) #!*! %# # ' ' ekranie.
- 7 - Opcja DOCUMENTATIONLanguage reference! Opcja DOCUMENTATIONHelp on errors " "D! & ) %# # ) % # " ' #! 0 Next message oraz Prev message "! Uwaga: ) " iarygodna. #% % # '! 0# " # 9#! ' % # 0 (() # 66,7)%%) ' @') @'%''%) @'! 0" # 9#! 0" %- "" - " D#! Równania logiczne,# % # # <H6E=5:,) D!5## EQUATIONS... &" " "#' ) I(6:0*)J(5F*)J(K5F*I(K:5F*!:# # # L! & ' '# "%#! EQUATIONS WY1 = WE1 * WE3 WY2 = (WE2 + WE3) & ' # ' &< ) &<$ &<-) # ' &C &C$! & # &C #&< &<-)#&C$#% # &<$ ###&<-!
- 8-3 % D # " %! 0 " %D " " instrukcjami warunkowymi IF-THEN-ELSE oraz CASE. IF-THEN-ELSE: = =;@E8<:@<,< " ' "'#!,% IF (warunek) THEN BEGIN równania1 ELSE BEGIN równania2 & "' % (# *$(#*! IF (A, B = #b11) THEN BEGIN WY = C + D ELSE BEGIN WY = C * D?' # 6 > % ) ' &C % # 0! & ' &C %###0! CASE: =6,<#D"' #'%!,% BEGIN!"# $!"# $... OTHERWISE : BEGIN
- 9 - & "' #) % ' % # %) " # '!?' # % % ' %% ' ') "%5E8<F&=,<! CASE (A, D) BEGIN 1 : BEGIN C = B * E 3 : BEGIN C = B + E OTHERWISE : BEGIN C = 0?' 6 M N 0 M ) ' % #><!?'6M 0MN) '% #>## <!?' # 6 0 % % % ') wówczas linia C zostanie wyzerowana. ' # ' % %?''%# % ) ' %!?" "## "# )' %! WY1 = WE1 * WE2 WY2 = WE1 :+: WE2?'# '&C &C$) '&C %)'&C$ %!,% # " " % ('#)'!*!0 # # ) %!! 5 ' " przyrostki:!o;@#%#'!!f0@!.rstf - linia zerowania przerzutnika..setf - linia ustawiania przerzutnika.!ef,e@' (*!
- 10 - WY1.CLKF = WE1 * WE2 &'#%#' &C '&< &<$! WY1.RSTF = WE1 * WE2 &' % %# ' &C '&< #&<$! WY1.TRST = WE1 &''&C # ' &<! Procedury automatowe,# % #,E6E<) ' (755F< 768=:< 7<6C 768=:<*! ' " ' rozkaz: START UP := POWER UP -> stan1 + warunek -> stan2 F ) " % stanie stan1 (stan1%*)# - w stanie stan2. START UP := POWER UP -> WAIT + RESET -> WAIT & %F<,<E &6=E! O% ' % '! 7% %% % &' + warunek2 -> stan2... +-> stan n?' % i zajdzie warunek1, to w stan1!?'warunek2, to w stan2)!?' " ) stan n. Warunki )! & " #!?' " #) " ' 5:0=E=5:, ( *)"#! STAN1 := COND1 -> STAN2 + COND2 -> STAN3 +-> STAN1
- 11 -?' STAN1)COND1 przejdzie do stanu STAN2)COND2 przejdzie do stanu STAN3, #")STAN1. ' ' ' '"#!& 755F<P6'"% "%#!,D'% ()*+, STAN1.OUTF = WY1 * WY2 STAN2.OUTF = WY1 * WY2 STAN3.OUTF = WY1 * WY2 W stanie STAN1' WY1 i WY2 %!&STAN2' WY1)'WY2 - aktywne. W stanie STAN3'% nieaktywne. & 7<6CP<B5 ' "% ' '!,D'% ()*+,&' -$&' $... -&' STAN1.OUTF = COND1 -> WY1 * WY2 + COND2 -> WY1 * WY2 +-> WY1 * WY2 STAN2.OUTF =-> WY1 * WY2 W stanie STAN1COND1'%) 'COND2'WY1)'WY2 aktywne, "#'%!& STAN2'WY1)'WY2 nieaktywne. O% '% (%* % "!%% " # '! : "%#! % % stan = bity stanu Przyklad: STAN1 = ST2 * ST1 * ST0 STAN2 = ST2 * ST1 * ST0
- 12 - Stan STAN N (NNN*) STAN2 numer 2 (010b)., # " % %! 5% '% # # " '!'5:0=E=5:,) warunków: CONDITIONS $$... CONDITIONS COND1 = WE1 * WE2 * WE3 COND2 = WE1 * WE2 * WE3 " ' %%#"! 0" # - % " D#!E tylko pierwszy przypadek.,#,=76e=5:! % % EF6<Q5:! = ') # % ' #%! TRACE ON CLK WE1 WE2 WE3 WY1 WY2 ST1 ST2 ST3 ='##! & " # ' # '! 0 # %!5',<E;@#'! SETF WE1 WE2 WE3 'WE1 i WE3)WE2 w stan nieaktywny. 5O;@# %#! CLOCKF CLK Polecenie powoduje wygenerowanie na linii CLK %# ( binarnej 010).
- 13-8<O @ ) # # ' przewidywane stany. CHECK WY1 WY2 WY3 ^WY4 %WY5 Polecenie sprawdza, czy linie WY1 i WY2 % ) WY3 jest w stanie nieaktywnym (prefiks ) oraz czy linia WY4 jest w stanie wysokiej impedancji (prefiks ^). Stan linii WY5 "(R*!?'#% ) % # (S*! F<560@'"'! PRELOAD STAN1 WY1 WY2 Polecenie wprowadza automat w stan STAN1(%* 'WY1)'WY2 w stan nieaktywny. EF6<5;;@D#! &# """# ) ;5F@E5@05!,% FOR zmienna := start TO koniec DO BEGIN instrukcje Instrukcja ta powoduje powtórzenie sekwencji instrukcji dla wart' % 'start ' koniec z krokiem 1. Zmienna % % " " programu. FOR x := 1 TO 10 DO BEGIN CLOCKF CLK Sekwencja po" # %#O!
- 14 - ;PALASM Design Description ;---------------------------------- Declaration Segment ------------ TITLE TUTOR1.PDS PATTERN A REVISION 1.0 AUTHOR J.ENGINEER COMPANY ADVANCED MICRO DEVICES DATE 010190 CHIP DECODER PAL16L8 ;---------------------------------- PIN Declarations --------------- PIN 2 X COMBINATORIAL ; INPUT PIN 3 Y COMBINATORIAL ; INPUT PIN 4 Z COMBINATORIAL ; INPUT PIN 10 GND ; INPUT PIN 12 A COMBINATORIAL ; OUTPUT PIN 13 B COMBINATORIAL ; OUTPUT PIN 14 C COMBINATORIAL ; OUTPUT PIN 15 D COMBINATORIAL ; OUTPUT PIN 16 E COMBINATORIAL ; OUTPUT PIN 17 F COMBINATORIAL ; OUTPUT PIN 18 G COMBINATORIAL ; OUTPUT PIN 19 H COMBINATORIAL ; OUTPUT PIN 20 VCC ; INPUT ;----------------------------------- Boolean Equation Segment ------ EQUATIONS A = X * Y * Z B = X * Y * Z C = X * Y * Z D = X * Y * Z E = X * Y * Z F = X * Y * Z G = X * Y * Z H = X * Y * Z ;----------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON X Y Z A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H SETF X Y Z CHECK A B C D E F G H TRACE_OFF
- 15 - ;PALASM Design Description ;---------------------------------- Declaration Segment ------------ TITLE TUTOR2.PDS PATTERN A REVISION 2.0 AUTHOR J.ENGINEER COMPANY ADVANCED MICRO DEVICES DATE 010190 CHIP DECODER PAL16R8 ;---------------------------------- PIN Declarations --------------- PIN 1 CLK COMBINATORIAL ; INPUT PIN 2 X COMBINATORIAL ; INPUT PIN 3 Y COMBINATORIAL ; INPUT PIN 4 Z COMBINATORIAL ; INPUT PIN 10 GND ; INPUT PIN 11 OE COMBINATORIAL ; INPUT PIN 12 A COMBINATORIAL ; OUTPUT PIN 13 B COMBINATORIAL ; OUTPUT PIN 14 C COMBINATORIAL ; OUTPUT PIN 15 D COMBINATORIAL ; OUTPUT PIN 16 E COMBINATORIAL ; OUTPUT PIN 17 F COMBINATORIAL ; OUTPUT PIN 18 G COMBINATORIAL ; OUTPUT PIN 19 H COMBINATORIAL ; OUTPUT PIN 20 VCC ; INPUT ;----------------------------------- Boolean Equation Segment ------ EQUATIONS A = X * Y * Z B = X * Y * Z C = X * Y * Z D = X * Y * Z E = X * Y * Z F = X * Y * Z G = X * Y * Z H = X * Y * Z ;----------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON X Y Z A B C D E F G H SETF OE SETF X Y Z CLOCKF CLK CHECK A B C D E F G H SETF X Y Z CLOCKF CLK CHECK A B C D E F G H SETF X Y Z CLOCKF CLK CHECK A B C D E F G H SETF X Y Z CLOCKF CLK CHECK A B C D E F G H ; ---- itd. --- TRACE_OFF
- 16 - ;PALASM Design Description ;---------------------------------- Declaration Segment ------------ TITLE RMOORE.PDS PATTERN A REVISION 1.0 AUTHOR FRANK J. LACOMBE COMPANY KNOWLEDGE TREE SYSTEMS for AMD DATE 030190 CHIP REG_MOORE PAL22V10 ;---------------------------------- PIN Declarations --------------- PIN 1 CLOCK COMBINATORIAL ; INPUT PIN 2 INA COMBINATORIAL ; INPUT PIN 12 GND PIN 14 OUT1 REGISTERED ; OUTPUT PIN 15 OUT2 REGISTERED ; OUTPUT PIN 16 BITA REGISTERED ; OUTPUT PIN 17 BITB REGISTERED ; OUTPUT PIN 24 VCC ;-----------------------------------State Segment ------------------ STATE MOORE_MACHINE START_UP := POWER_UP -> STATE0 STATE0 = BITA * BITB STATE1 = BITA * BITB STATE2 = BITA * BITB STATE3 = BITA * BITB ;TRANSITION EQUATIONS------------------ STATE0 := GO -> STATE1 +-> STATE2 STATE1 := GO -> STATE2 +-> STATE3 STATE2 := GO -> STATE3 +-> STATE0 STATE3 := GO -> STATE0 +-> STATE1 ;OUTPUT EQUATIONS---------------------- STATE0.OUTF = OUT1 * OUT2 STATE1.OUTF = OUT1 * OUT2 STATE2.OUTF = OUT1 * OUT2 STATE3.OUTF = OUT1 * OUT2 CONDITIONS GO = INA ;----------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON CLK INA BITA BITB OUT1 OUT2 SETF INA SETF INA TRACE_OFF ;NOTE NEW START-UP STATE
- 17 - ;PALASM Design Description ;---------------------------------- Declaration Segment ------------ TITLE RMEALY.PDS PATTERN A REVISION 1.0 AUTHOR FRANK J. LACOMBE COMPANY KNOWLEDGE TREE SYSTEMS for AMD DATE 030190 CHIP REG_MEALY PAL22V10 ;---------------------------------- PIN Declarations --------------- PIN 1 CLOCK COMBINATORIAL ; INPUT PIN 2 INA COMBINATORIAL ; INPUT PIN 12 GND PIN 14 OUT1 REGISTERED ; OUTPUT PIN 15 OUT2 REGISTERED ; OUTPUT PIN 16 BITA REGISTERED ; OUTPUT PIN 17 BITB REGISTERED ; OUTPUT PIN 24 VCC ;-----------------------------------State Segment ------------------ STATE MEALY_MACHINE START_UP := POWER_UP -> STATE0 ;NOTE NEW START-UP STATE START_UP.OUTF :=VCC->OUT1 * OUT2 STATE0 = BITA * BITB STATE1 = BITA * BITB STATE2 = BITA * BITB STATE3 = BITA * BITB ;TRANSITION EQUATIONS------------------ STATE0 := GO -> STATE1 +-> STATE2 STATE1 := GO -> STATE2 +-> STATE3 STATE2 := GO -> STATE3 +-> STATE0 STATE3 := GO -> STATE0 +-> STATE1 ;OUTPUT EQUATIONS---------------------- STATE0.OUTF = GO -> OUT1 * OUT2 +-> OUT1 * OUT2 STATE1.OUTF = GO -> OUT1 * OUT2 +-> OUT1 * OUT2 STATE2.OUTF = GO -> OUT1 * OUT2 +-> OUT1 * OUT2 STATE3.OUTF = GO -> OUT1 * OUT2 +-> OUT1 * OUT2 CONDITIONS GO = INA ;----------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON CLK INA BITA BITB OUT1 OUT2 SETF INA SETF INA TRACE_OFF
- 18 - ) PALCE22V10 Schemat logiczny makrokomórki 1 ( 2++3&4
- 19 - ) # ( 2++3&4
- 20 - ) # (&56
- 21 - ) # (&516
- 22 - ) # ( 2+41(&4 ( 2+41(&4