FPGARelated.com
Forums

Nios II = Microblaze

Started by Stifler May 24, 2004
Altera finally wakes up. They realize that the window register type
architecture is not good for FPGAs and probably in general. They can
no longer support their own marketing hype about how great Nios I is.
If Nios 1 was so great, why did it need a complete redesign and
rearchitecture? It means it was poor. That's the only reason you do a
complete redesign. I believe they have switched to 32 bit instructions
also. Didn't it used to be 16 bit? Guess that wasn't so great either.

They copy the Xilinx Microblaze style implementation. To me it shows
who knows what about designing and running a soft processor in an
FPGA. Enough said.

They throw all the current Nios customers under the bus. Requires
publishing a 38 page app note to switch a Nios 1 to Nios II design.
Current Nios users, I feel sorry for you. Be careful and do your back
ups!
"Stifler" <seannstifler69@hotmail.com> wrote in message
news:bf780a06.0405241256.1b6a51e1@posting.google.com...
> Altera finally wakes up. They realize that the window register type > architecture is not good for FPGAs and probably in general. They can > no longer support their own marketing hype about how great Nios I is. > If Nios 1 was so great, why did it need a complete redesign and > rearchitecture? It means it was poor. That's the only reason you do a > complete redesign. I believe they have switched to 32 bit instructions > also. Didn't it used to be 16 bit? Guess that wasn't so great either. > > They copy the Xilinx Microblaze style implementation. To me it shows > who knows what about designing and running a soft processor in an > FPGA. Enough said. > > They throw all the current Nios customers under the bus. Requires > publishing a 38 page app note to switch a Nios 1 to Nios II design. > Current Nios users, I feel sorry for you. Be careful and do your back > ups!
I try not to respond to trolls, but in your case I'll make an exception. You don't know what your talking about! Nios I with SOPC builder is a small fast, flexible processor with great tools. Nios II is even better. It's smaller, faster, and has even better tools. How someone could see such an upgrade as something to feel sorry about is madness. If your car dealer called you up and said come pickup your new replacement car only it looks better, runs faster and gets better mileage, would you turn him down? Try to use some common sense! Ken Land
> I believe they have switched to 32 bit instructions > also. Didn't it used to be 16 bit? Guess that wasn't so great either.
Depends on what you are interested in. If it's code density, then 16-bit instructions are great. NIOS had a significant code size advantage over MicroBlaze. NIOS II doesn't. Perhaps that isn't important, but when you have an instruction cache, good code density can also improve performance (less cache misses). Cheers, JonB
Jon Beniston wrote:

>>I believe they have switched to 32 bit instructions >>also. Didn't it used to be 16 bit? Guess that wasn't so great either. >> >> > >Depends on what you are interested in. If it's code density, then >16-bit instructions are great. NIOS had a significant code size >advantage over MicroBlaze. NIOS II doesn't. Perhaps that isn't >important, but when you have an instruction cache, good code density >can also improve performance (less cache misses). > >
With the few benchmarks that I have done, I didn't see any big savings in the NIOS I code size. I think that most NIOS2 users will see that the code size will not increase that much compared to NIOS1. A 32-bit instruction can do more for each instruction than a 16-bit instruction and a 16-bit ISA also have problems with immediate values. So the code size is very application dependent but you will not see a "significant" difference.
>Cheers, >JonB > >
> "Stifler" <seannstifler69@hotmail.com> wrote in message > news:bf780a06.0405241256.1b6a51e1@posting.google.com... > > Altera finally wakes up. They realize that the window register type > > architecture is not good. They can no longer support their own marketing > > If Nios 1 was so great, why did it need a complete redesign and > > rearchitecture? It means it was poor. That's the only reason you do a > > complete redesign. I believe they have switched to 32 bit instructions > > also. Didn't it used to be 16 bit? Guess that wasn't so great either.
Other user said:
> Nios I with SOPC builder is a small fast, flexible processor with great > tools. Nios II is even better. It's smaller, faster, and has even better > tools.
Both can have good share in the market. For my own purposes it is more probable that i would use Nios than MicroBlaze. In Microblaze there is no way to add your own custom instructions. It is not an extensible processor but just provides the means to add peripherals to a small SoC. Correct me if i am wrong. I just hope that the tools (assembler, simulator, debugger) can be retargeted for the new ISA. Or be able to use inline assembly with the new instructions. The corresponding hardware should be built by some RTL description i would give. Since customization is out of the issue, no Microblaze for me. Uncle "The G.B. Man" Noah
This is a multi-part message in MIME format.
--------------040105020401030703060100
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Have you looked at the FSL interface on MicroBlaze?
It will allow you to create custom functions which can be more powerful 
than custom instructions.

