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.

Nios II fast pipeline

Altera_Forum
Honored Contributor II
1,563 Views

Hi all, 

 

Is Nios II fast pipeline implemented with data forwarding? 

 

Thanks.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
423 Views

What do you mean ? 

I believe that the 'A' and 'B' fields of all instructions (except call and jmp) cause two 32bit values to be read from the register file during the 'decode' phase (often r0 is read when no value is required). 

Either of these can cause a pipeline stall if the required value was written by a non-ALU instruction. Something must forward the result from the ALU to avoid this stall.
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

dsl, 

 

Thanks a lot for your reply. 

 

I mean, for example, can Nios II fast/standard handle data hazard? Say, to forward a to-be-written register content to an instruction at the decode stage which needs this content to avoid a data hazard. 

 

Hope I clarified my question. 

 

Thanks anyway :)
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

The 'f' certainly has logic somewhere to allow an instructions to use the result of the previous 2 normal ALU instructions without stalling the pipeline. 

Since there aren't enough clock edges to do a write/read pair, some form of data forwarding must be happening. 

OTOH the docs don't allow the 's' to stall during the decode phase, possibly that can forward the result of all instructions.
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

Thanks a lot. 

 

I have found the answer as well. Data forwarding is possible from E/A/W to D.
0 Kudos
Reply