; PG.BOOL.mtx
; De frequentiekiezer voor de PulsGenerator
;
; Dit bestand dient eerst behandeld te worden door m4
; zó: m4 -P < PG.BOOL.m4 | grep -v ";" | grep -v '^$' > PG.BOOL
; Of, in één ruk:
; m4 -P < PG.BOOL.m4 | grep -v ";" | grep -v '^$' | eq2mtx > PG.mtx
; Programmeren: mtx2gal PG.mtx
;
; m4-defines:
;
m4_define(`ADR0', `/PA2 * /PA1 * /PA0')
m4_define(`ADR1', `/PA2 * /PA1 * PA0')
m4_define(`ADR2', `/PA2 * PA1 * /PA0')
m4_define(`ADR3', `/PA2 * PA1 * PA0')
m4_define(`ADR4', ` PA2 * /PA1 * /PA0')
m4_define(`ADR5', ` PA2 * /PA1 * PA0')
m4_define(`ADR6', ` PA2 * PA1 * /PA0')
m4_define(`ADR7', ` PA2 * PA1 * PA0')
;
GAL16V8
IDNT PG.GAL
bestemming PulsGenerator
datum 16-04-09
SYN 1
AC0 1
!
PA0 Vcc
PA1 NC1
OC1B NC2
OC1A VAR1
PB2 NC3
PB1 TTL
CLK2 NC4
PLS1 VAR2
CLK1 NC5
GND PA2
; VAR1 levert een signaal met instelbare puls/pauze-verhouding
; CLK@ = 1/2 CLK1
@ VAR1 AC1 1 ADR0 * OC1B
+ ADR1 * PB2
+ ADR2 * CLK1
+ ADR3 * /CLK1
+ ADR4 * CLK1 * CLK2
+ ADR5 * CLK1
+ ADR5 * CLK2
; VAR2 levert een signaal met een puls/pauze-verhouding van 1/1
@ VAR2 AC1 1 ADR0 * OC1A
+ ADR1 * PB1
+ ADR2 * CLK1
+ ADR3 * CLK1
+ ADR4 * CLK2
+ ADR5 * CLK2
; TTL levert hetzelfde signaal als VAR1, het moet wel geïnverteerd worden!!!
@ /TTL AC1 1 ADR0 * OC1B
+ ADR1 * PB2
+ ADR2 * CLK1
+ ADR3 * /CLK1
+ ADR4 * CLK1 * CLK2
+ ADR5 * CLK1
+ ADR5 * CLK2
#