G&#4294967295;ran

Uncle Noah wrote:

>>"Stifler" <seannstifler69@hotmail.com> wrote in message >>news:bf780a06.0405241256.1b6a51e1@posting.google.com... >> >> >>>Altera finally wakes up. They realize that the window register type >>>architecture is not good. They can no longer support their own marketing >>>If Nios 1 was so great, why did it need a complete redesign and >>>rearchitecture? It means it was poor. That's the only reason you do a >>>complete redesign. I believe they have switched to 32 bit instructions >>>also. Didn't it used to be 16 bit? Guess that wasn't so great either. >>> >>> > >Other user said: > > >>Nios I with SOPC builder is a small fast, flexible processor with great >>tools. Nios II is even better. It's smaller, faster, and has even better >>tools. >> >> > >Both can have good share in the market. For my own purposes it is more >probable that i would use Nios than MicroBlaze. > >In Microblaze there is no way to add your own custom instructions. It >is not an extensible processor but just provides the means to add >peripherals to a small SoC. Correct me if i am wrong. I just hope that >the tools (assembler, simulator, debugger) can be retargeted for the >new ISA. Or be able to use inline assembly with the new instructions. >The corresponding hardware should be built by some RTL description i >would give. > >Since customization is out of the issue, no Microblaze for me. > >Uncle "The G.B. Man" Noah > >
--------------040105020401030703060100 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> Have you looked at the FSL interface on MicroBlaze?<br> It will allow you to create custom functions which can be more powerful than custom instructions.<br> <br> G&ouml;ran<br> <br> Uncle Noah wrote:<br> <blockquote type="cite" cite="midb7a879e0.0405250238.11caeb7f@posting.google.com"> <blockquote type="cite"> <pre wrap="">"Stifler" <a class="moz-txt-link-rfc2396E" href="mailto:seannstifler69@hotmail.com">&lt;seannstifler69@hotmail.com&gt;</a> wrote in message <a class="moz-txt-link-freetext" href="news:bf780a06.0405241256.1b6a51e1@posting.google.com">news:bf780a06.0405241256.1b6a51e1@posting.google.com</a>... </pre> <blockquote type="cite"> <pre wrap="">Altera finally wakes up. They realize that the window register type architecture is not good. They can no longer support their own marketing If Nios 1 was so great, why did it need a complete redesign and rearchitecture? It means it was poor. That's the only reason you do a complete redesign. I believe they have switched to 32 bit instructions also. Didn't it used to be 16 bit? Guess that wasn't so great either. </pre> </blockquote> </blockquote> <pre wrap=""><!----> Other user said: </pre> <blockquote type="cite"> <pre wrap="">Nios I with SOPC builder is a small fast, flexible processor with great tools. Nios II is even better. It's smaller, faster, and has even better tools. </pre> </blockquote> <pre wrap=""><!----> Both can have good share in the market. For my own purposes it is more probable that i would use Nios than MicroBlaze. In Microblaze there is no way to add your own custom instructions. It is not an extensible processor but just provides the means to add peripherals to a small SoC. Correct me if i am wrong. I just hope that the tools (assembler, simulator, debugger) can be retargeted for the new ISA. Or be able to use inline assembly with the new instructions. The corresponding hardware should be built by some RTL description i would give. Since customization is out of the issue, no Microblaze for me. Uncle "The G.B. Man" Noah </pre> </blockquote> </body> </html> --------------040105020401030703060100--
> With the few benchmarks that I have done, I didn't see any big savings > in the NIOS I code size.
Here's a few results for you: Dhrystone 0.873552983 JPEG 0.651083295 g726 0.781745341 g711 0.724035608 GSM 0.74610231 AES 0.659236641 TCP/IP 0.638751451 bzip2 0.812246882 I.e. NIOS is on average 25% smaller than Microblaze. Note: I have taken into account the size of crt0 etc. etc..
> I think that most NIOS2 users will see that the code size will not > increase that much compared to NIOS1.
They will lose that 25%. Maybe it isn't important.
> A 32-bit instruction can do more for each instruction than a 16-bit > instruction
Sure, but not all the time.
> and a 16-bit ISA also have problems with immediate values.
I don't know what you mean by problems, but yes, a 16-bit instruction doesn't have as large a range for immediates as a 32-bit instruction. NIOS got around this with their prefix instruction. They just happend to lose out on performance as they didn't choose to decode a prefix and the subsequent instruction in parallel.
> So the code size is very application dependent but you will not see a > "significant" difference.
Well, 25% seems significant to me. I don't want to come accross as some NIOS fanboy, because I'm not. It's just those are the facts as I seem them. Cheers, Jon
> In Microblaze there is no way to add your own custom instructions. It > is not an extensible processor but just provides the means to add > peripherals to a small SoC. Correct me if i am wrong. I just hope that > the tools (assembler, simulator, debugger) can be retargeted for the > new ISA. Or be able to use inline assembly with the new instructions. > The corresponding hardware should be built by some RTL description i > would give.
Is anyone actually doing this? Cheers, JonB

