Programming in WinCupl

Discussion in 'Digital Circuit Design' started by TheZepic21, Dec 4, 2017.

  1. TheZepic21

    Thread Starter New Member

    Dec 4, 2017
    1
    0
    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;
     
  2. WBahn

    Moderator

    Mar 31, 2012
    23,214
    7,001
    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.
     
  3. daz E

    Member

    Nov 7, 2017
    47
    2
    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.
     
Loading...