home *** CD-ROM | disk | FTP | other *** search
- AUTOMATIC PIN ASSIGNMENT IN PAL22V10
-
- An 8-bit up/down counter requires 16 product terms for Q7, 14 product
- terms for Q6, down to 2 product terms for Q0. On the PAL22V10, the number
- of product terms varies, with 16 on some pins, 14 on others, and so forth.
- The 22V10 is therefore suitable for use as an 8-bit up/down counter, if
- only the pins are assigned properly.
-
- Pin assignment can be done automatically by the PLD compiler on the
- PAL22V10. This example has signals Q[7..0] assigned to the io pins in
- numeric order, without regard to the number of product terms needed or
- available. The configuration statement at the end of the source informs
- the compiler that signals Q[7..0] are unassigned. That is, the pins they
- are attached to are free to be changed. When this is compiled, therefore,
- signals Q[7..0] will be assigned by the compiler according to the number
- of product terms in their equations. The algorithm preserves as many of
- the original pin assignments as possible.
-
- For best results, this should be compiled with inversion off (/i0 on the
- command line).
-
- |PAL22V10 io:Q[7..0], in:(UP, RESET), clock:CLK
- |
- | i=7..1: Q[i] = CLK // RESET' & ( ((Q[i] ## Q[i-1..0]==-1) & UP)
- | # ((Q[i] ## Q[i-1..0]== 0) & UP') )
- |
- | i=0: Q[i] = CLK // RESET' & (Q[i] ## 1)
- |
- | Configuration: "Unassigned", Q[7..0]
- | Reduction 1: Q[7..0]
-
-