PAL16R4 PAL DESIGN SPECIFICATION P7022 BIRKNER/COLI 07/22/81 4-BIT COUNTER WITH 2 INPUT MUX MMI SUNNYVALE, CALIFORNIA CLK A0 A1 A2 A3 B0 B1 B2 B3 GND /OC CO I1 Q3 Q2 Q1 Q0 I0 CI VCC /Q0 := /I1*/I0*/Q0 ;HOLD Q0 (LSB) + /I1* I0*/A0 ;LOAD A0 + I1*/I0*/B0 ;LOAD B0 + I1* I0*/CI*/Q0 ;HOLD Q0 IF NO CARRY IN + I1* I0* CI* Q0 ;COUNT IF CARRY IN AND Q0=H /Q1 := /I1*/I0*/Q1 ;HOLD Q1 + /I1* I0*/A1 ;LOAD A1 + I1*/I0*/B1 ;LOAD B1 + I1* I0*/CI*/Q1 ;HOLD Q1 IF NO CARRY IN + I1* I0*/Q0*/Q1 ;HOLD Q1 IF Q0=L + I1* I0* CI* Q0* Q1 ;COUNT IF CARRY IN AND Q0,Q1=H /Q2 := /I1*/I0*/Q2 ;HOLD Q2 + /I1* I0*/A2 ;LOAD A2 + I1*/I0*/B2 ;LOAD B2 + I1* I0*/CI*/Q2 ;HOLD Q2 IF NO CARRY IN + I1* I0*/Q0*/Q2 ;HOLD Q2 IF Q0=L + I1* I0*/Q1*/Q2 ;HOLD Q2 IF Q1=L + I1* I0* CI* Q0* Q1* Q2 ;COUNT IF CARRY IN AND Q0,Q1,Q2=H /Q3 := /I1*/I0*/Q3 ;HOLD Q3 (MSB) + /I1* I0*/A3 ;LOAD A3 + I1*/I0*/B3 ;LOAD B3 + I1* I0*/CI*/Q3 ;HOLD Q3 IF NO CARRY IN + I1* I0*/Q0*/Q3 ;HOLD Q3 IF Q0=L + I1* I0*/Q1*/Q3 ;HOLD Q3 IF Q1=L + I1* I0*/Q2*/Q3 ;HOLD Q3 IF Q2=L + I1* I0* CI* Q0* Q1* Q2* Q3 ;COUNT IF CARRY IN AND Q0,Q1,Q2,Q3=H IF(VCC) /CO = /CI+/Q0+/Q1+/Q2+/Q3 ;CARRY OUT IF CARRY IN AND Q0,Q1,Q2,Q3=H FUNCTION TABLE CLK /OC I1 I0 A3 A2 A1 A0 B3 B2 B1 B0 CI CO Q3 Q2 Q1 Q0 ; --INPUTS-- OUTPUT ;CONTROL INSTR AAAA BBBB CARRY QQQQ COMMENTS ;CLK /OC I1 I0 3210 3210 CI CO 3210 (HEX VALUES) ----------------------------------------------------------------------- C L L H LLLL HHHH X X LLLL LOAD A (0) C L H L LLLL HHHH X X HHHH LOAD B (F) C L L H LLLH LHHH X X LLLH LOAD A (1) C L H L LLLH LHHH X X LHHH LOAD B (7) C L L H LLHL HLHH X X LLHL LOAD A (3) C L H L LLHL HLHH X X HLHH LOAD B (B) C L L H LHLL HHLH X X LHLL LOAD A (4) C L H L LHLL HHLH X X HHLH LOAD B (D) C L L H HLLL HHHL X X HLLL LOAD A (8) C L H L HLLL HHHL X X HHHL LOAD B (E) C L L H LLLL HHHH X X LLLL LOAD A (0) C L H L LLLL HHHH X X HHHH LOAD B (F) C L H L XXXX LLLH X X LLLH LOAD B (1) C L H H XXXX XXXX H L LLHL INCREMENT C L H L XXXX LLHH X X LLHH LOAD B (3) C L H H XXXX XXXX H L LHLL INCREMENT C L L H LHHH XXXX X X LHHH LOAD A (7) C L H H XXXX XXXX H L HLLL INCREMENT C L L H HHHH XXXX X X HHHH LOAD A (F) C L H H XXXX XXXX H L LLLL INCREMENT (ROLL OVER) C L H L XXXX HHLL X X HHLL LOAD B (C) C L H H XXXX XXXX H L HHLH INCREMENT (D) C L L L XXXX XXXX H L HHLH HOLD (D) C L H H XXXX XXXX H L HHHL INCREMENT (E) C L H H XXXX XXXX H H HHHH INCREMENT (F) (CARRY OUT) C L H H XXXX XXXX H L LLLL INCREMENT (0) (ROLL OVER) C L H H XXXX XXXX H L LLLH INCREMENT (1) C L H H XXXX XXXX L L LLLH HOLD (NO CARRY IN) C L H H XXXX XXXX H L LLHL INCREMENT (2) X H X X XXXX XXXX X X ZZZZ TEST HI-Z ----------------------------------------------------------------------- DESCRIPTION THE 4-BIT COUNTER LOADS A OR B FROM THE MUX, INCREMENTS, OR HOLDS ON THE RISING EDGE OF THE CLOCK. /OC CLK I1 I0 CI A3-A0 B3-B0 Q3-Q0 OPERATION ------------------------------------------------------ H X X X X X X Z HI-Z L C L L X X X Q HOLD L C L H X A X A LOAD A L C H L X X B B LOAD B L C H H L X X Q HOLD L C H H H X X Q PLUS 1 INCREMENT ------------------------------------------------------