Hi wesam,
> Should I interface it to the processor using the avalon bus or can i
> interface to a PIO block that's already interfaced to the avalon bus?
I started a design using a PIO for address, a PIO for control, and a PIO for
data. I quickly changed my mind once I started writing the device driver
code -- it was much more time-efficient (and MIPS efficient) to just write a
simple avalon interface. Later, I decided I needed DMA support ... and it
basically came "for free" since I already had the avalon interface.
In general, if you're doing more than just twiddling a few bits, you should
consider the avalon interface. One way or another, you'll end up writing the
interface logic anyway-- whether it's in an HDL or in C ... but the HDL
strategy comes with some built-in "freebies" ;-)
Regards,
--Scott