Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
12748 Discussions

IORD_16DIRECT causes 2 reads on a 16-bit data bus

Altera_Forum
Honored Contributor II
1,547 Views

A 16-bit write quite rightly performs a single write cycle. A 16-bit read performs two reads, with the next (word) address being read on the second cycle. 

 

Why? Simplification of the bus arbiter?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
595 Views

Hi JasonDiplomat, 

 

I hope you don't mind me tagging a question onto your post, but I also have this problem, but with 8-bit access and was about to start a post. 

 

Using Quartus/Nios V5.0, and a Nios II/e CPU, I have created a component as an 8-bit avalon_tristate_slave in Memory slave mode. 

 

When accessing this component, writes take a single bus cycle, but reads, take 4 consecuive cycles, reading from BASE to BASE + 3.  

 

Simple code example: 

 

volatile alt_u8 Test = 0; 

*(volatile alt_u8*)BPIO_BIDIR_BASE = Test; // Takes 1 bus cycle (as expected) 

Test = *(volatile alt_u8*)BPIO_BIDIR_BASE; // Takes 4 bus cycles (NOT as expected) 

 

This does not seem logical 

Can anyone explain what is going on here?
0 Kudos
Altera_Forum
Honored Contributor II
595 Views

Hello, 

 

Searching the forum with the keywords „dynamic AND bus AND sizing” will help to understand the behaviour. Take the Avalon bus specification as a book with golden rules. 

 

Regards, 

niosIIuser
0 Kudos
Altera_Forum
Honored Contributor II
595 Views

Hi, JasonDiplomat 

I confuesd the same problem, please see create a new componet(avalon tristate) (http://www.niosforum.com/forum/index.php?act=st&f=2&t=1984) POST 2
0 Kudos
Reply