home *** CD-ROM | disk | FTP | other *** search
- Title 10Bit_Counter
- Pattern 10count.pds
- Revision A
- Author Mehrnaz Hada
- Company Monolithic Memories Inc. Santa Clara, CA
- Date 1/15/85
-
- ;The 10-bit counter increments on the rising edge of the
- ;clock input (CLK), if CNT input is high. The outputs are
- ;HIGH-Z when the enable line (/OE) is high and enabled
- ;when the enable line (/OE) is low. The counter is
- ;cleared (all lows) if CLR=HIGH.
-
- CHIP 10BitCount PAL20RS10
-
- CLK /SET NC CNT NC /CLR NC NC NC NC NC GND
- /OE Q5 Q3 Q6 Q2 Q7 Q1 Q8 Q0 Q9 Q4 VCC
-
- EQUATIONS
-
- /Q0 := /SET * CNT * /CLR * Q0 ;Toggle
- + /SET * /CNT * /CLR * /Q0 ;Hold
- + CLR ;CLR
-
- /Q1 := /SET * CNT * /CLR * Q0 * Q1 ;Toggle
- + /SET * CNT * /CLR * /Q0 * /Q1 ;Toggle
- + /SET * /CNT * /CLR * /Q1 ;Hold
- + CLR ;CLR
-
- /Q2 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2
- + /SET * CNT * /CLR * /Q0 * /Q2 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q2 ;Toggle
- + /SET * /CNT * /CLR * /Q2 ;Hold
- + CLR ;CLR
-
- /Q3 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3
- + /SET * CNT * /CLR * /Q0 * /Q3 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q3 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q3 ;Toggle
- + /SET * /CNT * /CLR * /Q3 ;Hold
- + CLR ;CLR
-
- /Q4 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4
- + /SET * CNT * /CLR * /Q0 * /Q4 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q4 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q4 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q4 ;Toggle
- + /SET * /CNT * /CLR * /Q4 ;Hold
- + CLR ;CLR
-
- /Q5 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4 * Q5
- + /SET * CNT * /CLR * /Q0 * /Q5 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q5 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q5 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q5 ;Toggle
- + /SET * CNT * /CLR * /Q4 * /Q5 ;Toggle
- + /SET * /CNT * /CLR * /Q5 ;Hold
- + CLR ;CLR
-
- /Q6 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4 * Q5 * Q6
- + /SET * CNT * /CLR * /Q0 * /Q6 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q6 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q6 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q6 ;Toggle
- + /SET * CNT * /CLR * /Q4 * /Q6 ;Toggle
- + /SET * CNT * /CLR * /Q5 * /Q6 ;Toggle
- + /SET * /CNT * /CLR * /Q6 ;Hold
- + CLR ;CLR
-
- /Q7 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4 * Q5 * Q6 * Q7
- + /SET * CNT * /CLR * /Q0 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q4 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q5 * /Q7 ;Toggle
- + /SET * CNT * /CLR * /Q6 * /Q7 ;Toggle
- + /SET * /CNT * /CLR * /Q7 ;Hold
- + CLR ;CLR
-
- /Q8 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4 * Q5 * Q6 * Q7 *
- Q8
- + /SET * CNT * /CLR * /Q0 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q4 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q5 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q6 * /Q8 ;Toggle
- + /SET * CNT * /CLR * /Q7 * /Q8 ;Toggle
- + /SET * /CNT * /CLR * /Q8 ;Hold
- + CLR ;CLR
-
- /Q9 := /SET * CNT * /CLR * Q0 * Q1 * ;Toggle
- Q2 * Q3 * Q4 * Q5 * Q6 * Q7 *
- Q8 * Q9
- + /SET * CNT * /CLR * /Q0 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q1 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q2 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q3 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q4 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q5 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q6 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q7 * /Q9 ;Toggle
- + /SET * CNT * /CLR * /Q8 * /Q9 ;Toggle
- + /SET */CNT * /CLR * /Q9 ;Hold
- + CLR ;CLR
-
-
- SIMULATION
-
- TRACE_ON OE CLK SET CLR CNT Q0 Q1 Q2 Q3
- Q4 Q5 Q6 Q7 Q8 Q9
-
- SETF OE /CLR SET ;Set high all the
- CLOCKF CLK ;registers
-
- SETF CLR ;Clear all the
- CLOCKF CLK ;registers
-
- SETF /SET CNT /CLR ;Start counting
-
- FOR I:= 1 TO 5 DO ;Count for five
- BEGIN ;cycles. At the count
- CLOCKF CLK ;of four check for
- ;four on the output.
- IF I=4 THEN
- BEGIN
- CHECK /Q0 /Q1 Q2
- END
- END
-
- SETF /CNT ;Hold
- CLOCKF CLK
-
- TRACE_OFF
-