Using the PIC with Programmable Logic
Related Links
PICPLD

Xilinx Tutorials

Roadmap to Programmable Logic

More Tutorials





 

Programmable logic is great for certain tasks. Then again, microprocessors are great for certain tasks. Why choose? Why not get the best of both worlds by marrying a programmable logic chip and a PIC microprocessor? That's exactly what we've done with our PICPLD kit. We've joined a PIC16F873 and a Xilinx XC9572 CPLD. If you like, you can use nearly any 28-pin PIC chip and you can also replace the XC9572 with an XC95108 for more capacity, if you like.

If you are just starting with programmable logic, you should check out our tutorials first. Once you have an idea about how you can use the CPLD, you are ready to join the PIC and the CPLD to perform real work.

What can you do? That's limited mostly by your imagination. Here's some ideas:

bulletLarge-scale I/O expansion for the PIC (control, for example, 32 outputs)
bulletHigh-speed concurrent PWM
bulletHigh-speed concurrent pulse capture or counting
bulletExternal logic functions (for example, interrupt when any one of several inputs are high)
bulletPriority interrupt controller
bulletAdditional UARTs

Although you can implement a variety of interfaces between the CPLD and the PIC, it is important to keep it simple. After all, every macrocell that you use to talk to the PIC is one less that you can use for whatever task you have in mind. So while you can shoehorn a UART, for example, into one of these CPLDs, it might not leave much room left for other gates. Of course, maybe you wanted to add a UART to the PIC, in which case you don't need many more gates.

Usually, though, you want to communicate between the PIC and other circuitry on the CPLD. That's why we supply lightweight components that you can use to talk to the PIC (and corresponding PIC code).

Next Page