# Programming in WinCupl

#### TheZepic21

Joined Dec 4, 2017
1
Hello guys, I'm having some trouble programming a PAL ATF750C in WinCupl. It's always appearing the same error and I don't know why.
When I try to compilate the file, appears a error message saying: "Excessive number of product terms: RA3, RA2, RA1, CyBwA, OvA.
Can u guys help me with this problem? Thank you

Name Pedro ;
PartNo 00 ;
Date 04/12/2017 ;
Revision 01 ;
Designer Engineer ;
Company CCISEL ;
Assembly None ;
Location ;
Device v750c ;

/* *************** INPUT PINS *********************/
PIN 1 = CyBwi ; /* */
PIN 2 = S1 ; /* */
PIN 3 = S0 ; /* */
PIN 4 = A3 ; /* */
PIN 5 = A2 ; /* */
PIN 6 = A1 ; /* */
PIN 7 = A0 ; /* */
PIN 8 = B3 ; /* */
PIN 9 = B2 ; /* */
PIN 10 = B1 ; /* */
PIN 11 = B0 ; /* */

/* *************** OUTPUT PINS *********************/
PIN 14 = OvA ; /* */
PIN 15 = CyBwA ; /* */
PIN 16 = RA0 ; /* */
PIN 17 = RA1 ; /* */
PIN 18 = RA2 ; /* */
PIN 19 = RA3 ; /* */

/* *************** BODY **************************/

BT0 = B0 $S0; BT1 = B1$ S0;
BT2 = B2 $S0; BT3 = B3$ S0;

C0 = (S1 & CyBwi) $S0; /* ***************** FULL ADDER ****************/ RA0 = C0$ (A0 $BT0); C1 = ((A0 & BT0) # (A0 & C0)) # (BT0 & C0); RA1 = C1$ (A1 $BT1); C2 = ((A1 & BT1) # (A1 & C1)) # (BT1 & C1); RA2 = C2$ (A2 $BT2); C3 = ((A2 & BT2) # (A2 & C2)) # (BT2 & C2); RA3 = C3$ (A3 $BT3); C4 = ((A3 & BT3) # (A3 & C3)) # (BT3 & C3); /* ************** FLAGS **************** */ OvA = C3$ C4;
CyBwA = S0 \$ C4;

#### WBahn

Joined Mar 31, 2012
24,576
It's been along time since I've worked with a PAL (like, three decades), so I'm going from ancient memories.

If I recall, a PAL has very limited logic resources and the number of terms in an expression it can support is similarly very limited.

I'd suggest looking at the data sheet for the part and seeing if you can determine whether your logic can be shoehorned into that part. Perhaps if you rearrange your logic expressions it might still be doable.

#### daz E

Joined Nov 7, 2017
47
Create the equations in the doc file
(Options->Compiler)

then look at the .doc file.
Lets see what your equations are being compiled into.
I would guess that you're using too much memory.