Jon Beniston wrote:

>>With the few benchmarks that I have done, I didn't see any big savings >>in the NIOS I code size. >> >> > >Here's a few results for you: > >Dhrystone 0.873552983 >JPEG 0.651083295 >g726 0.781745341 >g711 0.724035608 >GSM 0.74610231 >AES 0.659236641 >TCP/IP 0.638751451 >bzip2 0.812246882 > >I.e. NIOS is on average 25% smaller than Microblaze. Note: I have >taken into account the size of crt0 etc. etc.. > >
Is this with the register window enable or with the mflat option? If you add the data into the sizes, the percentage will be even smaller. For a lot of the application, the data size is normally larger than the code size. The only benefit of smaller application size (code and data) is that you might get away with smaller memories.
> > >>I think that most NIOS2 users will see that the code size will not >>increase that much compared to NIOS1. >> >> > > > >They will lose that 25%. Maybe it isn't important. >
Normally not.
> > > >>A 32-bit instruction can do more for each instruction than a 16-bit >>instruction >> >> > >Sure, but not all the time. >
But most of the time.
> > > >>and a 16-bit ISA also have problems with immediate values. >> >> > >I don't know what you mean by problems, but yes, a 16-bit instruction >doesn't have as large a range for immediates as a 32-bit instruction. >NIOS got around this with their prefix instruction. They just happend >to lose out on performance as they didn't choose to decode a prefix >and the subsequent instruction in parallel. >
Which mean that you will need two 16-bit instructions instead of one 32-bit instruction. Which is then the same size. If you look at the NIOS code, you will find a lot of the PFX instructions.
> > > >>So the code size is very application dependent but you will not see a >>"significant" difference. >> >> > >Well, 25% seems significant to me. > >I don't want to come accross as some NIOS fanboy, because I'm not. >It's just those are the facts as I seem them. > > >Cheers, >Jon >
G&#4294967295;ran
Uncle Noah wrote:

> In Microblaze there is no way to add your own custom instructions. It > is not an extensible processor but just provides the means to add > peripherals to a small SoC. Correct me if i am wrong. I just hope that > the tools (assembler, simulator, debugger) can be retargeted for the > new ISA. Or be able to use inline assembly with the new instructions. > The corresponding hardware should be built by some RTL description i > would give.
Sorry, but I think that "custom instructions" are the worst idea. Than you have to update (with new versions/revisions) not only your design, but also the whole toolchain ? (assembler/linker/cc ?) And there is still tha chance, that the whole CPU slows down, because of your new instruction, so you even loose, not gaining anything :( Much simpler to access a "accelarator" memory mapped, or as a peripheral, or whatever interface you have for it.