PAL20X10 PAL DESIGN SPECIFICATION P7084 VINCENT COLI 04/30/82 9-BIT COUNTER WITH TERMINAL COUNT LOCK MMI SUNNYVALE, CALIFORNIA CLK D0 D1 D2 D3 D4 D5 D6 D7 D8 /LD GND /OC /CO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 VCC /Q0 := LD*/D0 ;LOAD D0 (LSB) + /LD*/Q0 ;HOLD COUNT :+: /LD*/CO ;COUNT /Q1 := LD*/D1 ;LOAD D1 + /LD*/Q1 ;HOLD COUNT :+: /LD* Q0*/CO ;COUNT /Q2 := LD*/D2 ;LOAD D2 + /LD*/Q2 ;HOLD COUNT :+: /LD* Q0* Q1*/CO ;COUNT /Q3 := LD*/D3 ;LOAD D3 + /LD*/Q3 ;HOLD COUNT :+: /LD* Q0* Q1* Q2*/CO ;COUNT /Q4 := LD*/D4 ;LOAD D4 + /LD*/Q4 ;HOLD COUNT :+: /LD* Q0* Q1* Q2* Q3*/CO ;COUNT /Q5 := LD*/D5 ;LOAD D5 + /LD*/Q5 ;HOLD COUNT :+: /LD* Q0* Q1* Q2* Q3* Q4*/CO ;COUNT /Q6 := LD*/D6 ;LOAD D6 + /LD*/Q6 ;HOLD COUNT :+: /LD* Q0* Q1* Q2* Q3* Q4* Q5*/CO ;COUNT /Q7 := LD*/D7 ;LOAD D7 + /LD*/Q7 ;HOLD COUNT :+: /LD* Q0* Q1* Q2* Q3* Q4* Q5* Q6*/CO ;COUNT /Q8 := LD*/D8 ;LOAD D8 (MSB) + /LD*/Q8 ;HOLD COUNT :+: /LD* Q0* Q1* Q2* Q3* Q4* Q5* Q6* Q7*/CO ;COUNT CO := /LD* CO ;LOCK CARRY OUT + /LD*/Q0* Q1* Q2* Q3* Q4* Q5* Q6* Q7* Q8 ;CARRY OUT (ANTICIPATE COUNT) :+: LD* D0* D1* D2* D3* D4* D5* D6* D7* D8 ;CARRY OUT (ANTICIPATE LOAD) FUNCTION TABLE CLK /OC /LD D8 D7 D6 D5 D4 D3 D2 D1 D0 /CO Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 ; DATA IN DATA OUT ; CONTROL DDDDDDDDD QQQQQQQQQ ;CLK /OC /LD 876543210 /CO 876543210 COMMENT ------------------------------------------------------------------- C L L LLLLLLLLL H LLLLLLLLL LOAD C L H XXXXXXXXX H LLLLLLLLH INCREMENT C L L LLLLLLLLH H LLLLLLLLH LOAD C L H XXXXXXXXX H LLLLLLLHL INCREMENT C L L LLLLLLLHH H LLLLLLLHH LOAD C L H XXXXXXXXX H LLLLLLHLL INCREMENT C L L LLLLLLHHH H LLLLLLHHH LOAD C L H XXXXXXXXX H LLLLLHLLL INCREMENT C L L LLLLLHHHH H LLLLLHHHH LOAD C L H XXXXXXXXX H LLLLHLLLL INCREMENT C L L LLLLHHHHH H LLLLHHHHH LOAD C L H XXXXXXXXX H LLLHLLLLL INCREMENT C L L LLLHHHHHH H LLLHHHHHH LOAD C L H XXXXXXXXX H LLHLLLLLL INCREMENT C L L LLHHHHHHH H LLHHHHHHH LOAD C L H XXXXXXXXX H LHLLLLLLL INCREMENT C L L LHHHHHHHH H LHHHHHHHH LOAD C L H XXXXXXXXX H HLLLLLLLL INCREMENT C L L HHHHHHHHH L HHHHHHHHH LOAD (CARRY OUT) C L H XXXXXXXXX L HHHHHHHHH INCREMENT (LOCK COUNT) C L L HHHHHHHLL H HHHHHHHLL LOAD C L H XXXXXXXXX H HHHHHHHLH INCREMENT L L H XXXXXXXXX H HHHHHHHLH HOLD C L H XXXXXXXXX H HHHHHHHHL INCREMENT C L H XXXXXXXXX L HHHHHHHHH INCREMENT (CARRY OUT) C L H XXXXXXXXX L HHHHHHHHH INCREMENT (LOCK COUNT) X H X XXXXXXXXX Z ZZZZZZZZZ TEST HI-Z ------------------------------------------------------------------- DESCRIPTION THE 9-BIT COUNTER HAS INCREMENT, LOAD, AND HOLD CAPABILITIES. DATA (D) IS LOADED INTO THE OUTPUT REGISTER (Q) WHEN THE LOAD LINE IS TRUE (/LD=L) AND A POSITIVE EDGE PULSE IS RECEIVED ON THE CLOCK PIN (CLK). THE COUNTER WILL INCREMENT IF A CLOCK PULSE IS RECEIVED WITH THE LOAD LINE BEING FALSE (/LD=H). THE COUNTER WILL LOCK AT THE TERMINAL COUNT REGARDLESS OF CLOCK PULSES UNTIL DATA IS LOADED INTO THE REGISTER. THE OPERATION IS A HOLD IF NO CLOCK PULSE IS RECEIVED REGARDLESS OF ANY OTHER INPUTS. THE CARRY OUT PIN (/CO) SHOWS HOW TO IMPLEMENT A CARRY OUT USING A REGISTER BY ANTICIPATED ONE COUNT BEFORE THE TERMINAL COUNT IF COUNTING AND THE TERMINAL COUNT IF LOADING. ALSO THE REGISTERED CARRY OUT WILL REMEMBER THE TERMINAL COUNT STATE IN ORDER TO DISABLE THE COUNTER AT THE TERMINAL COUNT. OPERATIONS TABLE: /OC CLK /LD D8-D0 Q8-Q0 OPERATION ---------------------------------------------- H X X X Z HI-Z L L X X Q HOLD L C L D D LOAD D L C H X Q PLUS 1 COUNT UP ----------------------------------------------