Forum Discussion
Altera_Forum
Honored Contributor
14 years agoIORD 11.0 vs IORD 9.1
Hello, int main()
{
int i;
while(1)
{
i = IORD_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_BASE);
printf("PIO EDGE CAP: %d\n", i);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_BASE, 0x0);
usleep...
Altera_Forum
Honored Contributor
14 years agoFirst thought is that IORD() is a request for a 32bit value, the system will have a 'bus width adapter' that converts the single 32bit read into four 8bit reads - and your avalon slave returns the same value for all 4 bytes.
But that should generate 0x01010101 and 0x08080808. Perhaps there is some address decode going on. You are much better off using 32bit slaves.