Hi,
Thank you for your reply.
I am using 8 bit PIO for my design.I have set it as bidirectional in QSYS.
What I understood from your post is,if I have to write 8 bits from the bus I have to write like this
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+2, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+4, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+6, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+8, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+10, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+12, 0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+14, 0);
IOWR_ALTERA_AVALON_PIO_DATA ( PIO_DATA_BASE , address );
and for reading
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+2, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+4, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+6, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+8, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+10, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+12, 1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+14, 1);
data = IORD_ALTERA_AVALON_PIO_DATA(PIO_DATA_BASE);
am I correct?